Installing and Administering PPP

136 Chapter 6
Troubleshooting pppd
Scenario: pppd dials, the modems connect, the modem data lights flash briefly, and
then the log file shows ’Hangup’ or ’SIGHUP.
Solution: Increase pppd’s debug level to 2 (chat script processing) to see if any
error messages are printed by the peer at startup. ’Login incorrect’
indicates that the login and/or password in the calling machine’s
Systems file don’t match those in the answering machine’s passwd file.
’etc/ppp/Login:Permission denied’ indicates a file protection problem with
the login shell script. ’/usr/etc/pppd: Permission denied’ indicates that
the PPP user account cannot execute the daemon, probably because the
user account is not in the ’ppp’ group that owns the daemon, while the
daemon is mode 4750 for security reasons.
Scenario: pppd dials out, the modems connect, the log file says ’Call succeeded,’ but
ps shows pppds state to be ’connecting’ until the modems disconnect
about a minute later.
Solution: Check the log file for messages indicating negotiation problems.
Increase pppd’s debugging level to 2 (input framing errors). Look in the
pppd.log file for warnings indicating damaged messages, such as ’Bad
FCS received,’ ’Frame too long,’ or ’Missed ALLSTATIONS.
Increase pppd’s debugging level to 9 (show all characters read or
written) to see if the peer is sending anything at all. PPP messages
should initially look like 7E FF 7D 23 ... 7E. Look for corrupted
characters (for example, 7F instead of FF) or other parity bit problems.
Scenario: PPP connects, and the user can ping the other end, but cannot use telnet,
rlogin, or ftp.
Solution: Check the log file for any messages indicating negotiation problems.
Increase pppd’s debugging level to 2 (input framing errors). Look in the
pppd.log file for warnings indicating damaged messages, such as ’Bad
FCS received,’ ’Frame too long,’ or ’Missed ALLSTATIONS,’ ’Bad
protocol,’ or ’Short frame received.
Increase pppds debugging level to 6 (IP message summary). When telnet
is started, make sure a TCP packet is sent. A TCP packet should be
received in response.