1. pinstall.sh: Insert the following statement between the two "echo alias" lines (since it applies to the first alias only):
This will cause slamr to always be loaded correctly during boot-up, unless modprobe.conf gets damaged.echo "install slamr modprobe --ignore-install ungrab-winmodem ; modprobe --ignore-install slamr" >> /etc/modprobe.conf
2. /etc/rc.d/rc.network:
a. Insert the following statement between the two "echo alias" lines:
b. Move the "fi" preceding the "#v2.01 bug" line to immediately follow the "sleep 1" line. Then indent the modprobe and sleep lines, to reflect their inclusion under the "if". This will reload the modules only if modprobe.conf got changed to leave out the SL-specific lines; if the lines are there, the driver will always load correctly at boot-up.echo "install slamr modprobe --ignore-install ungrab-winmodem ; modprobe --ignore-install slamr" >> /etc/modprobe.conf
c. Insert the following line before the the modprobe of ungrab-winmodem:
3. /usr/sbin/modem-wizard (case 21):rmmod slamr #unload for ungrab, in case slamr misloaded as serial driver.
a. Delete the first two lines (lsmod & if) and the corresponding "fi" line. The test is no longer valid, since slamr would not be loaded if using a USB modem or might be mis-loaded as a serial driver.
b. Move the remaining lines up to but EXcluding "#need to choose country..." to follow the "else" that precedes "#start slmodemd...". This ensures that nothing is changed until the country and modem type are selected, so the user can reconsider before any change is made.
c. Insert the following line before the the modprobe of ungrab-winmodem:
d. (Unrelated) Reconcile a coding inconsistency in generating the slmodemd script. Although the code implies that the script is to contain two lines, the second line actually replaces the first. However, the script seems to work without the first line.rmmod slamr #unload for ungrab, in case slamr misloaded as serial driver.
The remaining issue, for which I have only a workaround, is that if the PCI SL modem is actually used in a dialup call, a subsequent software reboot will hang while initializing the modem. EDIT: Actually, it hangs even without using a dialer. (End edit) The workaround is to instead select "Power-off computer" and then hardware-restart with either the power or reset button.
A note to those needing to fix v2.01 themselves: (edit)Entering the new line given for pinstal.sh, at the command line, once, (/edit) alone, should be enough to have the PCI modem work correctly after a reboot.
Performance note: With the complete fix, the SL driver can be installed, the modem wizard run to set up ttySL0, and then gkdial will connect successfully, all without a reboot!
Thanks again, Barry, for using my research efforts to get these PCI winmodems working in Puppy2. (BTW, the USB version does work in v2.01.)
Richard