ANN: ModemManager 1.18.4 released / Avoiding PPP
Peter Naulls
peter at chocky.org
Tue Jan 4 15:24:19 UTC 2022
On 1/1/22 2:33 PM, Aleksander Morgado wrote:
> Hey Peter,
>
>>
>> I see. So the problem is that I have to keep port 02 open for mmcli commands,
>> but if I do it'll try to use this for PPP still sometimes.
>>
>
> Please note that the reason to use PPP is not that MM sometimes
> prefers it over QMI+NET. If PPP is being used, it's likely because the
> QMI port failed to be probed successfully, so AT+PPP is the only
> option left. The failure in the QMI probing could be a limitation of
> the probing logic, or the modem firmware getting fully stuck, or
> something in between (e.g. maybe a given modem boot took longer than
> usual and we failed probing while waiting for it to work properly).
> Debug logs will tell you in detail why PPP is chosen instead of
> QMI+NET.
>
Well, I didn't dig into the debug, but I understand why it's falling back
and that QMI/driver is not ready yet - it doesn't matter though; I need this
to be a failure case (and then fall through to retry). PPP is not a credible
option in my setup, and will just cause a longer connect cycle, since it'll
fail later on.
On the flip side, I understand the rationale for the general case here.
This is what I ended up using as a local patch, which should be obvious:
--- a/src/mm-base-modem.c.orig 2022-01-04 09:50:31.631768015 -0500
+++ b/src/mm-base-modem.c 2022-01-04 09:46:08.183807331 -0500
@@ -387,9 +387,9 @@
} else if (mm_kernel_device_get_property_as_boolean
(kernel_device, ID_MM_PORT_TYPE_AT_SECONDARY)) {
mm_obj_dbg (port, "AT port flagged as secondary");
at_pflags = MM_PORT_SERIAL_AT_FLAG_SECONDARY;
- } else if (mm_kernel_device_get_property_as_boolean (kernel_device,
ID_MM_PORT_TYPE_AT_PPP)) {
+/* } else if (mm_kernel_device_get_property_as_boolean
(kernel_device, ID_MM_PORT_TYPE_AT_PPP)) {
mm_obj_dbg (port, "AT port flagged as PPP");
- at_pflags = MM_PORT_SERIAL_AT_FLAG_PPP;
+ at_pflags = MM_PORT_SERIAL_AT_FLAG_PPP;*/
}
}
/* The plugin may specify NONE_NO_GENERIC to avoid the generic
Maybe this should be a command line option or something, up to you.
As for ID_MM_PORT_IGNORE, I had to pull those out - it seems that
once ModemManager connects, it's no longer possible to use mmcli - I didn't
try to dig down into this detail, but it was problematic in our testing.
Thanks.
More information about the ModemManager-devel
mailing list