Subject: Re: pppd not exiting on hangup
To: None <port-i386@netbsd.org>
From: Frederick Bruckman <fb@enteract.com>
List: port-i386
Date: 08/24/1998 10:41:34
On 24 Aug 1998, Heiko W.Rupp wrote:

> John Nemeth wrote:
> |past, even on NetBSD 1.3.0.  But, now I'm having the problem that pppd
> |doesn't always exit when the call gets dropped like it should.  I'm
> 
> Do you have 'persist' in your pppd config file?

Wouldn't 'local' do the same thing? OTH, if the modem is getting hung, the
modem control lines could be unreliable, so even removing 'local' wouldn't
help. Something like this might be more robust.

idle 801                # idle timeout value, in seconds
lcp-echo-failure 10
lcp-echo-interval 50

The 'idle' hangs up on clients who take too long. The other two only come
into play in abnormal cases.

That will kill ppp regardless, but if the modem is still out to lunch,
more drastic action is necessary. I've seen modems get in a state such
that they won't answer the phone, even though they will respond to host
commands. If that's the case, yours might respond to a 'disconnect'
script. I use this simple chat script on my Mac (on which the modem is set
to ignore DTR).

REPORT  NO\sCARRIER
ABORT   NO\sCARRIER
''      +++\c
OK-+++\c-''     AT
OK-AT-OK        ATH

With the above numbers, pppd should finally hang up about 10 minutes after
an aborted connect, worst case. You mileage may vary. If that doesn't
work, perhaps

disconnect "shutdown -r +1"

in your options file would do it for sure.