Modem kernel driver changes from cdc_mbim to qmi_wwan after suspend/resume?

Aleksander Morgado aleksander at aleksander.es
Thu Dec 19 12:29:56 UTC 2019


> > Hey Bjørn & all,
> >
> > I wonder if you have any idea why this issue is happening?
> > https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/165#note_368404
> >
> > We can see how the kernel driver reported as managing the device that
> > owns the cdc-wdm port changes from cdc_mbim (original one after boot)
> > to qmi_wwan (after a suspend/resume cycle). This makes ModemManager
> > attempt QMI probing instead of MBIM probing on the port, and that
> > fails, so the modem is no longer used after the suspend/resume cycle.
> >
> > Any hint?
>
> I have the same laptop myself, and can comfirm that it has this annoying
> issue with removing power from the modem slot on suspend.  Which means
> that the modem will always do a full boot with driver probing and MM
> probing on every resume.  Pretty stupid platform design if you ask me,
> unnecessarily delaying startup after resume and preventing persistent
> connections to the network.
>
> But this platform bug doesn't explain the change of driver. That is
> casued by some unknown change to the qmi_wwan driver.  Notice how it is
> probing USB interface #12 here:
>
> [gio dic 19 10:27:02 2019] qmi_wwan 1-2:1.12: cdc-wdm0: USB WDM device
> [gio dic 19 10:27:02 2019] qmi_wwan 1-2:1.12 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-2, WWAN/QMI device, da:5e:a6:8f:c8:1f
> [gio dic 19 10:27:02 2019] qmi_wwan 1-2:1.12 wwan0: unregister 'qmi_wwan' usb-0000:00:14.0-2, WWAN/QMI device
> [gio dic 19 10:27:02 2019] qmi_wwan 1-2:1.12: cdc-wdm0: USB WDM device
> [gio dic 19 10:27:02 2019] qmi_wwan 1-2:1.12 wwan0: register 'qmi_wwan' at usb-0000:00:14.0-2, WWAN/QMI device, da:5e:a6:8f:c8:1f
> [gio dic 19 10:27:03 2019] qmi_wwan 1-2:1.12 wwp0s20f0u2i12: renamed from wwan0
>
>
> This is only possible if either the driver is modified or the EM7455
> device ID is added dynamically. I am guessing the latter, and that this
> breakage was added *after* the initial boot probing.
>
> Check with e.g:
>
>  cat /sys/bus/usb/drivers/qmi_wwan/new_id
>
> It should normally output nothing.
>

The user reports the following:

root at angelo-thinkpad-x1-carbon-4th:~# cat /sys/bus/usb/drivers/qmi_wwan/new_id
1199 9079
root at angelo-thinkpad-x1-carbon-4th:~# cat
/sys/bus/usb/drivers/qmi_wwan/remove_id
1199 9079

Does this mean something is injecting those ids dynamically during runtime?

-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list