If a pupdial user checks the Stupid Mode box or unchecks the Auto Reconnect box for Account 1, those changes are not retained across dialup connections or for a subsequent pupdial session. This problem was introduced during 3G-wireless implementation and is easily fixed.
An ongoing concern regarding the wireless modem support has been that at least one ISP requires addition of a dialer command to permit connection. This forces the user to edit a file within the dialup structure, which should not be required of new users. In particular, VirginBroadband aborts a connection if the "chap" form of authentication is attempted. Forum member 01micko finds that adding "-chap" to the /etc/ppp/options file prevents the attempt and allows connection to that ISP.
I have added a simple, generic fix that adds the content of a file named for the ISP (matching the APN) to the wvdial files as it is copied to /etc/ppp/peers for each connection. The particular file resides in /etc/wvdial_options. Users who discover a need for a special dialer command can add an appropriate file to that directory. This implementation associates the use of the command to each account.
Thanks to 01micko's reporting of both issues, I attach a fixed pupdial and the new file for VirginBroadband, as well as difference files. Thanks, too, to gyro for raising the checkbox issue. I did not change the Reconnect default, but will wait to hear objections first and can update the attachment (to -2).
UPDATE 9/24/09: I have replaced the fix dotpet with better ones. Both dotpets have a more thorough implementation of the bug fix. Because the lines handled by that code are mainly entered by the user, the code ensures that the lines are entered only in the account sections of wvdial.conf and ignores such lines entered elsewhere in wvdial.conf.
The APN-specific option remains, except that the VirginBroadband entry is not to be included in puppy, instead being supplied by the user (who would know when the option may no longer be required). But the dotpet does create the file when the dotpet is installed.
To address purple_ghost's concern about Auto Reconnect being abused to keep a connection during long idle periods, I added support for a possible user-entered line: "Idle Seconds", which times out after a specified period of inactivity. I also added that item to the wvdial.conf help information accessible from pupdial. This allows protection from inadvertent wastage of connect time and cost, but also disables auto-reconnect. Setting this would prevent a customer from accumulating excessive connect times. However, the Auto Reconnect setting is not unchecked when reconnect is disabled. I am reluctant to change the default setting of Auto Reconnect, as I feel that is Barry's decision to make. But now turning it off (or having it disabled) yields the benefit of protection from runaway connect charges. (I originally hoped that "Idle Seconds" would leave auto-reconnect active, but that is not the case.)
The (-1) bugfix-only dotpet is provided in case Barry declines to accept anything beyond the serious bug fix for 4.3.1, although I hope he will consider taking the modest refinements, too.
He posted this PET package:
...as well as an upgrade for the 'pupdial' script, a documentation file also had to be changed in the 'wvdial' PET package.
Comments:Posted on 8 Oct 2009, 11:16 by downsouth
I've set a relative on Virgin (mobile) BBand using pgprs, not pupdial, by running 'defaultconnect' via 'delayedrun', after a 5 second sleep. Aside from the rxvt box (which I reduced & lowered), it's fine. That is in pup4.2.1, after running firewall & pgprs setup initially.