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