Help on an invalid modem case
Aleksander Morgado
aleksander at aleksander.es
Tue Jul 7 06:44:16 UTC 2020
Hey Louis-Alexis,
>
> logs for the E3372h device.
>
in this case, we see two interfaces, and both flagged wrongly as PPP:
USB if#0 ---> ttyUSB0 ---> ff/2/18 ---> PPP
USB if#1 ---> ttyUSB1 ---> ff/2/1 ---> PPP
The reason for ttyUSB1 flagged as PPP is legit, that is ok, because
ff/2/1 implies being a data port. This flag is taken from udev rules.
The reason for ttyUSB0 flagged as PPP is not right, in this case the
flag is added due to this code:
/* If GETPORTMODE unsupported and no other port type hints, we assume
* usbif 0 is the modem port */
if (usbif == 0) {
at_port_flags = MM_PORT_SERIAL_AT_FLAG_PPP;
goto next;
}
We're wrongly assuming that there are no other port type hints,
because the hints are coming from udev ports in the generic plugin
code, not from huawei-specific port type hint logic. This is
definitely something to fix.
But anyway, I still believe we should be relying on GETPORTMODE for
all cases; i.e. I don't think we should flag GETPORTMODE as not being
supported for this vid:pid, we should probably improve the logic to
detect whether the NCM interface in GETPORTMODE is listed *before* the
TTYs, and if so, "count" the NCM interface as 2 interfaces, instead of
just one.
I've opened issues in gitlab for these:
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/238
https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/239
--
Aleksander
https://aleksander.es
More information about the ModemManager-devel
mailing list