Re: [MM] grabbing QMI/WDM ports

Aleksander Morgado <aleksander lanedo com> writes:

> For anyone interested, there's some work ('qmi-wdm' branch in the
> upstream MM tree) to be able to grab qmi/wdm ports, currently just
> exposed as raw MMPort objects. Of course, you'll need a device with
> such ports (got a Pantech UML290 here) and a recent enough kernel with
> Björn's qmi_wwan driver. Any review greatly appreciated, specially
> because I used just 1 device for testing it.

Great!  I'll see if I can get around to playing with it.  Testing these
things tend to take me some time and effort as I'm not used to using NM
and MM ;-)

I noticed one issue though, without actual testing: I believe you want
to remove the DRIVERS match from the udev rule:

  KERNEL=="cdc-wdm*", SUBSYSTEM=="usb", DRIVERS=="qmi_wwan", ENV{ID_MM_CANDIDATE}="1"

That line will be correct for your Pantech device and for lots of Gobi
devices where the qmi_wwan driver uses cdc-wdm as a "subdriver".  But
the subdriver design may make different drivers own cdc-wdm devices.
Currently the only ones are cdc-wdm and qmi_wwan, but other drivers may
show up.  E.g. if a device needs a driver supporting a combined
QMI/CDC-NCM USB interface.

In short, I believe all cdc-wdm devices will be useful to ModemManager
regardless of driver.  It doesn't even matter which protocol they use,
as long as ModemManager has some way to detect it (by device id or

The classical example is the Ericsson MBM modems used in Lenovo and Dell
laptops, which present AT command cdc-wdm interfaces.  ModemManager
should collect these and use them if necessary.

But there are also QMI devices using "cdc-wdm" as driver. This applies
to any device where the network and QMI functions are split in separate
USB interfaces. The default usb_modeswitch configuration will switch
Huawei E392/E398 into such a mode (known as the "Linux mode").

I did want to simplify things a bit when the subdriver support went in
by letting qmi_wwan drive the QMI interface in such cases as well, but
this was unfortunately rejected.  See


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]