3G Modem MC8805:qmicli succesfuly connected but no IP after dhclient

Bjørn Mork bjorn at mork.no
Tue Oct 27 06:41:42 PDT 2015


"Benoît" <benoitne at gmail.com> writes:

> I didn't configure it and didn't make anything to switch to QMI
> I tried MBIM but I don't have any reply so I guess it is set to QMI.
> when I do a journalctl | grep cdc ;
>
> Oct 27 10:58:44  kernel: usbcore: registered new interface driver cdc_ncm
> Oct 27 10:58:44  kernel: usbcore: registered new interface driver cdc_wdm
> Oct 27 10:58:44  kernel: cdc_mbim 1-7:2.12: cdc-wdm0: USB WDM device
> Oct 27 10:58:44  kernel: cdc_mbim 1-7:2.12 wwan0: register 'cdc_mbim'
> at usb-0000:00:14.0-7, CDC MBIM, d2:cc:f3:56:10:30
> Oct 27 10:58:44  kernel: usbcore: registered new interface driver cdc_mbim
> Oct 27 10:58:44  kernel: cdc_mbim 1-7:2.12 wwp0s20u7c2i12: renamed
> from wwan0

Right.  I suspected this. The Linux kernel will select the MBIM
configuration.

cdc_mbim != qmi_wwan.  Both drivers use /dev/cdc-wdmX devices to carry
their management protocols, but the protocols are very different.

Unfortunately, as I mentioned, a firmware bug makes the device appear to
support whaever protocol you *first* use of QMI and MBIM, regardless of
USB configuration. This is not a feature.  The network device framing is
incompatible, so the cdc_mbim driver is incapable of supporting QMI
network devices.

Using qmicli with the cdc_mbim driver is not going to work.  Forget
about libqmi and use libmbim instead.  Or use an udev rule to switch the
modem to QMI if you prefer to stay with qmicli. It goes something like
this (I'm too lazy to google):

SUBSYSTEM=="usb",ATTR{idVendor}=="413c",ATTR{idProduct}=="81a3",ATTR{bConfigurationValue}=="2" ATTR{bConfigurationValue}="1"


Note: You must use udev to make sure this happens immediately on device
discovery. I do not recommend "late" switching of these modems.  Another
firmware bug is likely to hit if the configuration is changed after
cdc_mbim has probed it.

Even easier than all this:  Use ModemManager.  It will automagically
"Do The Right Thing"


Bjørn


More information about the libqmi-devel mailing list