cdc-wdm: unable to connect after suspend
Florian Klink
flokli at flokli.de
Wed Jun 11 03:08:39 PDT 2014
Am 11.06.2014 10:01, schrieb Bjørn Mork:
> Florian Klink <flokli at flokli.de> writes:
>> Am 10.06.2014 16:08, schrieb Florian Klink:
>>> Am 10.06.2014 14:09, schrieb BjÞrn Mork:
>>>> Florian Klink <flokli at flokli.de> writes:
>>>>
>>>>> Hi,
>>>>>
>>>>> I recently bought a notebook (Fujitsu Lifebook T904) with integrated
>>>>> 3G/4G modem (Sierra Wireless EM7305) thats powered by the cdc-wdm driver.
>>>>>
>>>>> It works without any problems on a fresh bootup using Networkmanager.
>>>>>
>>>>> However, after putting the notebook into standby and waking up again,
>>>>> I'm unable to get a connection (always reproducible, not signal quality
>>>>> related).
>>>>
>>>> Does it work again if you restart NetworkManager and ModemManager at
>>>> this point?
>>>
>>> Nope. ModemManager gets confused completely and drops the modem out of
>>> the list of connections:
>>>
>>> ModemManager[3067]: <warn> Couldn't find support for device at
>>> '/sys/devices/pci0000:00/0000:00:19.0': not supported by any plugin
>>> ModemManager[3067]: <warn> Couldn't find support for device at
>>> '/sys/devices/pci0000:00/0000:00:1c.3/0000:03:00.0': not supported by
>>> any plugin
>>> ModemManager[3067]: [/dev/cdc-wdm1] Queried max control message size: 4096
>>> ModemManager[3067]: [/dev/cdc-wdm1] No transaction matched in received
>>> message
>
> Ah, OK. Then I obviously guessed wrong. MM and the firmware does not
> agree on the current transaction sequence. I'm not sure why. The modem
> is sending unexpected messages, and I assume MM doesn't get the answers
> it is looking for. This could be caused by the driver cancelling the
> interrupt URB at an "inconvenient time" for the firmware. But I haven't
> seen issues like that with the Qualcomm based Sierra modems before.
>
> And you get into this state consistently on every suspend+resume?
>
> It would be useful to know which unexpeced messages we receive (errors?
> same message all over? older queued up messages being played back with
> unexpected delay?) Any chance you can enable libmbim + ModemManager
> debugging to get the MBIM message dumps?
Sure, I can provide the message dumps. Is it as simple as described in
here (http://www.freedesktop.org/wiki/Software/ModemManager/Debugging/),
or do I need to recompile libmbim + ModemManager with some additional (debug)
flags enabled?
>
>
>>>> Does it help to do
>>>>
>>>> echo 0 >/sys/bus/usb/devices/x-y/power/persist
>>>>
>>>> prior to suspending the notebook? You'll have to replace "x-y" with the
>>>> correct USB bus and port number. You can find this in e.g. the dmesg
>>>> output. For example, if your log shows:
>>>>
>>>> qmi_wwan 2-4:1.8: cdc-wdm0: USB WDM device
>>>>
>>>> then x-y = 2-4.
>>>
>>> dmesg shows "cdc_mbim 1-6:2.12: cdc-wdm1: USB WDM device", so I did echo
>>> 0 > /sys/bus/usb/devices/1-6/power/persist.
>>>
>>> However, after a suspend/resume cycle, connecting didnt work either.
>>> Errors were the same as without persist = 0.
>
> Yes, my initial guess was wrong, so this is not the problem.
>
>>> dmesg doesn't really show an error message from the modem. Seems like it
>>> also has an issue resuming "Bus 001 Device 006: ID 0483:91d1
>>> STMicroelectronics", but this shouldn't cause the problems with the modem...
>>
>> I attached the dmesg output, probably there's till something interesting
>> inside ;-)
>
> Thanks. I wasn't expecting any errors there (I still don't think there
> is any real error here from the drivers point of view), but I wanted to
> see whether the modem is disconnected and rediscovered or just plainly
> suspended.
>
> But??? I cannot find anything related to the modem device in that log?
> Not even anything mentioning the "1-6" USB port.
I just sent the part of dmesg where the suspend & resume cycle happened.
Of course, I see the device appearing on bootup:
[ 11.537522] usb 1-6: new high-speed USB device number 11 using xhci_hcd
[ 11.711214] usb 1-6: config 1 has an invalid interface number: 8 but max is 3
[ 11.711217] usb 1-6: config 1 has no interface number 1
[ 11.711432] usb 1-6: config 2 has an invalid interface number: 12 but max is 1
[ 11.711434] usb 1-6: config 2 has an invalid interface number: 13 but max is 1
[ 11.711435] usb 1-6: config 2 has an invalid interface number: 13 but max is 1
[ 11.711437] usb 1-6: config 2 has no interface number 0
[ 11.711439] usb 1-6: config 2 has no interface number 1
[...]
[ 14.735330] usbcore: registered new interface driver cdc_ncm
[ 14.736046] usbcore: registered new interface driver cdc_wdm
[ 14.738273] cdc_mbim 1-6:2.12: cdc-wdm1: USB WDM device
[ 14.738459] cdc_mbim 1-6:2.12 wwan0: register 'cdc_mbim' at usb-0000:00:14.0-6, CDC MBIM, 96:ba:xx:xx:xx:xx
[ 14.738477] usbcore: registered new interface driver cdc_mbim
[ 14.749795] systemd-udevd[248]: renamed network interface wwan0 to wwp0s20u6c2i12
... but you don't get any dmesg output about it during the suspend/resume cycle.
Florian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/modemmanager-devel/attachments/20140611/02bcf13c/attachment-0001.sig>
More information about the ModemManager-devel
mailing list