Infinite connection loop

Sven Schwermer sven at svenschwermer.de
Fri Oct 26 11:11:25 UTC 2018


Hi Aleksander,

Great to hear your input on the issue, thank you!

I have some preliminary positive results with the connection status check disabled. I would like to understand the consequences of this change though. Are there scenarios where pppd wouldn’t detect the disconnection? In other words: Why does MM need to poll the connectivity anyways?

>> 1. After the modem hangs up, the TTY is in a state where ioctls to the TTY return I/O errors. How is pppd supposed restore the termios settings when it’s hung up?
> 
> This is the CLOCAL set/unset that I referred to in the previous email.

Yes, I understand. What I don’t understand is how this can ever work when the TTY is hungup. Any ioctl will always return -EIO when the TTY is hungup: https://github.com/torvalds/linux/blob/master/drivers/tty/tty_io.c#L452 <https://github.com/torvalds/linux/blob/master/drivers/tty/tty_io.c#L452>
So how can we ever restore the CLOCAL when the modem has hung up?

>> 2. NetworkManager doesn’t wait to signal pppd with SIGTERM until pppd is in PHASE_DEAD, even though this should be happening. Ref https://github.com/paulusmack/ppp/issues/6#issuecomment-51176255
> 
> I believe I fixed that in NM a while back.

Yes, I saw your commits and they should be part of my NetworkManager version (1.12.2). Perhaps there is a regression. Or I concluded something wrong. Not sure, but from my traces it looks like pppd gets SIGTERM before PHASE_DEAD is reached.

>> 3. The termios flags present when pppd starts up differ for the debug/non-debug cases: c_iflags=0x5 vs 0x4 and c_lflags=0 vs 0x8a21. Why would that be the case? Doesn’t ModemManager set this up deterministically? Does it matter?
> 
> You mean with MM in debug mode or not in debug mode? That's surprising.

I just checked the ModemManager sources and confirmed that MM doesn’t touch the bits that differed (IGNBRK for c_iflags and IEXTEN, ECHOKE, ECHOCTL, ECHOK, ISIG for c_lflags) so this is actually expected.

Sven
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/modemmanager-devel/attachments/20181026/bed73e8e/attachment.html>


More information about the ModemManager-devel mailing list