libqmi instead of NetworkManager?

Aleksander Morgado aleksander at aleksander.es
Fri Oct 2 03:44:09 PDT 2015


Hey Paul,

On Fri, Oct 2, 2015 at 12:19 PM, Paul R <r_paulr at outlook.es> wrote:
>>Note that NetworkManager is not really the one setting up all the
>> communication with the modem, ModemManager is doing that, and ModemManager
>> itself is using libqmi internally.
>>You say it takes a couple of minutes to re-establish connection when signal
>> is lost after is received again.
>>I'm assuming you have the settings configured as auto-connect in
>> NetworkManager, right?
>
> Right. Just "default" configuration.
>

"default" meaning that it is set to auto-connect or not? I'm not sure
if Ubuntu had a custom patch to enable that for WWAN since a long time
ago or maybe I'm remembering wrong.

>>Also, it's not that libqmi "goes faster"; it likely is that ModemManager
>> does more steps than your single qmicli commands.
>>And of course, if using libqmi, you'll need to detect the disconnection and
>> re-connect yourself (i.e. a single --wda-start-network won't reconnect).
>
> Yes...ModemManager handles it all with that funny DBUS thing....

XD

> I´ve added --debug info for it here.
> I´ll check your --wda-set-data-format=802-3 suggestion.
>
>> > Also, wen using NetworkManager I see lots of CDMA trial an error probes.
>> > I´m
>> > not going to use CDMA. How can I disable it with libqmi?
>> > Could you help me?
>>
>> Could you provide the messages you're talking about?
>
> This are the messages. I´ve filtered some MM debug messages, excuse me if
> this is still too dense...
>

The thing is that the MC7354 is both GSM/UMTS/LTE and CDMA/EVDO, so
ModemManager tries to match CDMA/LTE related rules as well as the
GSM/UMTS/LTE ones. When using libqmi/qmicli directly you can just
ignore all CDMA related stuff. When using ModemManager, the modem
should still allow you to connect to GSM/UMTS/LTE even if CDMA/EVDO is
not available; if it doesn't let you connect, that would be a problem.


> ========================================
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: <debug> [1443708298.767330]
> [mm-iface-modem-cdma.c:936] mm_iface_modem_cdma_run_registration_checks():
> Running registration checks (CDMA1x: 'yes', EV-DO: 'yes')
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: [/dev/cdc-wdm0] Sent
> message...#012<<<<<< RAW:#012<<<<<<   length = 13#012<<<<<<   data   =
> 01:0C:00:00:03:01:00:C1:00:24:00:00:00
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: [/dev/cdc-wdm0] Sent message
> (translated)...
> #012<<<<<< QMUX:#012<<<<<<   length  = 12#012<<<<<<   flags   =
> 0x00#012<<<<<<   service = "nas"#012<<<<<<   client  = 1#012<<<<<<
> QMI:#012<<<<<<   flags       = "none"#012<<<<<<   transaction = 193#012
> <<<<<<   tlv_length  = 0#012<<<<<<   message     = "Get Serving System"
> (0x0024)
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: [/dev/cdc-wdm0] Received
> message...#012>>>>>> RAW:#012>>>>>>   length = 41#012
>>>>>>>   data   =
>>>>>>> 01:28:00:80:03:01:02:C1:00:24:00:1C:00:02:04:00:00:00:00:00:21:05:00:00:03:04:01:00:11:01:00:00:01:06:00:02:02:02:00:01:00
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: [/dev/cdc-wdm0] Received
> message (translated)...#012>>>>>> QMUX:#012>>>>>>   length  = 40#012
>>>>>>>   flags   = 0x80#012>>>>>>   service = "nas"#012>>>>>>   client  =
>>>>>>> 1#012>>>>>> QMI:#012>>>>>>   flags       = "response"#012>>>>>>
>>>>>>> transaction = 193#012>>>>>>   tlv_length  = 28#012
>>>>>>>   message     = "Get Serving System" (0x0024)#012>>>>>>
>>>>>>> TLV:#012>>>>>>   type       = "Result" (0x02)#012>>>>>>   length     =
>>>>>>> 4#012>>>>>>   value      = 00:00:00:00#012>>>>>>   translated = SUCCESS#012
>>>>>>> TLV:#012>>>>>>   type       = "Detailed Service Status"
>>>>>>> (0x21)#012>>>>>>   length     = 5#012>>>>>>   value      =
>>>>>>> 00:03:04:01:00#012
>>>>>>>   translated = [ status = 'none' capability = 'cs-ps' hdr_status =
>>>>>>> 'power-save' hdr_hybrid = 'yes' forbidden = 'no' ]#012>>>>>> TLV:#012>>>>>>
>>>>>>> type       = "Data Service Capability" (0x11)#012
>>>>>>>   length     = 1#012>>>>>>   value      = 00#012>>>>>>   translated =
>>>>>>> {}#012>>>>>> TLV:#012>>>>>>   type       = "Serving System" (0x01)#012>>>>>>
>>>>>>> length     = 6#012
>>>>>>>   value      = 02:02:02:00:01:00#012
>>>>>>>   translated = [ registration_state = 'not-registered-searching'
>>>>>>> cs_attach_state = 'detached' ps_attach_state = 'detached' selected_network =
>>>>>>> 'unknown' radio_interfaces = '{ [0] = 'none '}' ]
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: <debug> [1443708298.801906]
> [mm-broadband-modem-qmi.c:4830] common_process_serving_system_cdma(): No
> CDMA info given...
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: <debug> [1443708298.802747]
> [mm-bearer.c:340] modem_cdma_registration_state_changed(): Bearer not
> allowed to connect, not registered in CDMA network
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: <debug> [1443708298.803601]
> [mm-bearer.c:340] modem_cdma_registration_state_changed(): Bearer not
> allowed to connect, not registered in CDMA network
> Oct  1 16:04:58 MVC600 ModemManager.orig[1787]: <debug> [1443708298.804339]
> [mm-broadband-modem.c:7280] run_cdma_registration_checks_ready(): Modem not
> yet registered in a CDMA network... will recheck soon
> Oct  1 16:05:01 MVC600 ModemManager.orig[1787]: <debug> [1443708301.730083]
> [mm-iface-modem-cdma.c:936] mm_iface_modem_cdma_run_registration_checks():
> Running registration checks (CDMA1x: 'yes', EV-DO: 'yes')
> Oct  1 16:05:01 MVC600 ModemManager.orig[1787]: [/dev/cdc-wdm0] Sent
> message...#012<<<<<< RAW:#012<<<<<<   length = 13#012<<<<<<   data   =
> 01:0C:00:00:03:01:00:C2:00:24:00:00:00
> ...Same debug PDUs deleted for clarity
> ...
> Oct  1 16:05:01 MVC600 ModemManager.orig[1787]: <debug> [1443708301.741037]
> [mm-broadband-modem-qmi.c:4830] common_process_serving_system_cdma(): No
> CDMA info given...
> Oct  1 16:05:01 MVC600 ModemManager.orig[1787]: <debug> [1443708301.741284]
> [mm-bearer.c:340] modem_cdma_registration_state_changed(): Bearer not
> allowed to connect, not registered in CDMA network
> Oct  1 16:05:01 MVC600 ModemManager.orig[1787]: <debug> [1443708301.741486]
> [mm-bearer.c:340] modem_cdma_registration_state_changed(): Bearer not
> allowed to connect, not registered in CDMA network
> Oct  1 16:05:01 MVC600 ModemManager.orig[1787]: <debug> [1443708301.741601]
> [mm-broadband-modem.c:7280] run_cdma_registration_checks_ready(): Modem not
> yet registered in a CDMA network... will recheck soon
> Oct  1 16:05:04 MVC600 ModemManager.orig[1787]: <debug> [1443708304.729812]
> [mm-iface-modem-cdma.c:936] mm_iface_modem_cdma_run_registration_checks():
> Running registration checks (CDMA1x: 'yes', EV-DO: 'yes')
> Oct  1 16:05:04 MVC600 ModemManager.orig[1787]: <debug> [1443708304.749012]
> [mm-broadband-modem-qmi.c:4830] common_process_serving_system_cdma(): No
> CDMA info given...
>
> And this repeats forever.
> ==============================================
>
> Also, this is what ModemManager tells me at boot.
> Shouldn't it peek Sierra driver instead of Gobi?.(A bad udev rule? )
>
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.889463]
> [main.c:61] bus_acquired_cb(): Bus acquired, creating manager...
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.891028]
> [mm-plugin-manager.c:788] load_plugins(): Looking for plugins in
> '/usr/lib/x86_64-linux-gnu/ModemManager'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.909078]
> [mm-plugin-manager.c:813] load_plugins(): Loaded plugin 'Gobi'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.910197]
> [mm-plugin-manager.c:813] load_plugins(): Loaded plugin 'AnyDATA'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.911262]
> [mm-plugin-manager.c:813] load_plugins(): Loaded plugin 'Sierra'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.912316]
> [mm-plugin-manager.c:813] load_plugins(): Loaded plugin 'Ericsson MBM'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.913311]
> [mm-plugin-manager.c:813] load_plugins(): Loaded plugin 'Generic'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.914997]
> [mm-plugin-manager.c:813] load_plugins(): Loaded plugin 'Option High-Speed'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.916440]
> [mm-plugin-manager.c:813] load_plugins(): Loaded plugin 'Option'
> Oct  2 09:05:26 MVC600 NetworkManager[8845]: <info> NetworkManager (version
> 0.9.8.8) is starting...
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.916987]
> [mm-plugin-manager.c:838] load_plugins(): Successfully loaded 7 plugins
> Oct  2 09:05:26 MVC600 NetworkManager[8845]: <info> Read config file
> /etc/NetworkManager/NetworkManager.conf
> Oct  2 09:05:26 MVC600 NetworkManager[8845]: <info> WEXT support is enabled
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.920552]
> [main.c:79] name_acquired_cb(): Service name 'org.freedesktop.ModemManager1'
> was acquired
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.920890]
> [mm-manager.c:456] mm_manager_start(): Starting automatic device scan...
> Oct  2 09:05:26 MVC600 NetworkManager[8845]: <info> VPN: loaded
> org.freedesktop.NetworkManager.pptp
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.937781]
> [mm-manager.c:495] mm_manager_start(): Finished device scan...
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.940106]
> [mm-plugin-manager.c:675] mm_plugin_manager_find_device_support(): (Plugin
> Manager) [/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-1] Checking device
> support...
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.940837]
> [mm-plugin-manager.c:576] build_plugins_list(): (Plugin Manager) [ttyUSB0]
> Found '2' plugins to try...
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.941130]
> [mm-plugin-manager.c:580] build_plugins_list(): (Plugin Manager) [ttyUSB0]
> Will try with plugin 'Gobi'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.941427]
> [mm-plugin-manager.c:580] build_plugins_list(): (Plugin Manager) [ttyUSB0]
> Will try with plugin 'Generic'
> Oct  2 09:05:26 MVC600 ModemManager.orig[8837]: <debug> [1443769526.942420]
> [mm-plugin.c:772] mm_plugin_supports_port(): (Gobi) [ttyUSB0] probe
> required: 'at, qcdm'




-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list