Sierra Wireless MC7354: Why all the interfaces?

Einar Jón tolvupostur at gmail.com
Mon Oct 23 15:38:04 UTC 2017


Thank you - I have all I need.
Consider this closed.

FYI: Your question answered below.

On 23 October 2017 at 14:43, Aleksander Morgado
<aleksander at aleksander.es> wrote:
>>>> We are in the process of testing Sierra Wireless MC7354.. It has 3
>>>> wwan<N> interfaces (wwan0, wwan1, wwan2), with the corresponding
>>>> /dev/cdc-wdm<N> devices.
>>>>
>>>> We are using ModemManager 1.6 with libQMI 1.16.0 and a custom python
>>>> script that hooks into D-Bus messages to do the needful.
>>>> The modem usually connects on wwan1, but has also connected on wwan0.
>>>> The connection seems fine and stable.
>>>> We have a lot of script that expect the modem connection to be on wwan0.
>>>>
>>>> So some basic questions:
>>>> 1) Why multiple interfaces? What do they mean? Are they different
>>>> bands (3G/LTE/etc)? Where can I read up on this?
>>>
>>> You're probably using an old kernel as well, because the 3rd interface
>>> (wwan2) shouldn't be exposed. I removed it from qmi_wwan a while ago
>>> because it was non-functional.
>>
>> It's ancient (3.x). We don't even have raw IP support in qmi_wwan.  I
>> really would like to get to 4.9.
>> We were also considering Sierra Wireless MC7455, but that's Raw IP
>> only so it didn't register in ModemManager after I patched qmi_wwan to
>> add it.
>>
>
> What do you mean that it didn't register with ModemManager after
> patching qmi_wwan? Maybe you didn't port all commits you needed? I
> believe there was some usbnet driver change that would also have been
> required.
>

It's not really important, but I mean:
I only added a couple of patches to drivers/net/usb/qmi_wwan.c from
Bjørn Mork to identify MC74xx for qmi_wwan.
The end result was:
+       {QMI_FIXED_INTF(0x1199, 0x9071, 8)},    /* Sierra Wireless MC74xx */
+       {QMI_FIXED_INTF(0x1199, 0x9071, 10)},   /* Sierra Wireless MC74xx */
+       {QMI_FIXED_INTF(0x1199, 0x9079, 8)},    /* Sierra Wireless EM74xx */
+       {QMI_FIXED_INTF(0x1199, 0x9079, 10)},   /* Sierra Wireless EM74xx */

The 0x9071 lines created wwan0 + wwan1 interfaces for MC7455, but
ModemMonitor couldn't initialize the cdc-wdm[01] ports so mmcli -L
found nothing. See syslog below (no debug info).

I did not attempt to add his patches "net: qmi_wwan: support "raw IP"
mode" and "usbnet: allow mini-drivers to consume L2 headers".
I'm not really concerned about that at this time, since I am thousands
of patches behind in my kernel and probably need many other things to
get MC7455 to work on this setup, while MC7354 (almost) works out of
the box.

Regards
Einar Jón

-------------------------- relevant syslog
Jan  1 01:00:02 armxl syslogd 1.5.1: restart.
Oct 19 15:53:31 armxl dhcpd: Internet Systems Consortium DHCP Server 4.3.5
Oct 19 15:53:31 armxl dhcpd: Copyright 2004-2016 Internet Systems Consortium.
Oct 19 15:53:31 armxl dhcpd: All rights reserved.
Oct 19 15:53:31 armxl dhcpd: For info, please visit
https://www.isc.org/software/dhcp/
Oct 19 15:53:31 armxl dhcpd: Wrote 0 class decls to leases file.
Oct 19 15:53:31 armxl dhcpd: Wrote 0 leases to leases file.
Oct 19 15:53:31 armxl dhcpd: Server starting service.
Oct 19 15:53:31 armxl ifplugd(wwan0)[952]: ifplugd 0.28 initializing.
Oct 19 15:53:31 armxl ifplugd(wwan0)[952]: Using interface
wwan0/A6:3A:C3:C0:67:0D with driver <qmi_wwan> (version: 22-Aug-2005)
Oct 19 15:53:31 armxl ifplugd(wwan0)[952]: Using detection mode: SIOCETHTOOL
Oct 19 15:53:31 armxl ifplugd(wwan0)[952]: Initialization complete,
link beat detected.
Oct 19 15:53:32 armxl ModemManager[939]: <info>  ModemManager (version
1.6.2) starting in system bus...
Oct 19 15:53:32 armxl ifplugd(wwan0)[952]: Executing
'/etc/ifplugd/ifplugd.action wwan0 up'.
Oct 19 15:53:32 armxl ifplugd(wwan0)[952]: client: udhcpc: started, v1.26.2
Oct 19 15:53:32 armxl ifplugd(wwan0)[952]: client: udhcpc: sending discover
Oct 19 15:53:34 armxl ifplugd(eth1)[948]: Link beat detected.
Oct 19 15:53:34 armxl ModemManager[939]: [/dev/cdc-wdm0] Opening
device with flags 'version-info, proxy'...
Oct 19 15:53:34 armxl ModemManager[939]: cannot connect to proxy:
Could not connect: Connection refused
Oct 19 15:53:34 armxl ModemManager[939]: spawning new qmi-proxy (try 1)...
Oct 19 15:53:34 armxl ModemManager[939]: [/dev/cdc-wdm1] Opening
device with flags 'version-info, proxy'...
Oct 19 15:53:34 armxl ModemManager[939]: cannot connect to proxy:
Could not connect: Connection refused
Oct 19 15:53:34 armxl ModemManager[939]: spawning new qmi-proxy (try 1)...
Oct 19 15:53:34 armxl ModemManager[939]: cannot connect to proxy:
Could not connect: Connection refused
Oct 19 15:53:34 armxl ModemManager[939]: spawning new qmi-proxy (try 2)...
Oct 19 15:53:34 armxl ModemManager[939]: cannot connect to proxy:
Could not connect: Connection refused
Oct 19 15:53:34 armxl ModemManager[939]: spawning new qmi-proxy (try 2)...
Oct 19 15:53:34 armxl ModemManager[939]: cannot connect to proxy:
Could not connect: Connection refused
Oct 19 15:53:34 armxl ModemManager[939]: spawning new qmi-proxy (try 3)...
Oct 19 15:53:34 armxl ModemManager[939]: cannot connect to proxy:
Could not connect: Connection refused
Oct 19 15:53:34 armxl ModemManager[939]: spawning new qmi-proxy (try 3)...
Oct 19 15:53:34 armxl ModemManager[939]: [/dev/cdc-wdm0] Checking
version info (10 retries)...
Oct 19 15:53:34 armxl ModemManager[939]: [/dev/cdc-wdm1] Checking
version info (10 retries)...
Oct 19 15:53:35 armxl ifplugd(wwan0)[952]: client: udhcpc: sending discover
Oct 19 15:53:36 armxl init: Entering runlevel: 3
Oct 19 15:53:38 armxl ifplugd(wwan0)[952]: client: udhcpc: sending discover
Oct 19 15:53:41 armxl ifplugd(wwan0)[952]: client: udhcpc: no lease, failing
Oct 19 15:53:41 armxl ifplugd(wwan0)[952]: Program execution failed,
return value is 1.
Oct 19 15:53:42 armxl modemmonitor[959]: Started
Oct 19 15:53:42 armxl modemmonitor[959]: Starting event loop
Oct 19 15:53:44 armxl ModemManager[939]: <info>  Creating modem with
plugin 'Sierra' and '4' ports
Oct 19 15:53:44 armxl ModemManager[939]: <warn>  Could not grab port
(usbmisc/cdc-wdm0): 'Cannot add port 'usbmisc/cdc-wdm0', unsupported'
Oct 19 15:53:44 armxl ModemManager[939]: <warn>  Could not grab port
(usbmisc/cdc-wdm1): 'Cannot add port 'usbmisc/cdc-wdm1', unsupported'
Oct 19 15:53:44 armxl ModemManager[939]: <warn>  Couldn't create modem
for device at '/sys/devices/ocp.3/47400000.usb/47401400.usb/musb-hdrc.0.auto/usb1/1-1/1-1.3':
Failed to find primary AT port


More information about the libqmi-devel mailing list