Some questions about qmi/wwan

Aleksander Morgado aleksander at aleksander.es
Fri Sep 1 05:57:19 UTC 2017


>> 2014-07-27 14:06 GMT+02:00 Aleksander Morgado <aleksander at aleksander.es>:
>> > On Fri, Jul 25, 2014 at 9:00 PM, Dan Williams <dcbw at redhat.com> wrote:
>> > - Once the kernel module is loaded, I get two /dev/cdc-wdm devices (0
>> and
>> >> 1). What are those for? The one that seems to be working with qmicli is
>> >> /dev/cdc-wdm1. I also get two network interfaces, wwp0s20u6 and
>> >> wwp0s20u6i3, the second one is the one that I can use dhcp client with
>> and
>> >> get an IP. Which is the purpose of the other one?
>> >
>> > I'll leave that to Bjorn and Aleksander, but on some devices there is a
>> > second non-operative QMI configuration.  Could be a firmware quirk.
>>
>> Newer Sierra modems like the MC73XX series will expose two pairs of
>> /dev/cdc-wdm (QMI) and wwan ports (usb interfaces 8 and 10). If you
>> try to play with both you'll likely see that both reply to QMI but
>> only one of the pairs gets correctly connected...
>>
>> The thing is that one pair comes by default with 802.3 ethernet frames
>> configuration in the wwan interface, which is the one that the
>> qmi_wwan kernel driver expects. The other pair comes with raw-ip
>> packet configuration in the wwan interface, so you won't be able to
>> use that pair directly with the qmi_wwan driver, *unless* you request
>> to change that via e.g. qmicli
>> --device-open-net="net-802-3|net-no-qos-header" or qmicli
>> --wda-set-data-format="802-3". ModemManager does the device-open-net
>> setup itself, so it can use both pairs directly.
>
> I've been asked what the difference is between these two /dev/cdc-wdm*
> devices and even after reading this thread I'm still a bit confused.
> The impression I get is that there is in fact no practical difference
> between these two exposed channels/devices other than their default
> (raw-ip vs 802-3) configuration.
>

I believe that's right.

> If there is no difference besides that, what is the purpose of these
> two separate channels as far as a developer/end user is concerned?
>

You can connect them separately to e.g. different APNs, and have
host-side routing rules for the different connections. That's at least
one good use case.

-- 
Aleksander
https://aleksander.es


More information about the libqmi-devel mailing list