Understanding Modem Manager

Aleksander Morgado aleksander at lanedo.com
Mon Dec 16 10:37:38 PST 2013


Hey,

On 16/12/13 19:24, Marc Murphy wrote:
> I have now updated qmi and net/ethernet to support the updated qmi_wwan.  There were some device IDs missing with one of them being the Huawei device I am using.
> 

Are those device IDs also missing in the latest kernel sources? Could
you share the patch you used to see if they need to be reported?


> On kernel init it finds the device now;
> qmi_wwan 1-1.1:1.1: wwan0: register 'qmi_wwan' at usb-ehci-omap.0-1.1, WWAN/QMI device, f6:4b:e3:c2:0a:ff
> 
> and there is an uninitialized wwan0 interface;
> wwan0     Link encap:Ethernet  HWaddr F6:4B:E3:C2:0A:FF
>           BROADCAST MULTICAST  MTU:1500  Metric:1
>           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
>           TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:1000
>           RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
> 
> 
> Starting ModemManager with debug it identifies the modem and attempts to use qmi;
> 
> ModemManager[899]: <info>  [946685397.613443] [mm-plugin-manager.c:481] build_plugins_list(): (Plugin Manager) [cdc-wdm0] Found '2' plugins to try...
> ModemManager[899]: <info>  [946685397.613626] [mm-plugin-manager.c:485] build_plugins_list(): (Plugin Manager) [cdc-wdm0]   Will try with plugin 'Huawei'
> ModemManager[899]: <info>  [946685397.613840] [mm-plugin-manager.c:485] build_plugins_list(): (Plugin Manager) [cdc-wdm0]   Will try with plugin 'Generic'
> ModemManager[899]: <debug> [946685397.614114] [mm-plugin.c:725] mm_plugin_supports_port(): (Huawei) [cdc-wdm0] probe required: 'qmi'
> ModemManager[899]: <info>  [946685397.614419] [mm-port-probe.c:1154] mm_port_probe_run(): (usbmisc/cdc-wdm0) launching port probing: 'qmi'
> ModemManager[899]: <debug> [946685397.951028] [mm-manager.c:449] mm_manager_start(): Finished device scan...
> ModemManager[899]: <debug> [946685397.952371] [mm-plugin-manager.c:410] plugin_supports_port_ready(): (Plugin Manager) [wwan0] deferring support check until result suggested
> ModemManager[899]: <info>  [946685397.978738] [mm-serial-port.c:857] mm_serial_port_open(): (ttyUSB0) opening serial port...
> ModemManager[899]: <warn>  [946685397.983102] [mm-serial-port.c:414] real_config_fd(): (ttyUSB0): port attributes not fully set
> ModemManager[899]: <debug> [946685397.983987] [mm-serial-port.c:926] mm_serial_port_open(): (ttyUSB0) device open count is 1 (open)
> ModemManager[899]: <info>  [946685397.986551] [mm-serial-port.c:857] mm_serial_port_open(): (ttyUSB1) opening serial port...
> ModemManager[899]: <warn>  [946685397.988870] [mm-serial-port.c:414] real_config_fd(): (ttyUSB1): port attributes not fully set
> ModemManager[899]: <debug> [946685397.989450] [mm-serial-port.c:926] mm_serial_port_open(): (ttyUSB1) device open count is 1 (open)
> ModemManager[899]: <info>  [946685397.991647] [mm-serial-port.c:857] mm_serial_port_open(): (ttyUSB2) opening serial port...
> ModemManager[899]: <warn>  [946685397.996377] [mm-serial-port.c:414] real_config_fd(): (ttyUSB2): port attributes not fully set
> ModemManager[899]: <debug> [946685397.997049] [mm-serial-port.c:926] mm_serial_port_open(): (ttyUSB2) device open count is 1 (open)
> ModemManager[899]: <debug> [946685397.998453] [mm-port-probe.c:399] wdm_probe_qmi(): (usbmisc/cdc-wdm0) probing QMI...
> ModemManager[899]: [/dev/cdc-wdm0] Checking version info (10 retries)...
> ModemManager[899]: [/dev/cdc-wdm0] Sent message...
> <<<<<< RAW:
> <<<<<<   length = 12
> <<<<<<   data   = 01:0B:00:00:00:00:00:01:21:00:00:00
> ModemManager[899]: [/dev/cdc-wdm0] Sent message (translated)...
> <<<<<< QMUX:
> <<<<<<   length  = 11
> <<<<<<   flags   = 0x00
> <<<<<<   service = "ctl"
> <<<<<<   client  = 0
> <<<<<< QMI:
> <<<<<<   flags       = "none"
> <<<<<<   transaction = 1
> <<<<<<   tlv_length  = 0
> <<<<<<   message     = "Get Version Info" (0x0021)
> ModemManager[899]: <debug> [946685398.220071] [mm-serial-port.c:966] mm_serial_port_close(): (ttyUSB1) device open count is 0 (close)
> ModemManager[899]: <info>  [946685398.220560] [mm-serial-port.c:982] mm_serial_port_close(): (ttyUSB1) closing serial port...
> ModemManager[899]: <info>  [946685398.222574] [mm-serial-port.c:1014] mm_serial_port_close(): (ttyUSB1) serial port closed
> ModemManager[899]: <info>  [946685398.223093] [mm-serial-port.c:1083] mm_serial_port_close_force(): (ttyUSB1) forced to close port
> ModemManager[899]: <debug> [946685398.223947] [mm-serial-port.c:966] mm_serial_port_close(): (ttyUSB2) device open count is 0 (close)
> ModemManager[899]: <info>  [946685398.224344] [mm-serial-port.c:982] mm_serial_port_close(): (ttyUSB2) closing serial port...
> ModemManager[899]: <info>  [946685398.225839] [mm-serial-port.c:1014] mm_serial_port_close(): (ttyUSB2) serial port closed
> ModemManager[899]: <info>  [946685398.226175] [mm-serial-port.c:1083] mm_serial_port_close_force(): (ttyUSB2) forced to close port
> ModemManager[899]: [/dev/cdc-wdm0] Received message...
>>>>>>> >>>>>> RAW:
>>>>>>> >>>>>>   length = 48
>>>>>>> >>>>>>   data   = 01:2F:00:80:00:00:01:01:21:00:24:00:02:04:00:00:00:00:00:01:1A:00:05:00:01:00:03:00:01:01:00:05:00:02:01:00:02:00:03:01:00:00:00:E0:00:00:00:00
> ModemManager[899]: [/dev/cdc-wdm0] Received message (translated)...
>>>>>>> >>>>>> QMUX:
>>>>>>> >>>>>>   length  = 47
>>>>>>> >>>>>>   flags   = 0x80
>>>>>>> >>>>>>   service = "ctl"
>>>>>>> >>>>>>   client  = 0
>>>>>>> >>>>>> QMI:
>>>>>>> >>>>>>   flags       = "response"
>>>>>>> >>>>>>   transaction = 1
>>>>>>> >>>>>>   tlv_length  = 36
>>>>>>> >>>>>>   message     = "Get Version Info" (0x0021)
>>>>>>> >>>>>> TLV:
>>>>>>> >>>>>>   type       = "Result" (0x02)
>>>>>>> >>>>>>   length     = 4
>>>>>>> >>>>>>   value      = 00:00:00:00
>>>>>>> >>>>>>   translated = SUCCESS
>>>>>>> >>>>>> TLV:
>>>>>>> >>>>>>   type       = "Service list" (0x01)
>>>>>>> >>>>>>   length     = 26
>>>>>>> >>>>>>   value      = 05:00:01:00:03:00:01:01:00:05:00:02:01:00:02:00:03:01:00:00:00:E0:00:00:00:00
>>>>>>> >>>>>>   translated = { [0] = '[ service = 'ctl' major_version = '1' minor_version = '3' ] ' [1] = '[ service = 'wds' major_version = '1' minor_version = '5' ] ' [2] = '[ service = 'dms' major_version = '1' minor_version = '2' ] ' [3] = '[ service = 'nas' major_version = '1' minor_version = '0' ] ' [4] = '[ service = 'cat' major_version = '0' minor_version = '0' ] '}
> ModemManager[899]: <debug> [946685398.229074] [mm-plugin-manager.c:374] plugin_supports_port_ready(): (Plugin Manager) (Huawei) [ttyUSB1] deferring support check
> ModemManager[899]: <debug> [946685398.229562] [mm-plugin-manager.c:374] plugin_supports_port_ready(): (Plugin Manager) (Huawei) [ttyUSB2] deferring support check
> ModemManager[899]: [/dev/cdc-wdm0] QMI Device supports 5 services:
> ModemManager[899]: [/dev/cdc-wdm0]    ctl (1.3)
> ModemManager[899]: [/dev/cdc-wdm0]    wds (1.5)
> ModemManager[899]: [/dev/cdc-wdm0]    dms (1.2)
> ModemManager[899]: [/dev/cdc-wdm0]    nas (1.0)
> ModemManager[899]: [/dev/cdc-wdm0]    cat (0.0)
> ModemManager[899]: <debug> [946685398.232187] [mm-port-probe.c:253] mm_port_probe_set_result_qmi(): (usbmisc/cdc-wdm0) port is QMI-capable
> ModemManager[899]: <debug> [946685398.235971] [mm-plugin-manager.c:323] plugin_supports_port_ready(): (Plugin Manager) (Huawei) [cdc-wdm0] found best plugin for port
> ModemManager[899]: <debug> [946685398.236429] [mm-plugin-manager.c:186] port_probe_context_finished(): (Plugin Manager) (Huawei) [cdc-wdm0]: found best plugin for device (/sys/devices/platform/usbhs_omap/ehci-omap.0/usb1/1-1/1-1.1)
> ModemManager[899]: <debug> [946685398.236856] [mm-plugin-manager.c:257] suggest_port_probe_result(): (Plugin Manager) (Huawei) [wwan0] deferred task completed, got suggested plugin
> ModemManager[899]: <debug> [946685398.237192] [mm-plugin-manager.c:283] suggest_port_probe_result(): (Plugin Manager) (Huawei) [ttyUSB2] suggested plugin for port
> ModemManager[899]: <debug> [946685398.573129] [mm-plugin-manager.c:283] suggest_port_probe_result(): (Plugin Manager) (Huawei) [ttyUSB1] suggested plugin for port
> ModemManager[899]: <debug> [946685398.573373] [mm-plugin-manager.c:283] suggest_port_probe_result(): (Plugin Manager) (Huawei) [ttyUSB0] suggested plugin for port
> ModemManager[899]: <debug> [946685398.574045] [mm-at-serial-port.c:392] debug_log(): (ttyUSB0): --> 'AT^CURC=0<CR>'
> ModemManager[899]: <debug> [946685398.574838] [mm-plugin.c:665] mm_plugin_supports_port(): (Huawei) [wwan0] probing deferred until result suggested
> ModemManager[899]: <debug> [946685398.575326] [mm-plugin-manager.c:390] plugin_supports_port_ready(): (Plugin Manager) (Huawei) [wwan0] task completed, got suggested plugin
> ModemManager[899]: <debug> [946685401.175577] [mm-plugin.c:725] mm_plugin_supports_port(): (Huawei) [ttyUSB1] probe required: 'at, qcdm'
> ModemManager[899]: <info>  [946685401.176340] [mm-port-probe.c:1154] mm_port_probe_run(): (tty/ttyUSB1) launching port probing: 'at, qcdm'
> ModemManager[899]: <debug> [946685401.176828] [mm-plugin.c:725] mm_plugin_supports_port(): (Huawei) [ttyUSB2] probe required: 'at, qcdm'
> ModemManager[899]: <info>  [946685401.177194] [mm-port-probe.c:1154] mm_port_probe_run(): (tty/ttyUSB2) launching port probing: 'at, qcdm'
> ModemManager[899]: <info>  [946685401.178934] [mm-serial-port.c:857] mm_serial_port_open(): (ttyUSB1) opening serial port...
> ModemManager[899]: <warn>  [946685401.181375] [mm-serial-port.c:414] real_config_fd(): (ttyUSB1): port attributes not fully set
> ModemManager[899]: <debug> [946685401.181955] [mm-serial-port.c:926] mm_serial_port_open(): (ttyUSB1) device open count is 1 (open)
> ModemManager[899]: <info>  [946685401.184152] [mm-serial-port.c:857] mm_serial_port_open(): (ttyUSB2) opening serial port...
> ModemManager[899]: <warn>  [946685401.186472] [mm-serial-port.c:414] real_config_fd(): (ttyUSB2): port attributes not fully set
> ModemManager[899]: <debug> [946685401.186990] [mm-serial-port.c:926] mm_serial_port_open(): (ttyUSB2) device open count is 1 (open)
> ModemManager[899]: <debug> [946685401.284616] [mm-serial-port.c:966] mm_serial_port_close(): (ttyUSB1) device open count is 0 (close)
> ModemManager[899]: <info>  [946685401.285074] [mm-serial-port.c:982] mm_serial_port_close(): (ttyUSB1) closing serial port...
> ModemManager[899]: <info>  [946685401.286600] [mm-serial-port.c:1014] mm_serial_port_close(): (ttyUSB1) serial port closed
> ModemManager[899]: <info>  [946685401.286935] [mm-serial-port.c:1083] mm_serial_port_close_force(): (ttyUSB1) forced to close port
> ModemManager[899]: <debug> [946685401.287607] [mm-plugin-manager.c:368] plugin_supports_port_ready(): (Plugin Manager) (Huawei) [ttyUSB1] deferring support check, suggested: Huawei
> ModemManager[899]: <debug> [946685401.289011] [mm-serial-port.c:966] mm_serial_port_close(): (ttyUSB2) device open count is 0 (close)
> ModemManager[899]: <info>  [946685401.289438] [mm-serial-port.c:982] mm_serial_port_close(): (ttyUSB2) closing serial port...
> ModemManager[899]: <info>  [946685401.290933] [mm-serial-port.c:1014] mm_serial_port_close(): (ttyUSB2) serial port closed
> ModemManager[899]: <info>  [946685401.291269] [mm-serial-port.c:1083] mm_serial_port_close_force(): (ttyUSB2) forced to close port
> ModemManager[899]: <debug> [946685401.291879] [mm-plugin-manager.c:368] plugin_supports_port_ready(): (Plugin Manager) (Huawei) [ttyUSB2] deferring support check, suggested: Huawei
>  

It may take a while until it probes all ports. Did you wait enough time?
I'm assuming that the log continues after the last lines you posted,
right? Could you leave it running longer and post further logs?


> If I then try to use nmcli it reports that there are no modems available and because of this NetworkManager cannot try to initialise and connect.
> 
> Its nearly there just think I need help with the next step please.
> 

Run "mmcli -M" after plugging in the modem. It will monitor new devices
being exported by ModemManager. Once MM finishes probing all ports in
the modem, it should expose a modem device. Until then, you cannot use
'nmcli'.

-- 
Aleksander


More information about the ModemManager-devel mailing list