If you are not running Red Hat, or you need further help, read the appropriate section in the LDP Linux PPP HOWTO
You should be able to hear your modem dialing the number and
"handshaking" with the modem at the other end. If it is an external
modem you should see the lights changing.
If you get nowhere with ppp, here are some things to try:
This system lacks kernel support for PPP. This could be because the PPP kernel module is not loaded, or because the kernel is not configured for PPP. See the README.linux file in the ppp-2.3.5 distribution.
It has been known for this message to be displayed because of errors in PPP configuration files, not because of kernel problems. If the following information in this section leads you to believe the kernel is not at fault, double-check the configuration files.
As mentioned in the introduction, your kernel must either have support for ppp compiled directly into it, or available as a loadable module. The output from the dmesg command should contain lines like this...
PPP: version 2.2.0 (dynamic channel allocation) PPP Dynamic channel allocation code copyright 1995 Caldera, Inc. PPP line discipline registered.These are lines from an old kernel (that supports PPP as a loadable module) which I used for this section. Your version number may be higher.
If your kernel supports PPP as a loadable module, problems might occur if for some reason the module isn't being loaded when required. Try
dmesg | grep kerneldto see if kerneld (the daemon responsible for automatically loading kernel modules when they are required) is running.
The original version of this HOWTO was written when I was running Red Hat 5.2. I'm now running Red Hat 6.0 and the above command produces no output, despite the fact that the pppd module is successfully loaded. It looks like kerneld is just fired up when needed. I'll add more to this section when I work out what's going on. Meanwhile if you're having problems with Red Hat 6.0, follow the notes below anyway - it can't hurt!
If kerneld is running, look at the file /etc/conf.modules (it might be called modules.conf on your system). This might be a zero-length file, which is no problem, however if it contains a line like
alias ppp0 offit means that the PPP module is explicitly turned off. Remove this line, reboot your computer and try
/lib/modules/preferred/net/ppp.o
If you can't find any problems with kerneld (or kmod) you could try loading the PPP module manually. Before proceeding, it might be a good idea to read the man pages for lsmod, insmod and modprobe. If your kernel doesn't support modules it is probably quite an old version. You may be able to get ppp working by compiling a kernel and including support for ppp directly into it. Updating to the latest version of the kernel wouldn't be a bad idea either.
First, see if the ppp module is loaded:
root 1> lsmod
Module Pages Used by nls_cp437 1 1 (autoclean) vfat 4 1 (autoclean)Looks like it isn't there. Check to see if there is a ppp module on your computer using the modprobe -l command described above.
/lib/modules/preferred/net/ppp.o: unresolved symbol slhc_free_R3787e5b9 /lib/modules/preferred/net/ppp.o: unresolved symbol slhc_remember_Rbc0f8a5e /lib/modules/preferred/net/ppp.o: unresolved symbol slhc_toss_R89ec95b6 /lib/modules/preferred/net/ppp.o: unresolved symbol slhc_uncompress_Ra2ca7e04 /lib/modules/preferred/net/ppp.o: unresolved symbol slhc_compress_R5d6838a9 /lib/modules/preferred/net/ppp.o: unresolved symbol slhc_init_R20741a64This says it can't load the ppp module because that module calls some external functions which aren't available. Since the names of these functions all start with slhc, let's see if there's an slhc module...
/lib/modules/preferred/net/slhc.oGood. Load it.
Module Pages Used by ppp 5 0 slhc 2 [ppp] 0 nls_cp437 1 1 (autoclean) vfat 4 1 (autoclean)Now you should be able to connect...
The most common cause is that your connection script hasn't successfully dialled out to the remote system and invoked ppp service there. Instead, pppd is talking to something (a shell or login process on the remote machine, or maybe just the modem) which is only outputting 7-bit characters.
This can also arise with a modem which uses an AT command set if the dial command is issued before pppd is invoked, rather than within a connect script started by pppd. If the serial port is set to 7 bits/character plus parity when the last AT command is issued, the modem serial port will be set to the same setting.
ping leonardresponds with
PING leonard (150.203.2.15): 56 data bytes ping: sendto: Network is unreachable ping: wrote leonard 64 chars, ret=-1 ping: sendto: Network is unreachable ping: wrote leonard 64 chars, ret=-1 ping: sendto: Network is unreachable ping: wrote leonard 64 chars, ret=-1 --- leonard ping statistics --- 3 packets transmitted, 0 packets received, 100% packet lossSolution: You probably forgot to add defaultroute to /etc/peers/ozemail
Here is an example of what happens if you have an auth line in /etc/ppp/options and no noauth line in /etc/ppp/peers/ozemail. This actually happened to me when I tried using netcfg but had not removed the auth line from options. (I have deleted the date and hostname, and inserted line numbers...)
1 pppd[716]: Using interface ppp0 2 pppd[716]: Connect: ppp0 <--> /dev/modem 3 pppd[716]: sent [LCP ConfReq id=0x1 <auth pap> <magic 0xca8ba992> <pcomp> <accomp>] 4 pppd[716]: rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth pap> <magic 0x5b3862a8> <pcomp> <accomp>] 5 pppd[716]: sent [LCP ConfAck id=0x1 <asyncmap 0x0> <auth pap> <magic 0x5b3862a8> <pcomp> <accomp>] 6 pppd[716]: sent [LCP ConfReq id=0x1 <auth pap> <magic 0xca8ba992> <pcomp> <accomp>] 7 pppd[716]: rcvd [LCP ConfAck id=0x1 <auth pap> <magic 0xca8ba992> <pcomp> <accomp>] 8 pppd[716]: sent [PAP AuthReq id=0x1 user="amcbeal" password="ca1op3x"] 9 pppd[716]: rcvd [PAP AuthReq id=0x2 user="" password=""] 10 pppd[716]: PAP authentication failure for 11 pppd[716]: sent [PAP AuthNak id=0x2 "Login incorrect"] 12 pppd[716]: sent [LCP TermReq id=0x2 "Authentication failed"] 13 pppd[716]: rcvd [PAP AuthReq id=0x3 user="" password=""] 14 pppd[716]: rcvd [LCP TermAck id=0x2] 15 pppd[716]: Connection terminated. 16 pppd[716]: Exit.Line 8 is fine. You are sending your username and password to the remote system and asking to be authenticated.
In case there is any confusion, the auth line in /etc/ppp/options forces the remote system to try and authenticate itself to you. It does not tell your system to authenticate itself to the remote system.
pppd[433]: Using interface ppp0 pppd[433]: Connect: ppp0 <--> /dev/modem pppd[433]: sent [LCP ConfReq id=0x1 <magic 0x9a413654> <pcomp> <accomp>] pppd[433]: rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <auth pap> <magic 0x66aefffb> <pcomp> <accomp>] pppd[433]: sent [LCP ConfRej id=0x1 <auth pap>] pppd[433]: rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <auth pap> <magic 0x66aefffb> <pcomp> <accomp>] pppd[433]: sent [LCP ConfRej id=0x2 <auth pap>] pppd[433]: rcvd [LCP ConfReq id=0x3 <asyncmap 0x0> <auth pap> <magic 0x66aefffb> <pcomp> <accomp>] pppd[433]: sent [LCP ConfRej id=0x3 <auth pap>] pppd[433]: rcvd [LCP ConfReq id=0x4 <asyncmap 0x0> <auth pap> <magic 0x66aefffb> <pcomp> <accomp>] pppd[433]: sent [LCP ConfRej id=0x4 <auth pap>] pppd[433]: rcvd [LCP ConfReq id=0x5 <asyncmap 0x0> <auth pap> <magic 0x66aefffb> <pcomp> <accomp>] pppd[433]: sent [LCP ConfRej id=0x5 <auth pap>] pppd[433]: rcvd [LCP ConfReq id=0x6 <asyncmap 0x0> <auth pap> <magic 0x66aefffb> <pcomp> <accomp>] pppd[433]: sent [LCP ConfRej id=0x6 <auth pap>] pppd[433]: rcvd [LCP ConfReq id=0x7 <asyncmap 0x0> <auth pap> <magic 0x66aefffb> <pcomp> <accomp>]As you can see, the remote system is continually sending a configuration request and we are continually rejecting it, in other words telling it that we are not prepared to authenticate ourselves using PAP. If you have pppd debugging turned on these error messages continue forever until you force the modem to hangup. (Click on the Deactivate button. If that doesn't work, pull the phone plug!) You can see the disk light flashing as the messages are continually written to the log file, gradually filling up your disk.
Check the /etc/sysconfig/network-scripts/ifcfg-ppp0 file. If the PAPNAME= line contains no username, this is the problem. Change it to
PAPNAME=amcbeaalsubstituting your own username.