Troubleshooting ISP Connection Problemsby Bill Unruh
Unfortunately there is no one standard procedure for logging on to an ISP. Although each ISP uses a slightly different variation, the following procedure steps through various possibilities to help you discover what your ISP wants. Note that your ISP may have been "creative" and found some other way to confuse the users. This technique should still help you figure out what your ISP really wants.
In a separate window set up a running tally of the entries to the log file with
tail -f /var/log/ppp
This will report what is logged to the
/var/log/ppp file. It sometimes scrolls by too fast to see, so use the window bar to scroll back through the output. We are now going to systematically go through the options to find out what your ISP wants.
During these experiments you may occasionally find that
pppd has not died, or that you want to kill it. Just enter
to kill it. Occasionally
pppdwill leave a lock file behind if it has been killed. If this is the case, do the following
ttyS1 with whichever serial port your modem uses.
First run (all on one line):
/usr/sbin/pppd /dev/ttyS1 57600 debug connect "/usr/sbin/chat -v '' AT OK ATD5555555 CONNECT '\d\c'"
Note: That is a doubled apostrophe
' after the
chat -v, not a single double quote mark
This will not produce a PPP connection, but it should dial your phone, where
5555555 is replaced with your ISP's phone number. Note that I use 57,600 as a conservative option for modem speed. If you are on a sufficiently fast system, and you have a new 56-Kbps or 33.6-Kbps modem, this should almost certainly be changed to 115,200. However, I will stay conservative here to make sure it is not modem speed problems that are causing you grief.
If it does not dial your phone, then you will have to figure out which port your modem is on, and perhaps send your modem an initialization string. For example, to tell most modems to reset themselves to factory default, do the following instead, again all on one line
/usr/sbin/pppd /dev/ttyS1 57600 debug connect "/usr/sbin/chat -v
'' 'AT&F0' OK ATD5555555 CONNECT
You can add anything else you need to send to the modem either instead of the
&F0 or after it.
http://www.56k.com/inits/ contains modem initialization strings for a large variety of modems.
If there is a significant length of time between the log entry for the "send AT" and "expect OK" lines, and the resulting "got it" in the
/var/log/ppp file, the modem is using a different interrupt line (IRQ) than the kernel is expecting. Try using the
setserial command as follows:
setserial /dev/ttyS1 autoconfig auto_irq
If this corrects the problem, put that line into
/etc/rc.d/rc.local or ...
Although the man page and the
setserial usage blurb state that the parameter is
autoconfigure, the program actually uses
autoconfig instead -- one of Linux's charms. (Thanks to M. Cook for pointing this out.)