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
_______________________________________________
ModemManager-devel mailing list
ModemManager-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel