Big Linux PPP (and diald) problems (with Demon at least)

Piercarlo Grandi (piercarl@sabi.demon.co.uk)
09 Jun 1996 03:06:14 +0100


The following message is a courtesy copy of an article
that has been posted as well.

I am using the latest pre2.0.* kernel releases of Linux, with
diald-0.14, net-tools-1.32-alpha, ppp-2.2.0f, libc-5.4.1, etc., and
accessing demon with ppp via the 0645 number.

I have a number of rather annoying problems with this setup...

1 For some reason diald issues a 'route' command that fails, even if this
does not seem to cause functional problems.

2 For some reason 'pppd' issues rather frequently several hundred
consecutive calls of the 'PPPIOCGIDLE' 'ioctl'.

3 On almost every connection, after a few minutes the PPP daemon
terminates the connection, but the link stays up, until 'pppd' kills
itself, and then 'diald' reconnects. This seems to be because 'pppd'
sends a TermReq, and I cannot imagine why. After this happens, I
occasionally see the kernel give the "socket destroy delayed" message

These problems are relatively recent, and did not exist with older
kernel versions, and older versions of 'pppd'.

I have tried to set the 'idle-disconnect' parameter both to zero and one
hour, to no change, and I have tried to set also the 'lcp-echo-*'
parameters, also to no change. I have set '-bsdcomp' just to make
sure. I have been tempted to set the 'persist' option but that seems
just a fixup: the problem is why the PPP connection goes down.

Here is the beginning of my diald file:

retry-count 8
died-retry-count 8
redial-timeout 5

mode ppp
mtu 1524
remote 158.152.1.222
dynamic

local 158.152.42.79
netmask 255.255.0.0

defaultroute

lock
modem
crtscts
speed 38400

connect "exec /sbin/chat -f /etc/dial/demon.chat"
connect-timeout 60

Here is the contents of my '/etc/ppp/options':

mtu 1524
mru 1524

asyncmap 200A2001
escape 00,0D,11,13,FF

-bsdcomp

lcp-echo-interval 5
lcp-echo-failure 3

idle-disconnect 3600

Here are syslog entries that demonstrate all three problems, in the same
order:

Jun 8 16:08:07 sabi diald[981]: Nonzero exit status (7) on command '/sbin/route add default gw 158.152.1.222 metric 2000 dev sl0'
[ ... ]
Jun 8 16:11:42 sabi kernel: ty_ioctl: read demand dial info
Jun 8 16:11:42 sabi kernel: ppp_tty_ioctl: read demand dial info
Jun 8 16:11:42 sabi last message repeated 30 times
Jun 8 16:11:42 sabi pppd[1481]: sent [LCP EchoReq id=0x15 e9 c5 b0 75]
Jun 8 16:11:42 sabi kernel: ppp_tty_ioctl: read demand dial info
Jun 8 16:11:43 sabi last message repeated 173 times
Jun 8 16:11:43 sabi kernel: ppp_dev_xmit_lower: fcs is f9f2
[ ... ]
Jun 8 16:11:52 sabi pppd[1481]: sent [LCP EchoReq id=0x17 e9 c5 b0 75]
Jun 8 16:11:53 sabi kernel: ppp_dev_xmit [ppp0]: skb 00a02eac
Jun 8 16:11:53 sabi kernel: ppp_dev_xmit: writing 82 chars
Jun 8 16:11:53 sabi kernel: ppp_dev_xmit_lower: fcs is 8252
Jun 8 16:11:57 sabi kernel: ppp: channel ppp0 going down for IP packets!
Jun 8 16:11:57 sabi kernel: ppp: channel ppp0 mtu = 1500, mru = 1500
Jun 8 16:11:57 sabi kernel: ppp_dev_xmit: writing 18 chars
Jun 8 16:11:57 sabi kernel: ppp_dev_xmit_lower: fcs is 2859
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: get flags: addr bffff1a4 flags f000047
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: get flags: addr bffff1b8 flags f000054
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: get flags: addr bffff1e4 flags f000044
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: read demand dial info
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: set flags to f010014
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: set flags to f010044
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: set flags to f010054
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: set mru to 5dc
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: set rcv asyncmap 0
Jun 8 16:11:57 sabi kernel: ppp_tty_ioctl: set xmit asyncmap ffffffff
Jun 8 16:11:57 sabi kernel: ppp_tty_read: called buf=0805b5c2 nr=1504
Jun 8 16:11:57 sabi kernel: ppp_tty_read: no data (EAGAIN)
Jun 8 16:11:57 sabi pppd[1481]: sent [LCP TermReq id=0x2]
Jun 8 16:11:58 sabi kernel: ppp_tty_read: called buf=0805b5c2 nr=1504
Jun 8 16:11:58 sabi kernel: ppp_tty_read: no data (EAGAIN)
Jun 8 16:12:00 sabi kernel: ppp_dev_xmit: writing 18 chars
Jun 8 16:12:00 sabi kernel: ppp_dev_xmit_lower: fcs is 7285
Jun 8 16:12:00 sabi kernel: ppp_tty_read: called buf=0805b5c2 nr=1504
Jun 8 16:12:00 sabi kernel: ppp_tty_read: no data (EAGAIN)
Jun 8 16:12:00 sabi pppd[1481]: sent [LCP TermReq id=0x3]
Jun 8 16:12:02 sabi diald[981]: PPP network layer died, but link did not. Probable configuration error.
Jun 8 16:12:02 sabi kernel: ppp_tty_ioctl: read demand dial info
Jun 8 16:12:02 sabi kernel: ppp_tty_read: called buf=0805b5c2 nr=1504
Jun 8 16:12:02 sabi kernel: ppp_tty_read: no data (EAGAIN)
Jun 8 16:12:03 sabi kernel: ppp_tty_ioctl: get debug level 1
Jun 8 16:12:03 sabi kernel: ppp_tty_ioctl: get flags: addr bffff290 flags f000014
Jun 8 16:12:03 sabi kernel: ppp_tty_ioctl: set flags to f000014
Jun 8 16:12:03 sabi kernel: ppp_tty_read: called buf=0805b5c2 nr=1504
Jun 8 16:12:03 sabi kernel: ppp_tty_read: no data (EAGAIN)
Jun 8 16:12:04 sabi pppd[1481]: Exit.