Re: USB device disconnect after suspend/resume

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

 



On 28.03.2017 16:25, Stephan Müller wrote:
Am Dienstag, 28. März 2017, 03:12:44 CEST schrieb Peter Chen:

What kernel version was this on again?
Has it been working before?

does reloading xhci driver work?



The device is question is at port 2-3.

usb core dyndbg:

[   72.546341] Restarting tasks ...
[   72.546465] hub 1-0:1.0: state 7 ports 11 chg 0000 evt 0028
[   72.546595] hub 2-0:1.0: state 7 ports 4 chg 0008 evt 0000
[   72.546662] usb usb2-port3: status 0263, change 0000, 5.0 Gb/s

[   72.546670] usb 2-3: USB disconnect, device number 2
[   72.546675] usb 2-3: unregistering device
[   72.546682] usb 2-3: unregistering interface 2-3:1.0
[   72.552689] done.
[   72.553977] brcmfmac 0000:03:00.0: Direct firmware load for brcm/
brcmfmac43602-pcie.txt failed with error -2
[   72.676148] usb 2-3: usb_disable_device nuking all URBs
[   72.727915] usb usb2-port3: not reset yet, waiting 50ms
[   72.780009] usb usb2-port3: not reset yet, waiting 200ms
[   72.985875] usb usb2-port3: not reset yet, waiting 200ms
[   73.063770] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Nov 10
2015 06:38:10 version 7.35.177.61 (r598657) FWID 01-ea662a8c
[   73.096915] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code (0x30
0x30)
[   73.122551] brcmfmac 0000:03:00.0 wlp3s0: renamed from wlan0
[   73.140131] IPv6: ADDRCONF(NETDEV_UP): wlp3s0: link is not ready
[   73.193919] usb usb2-port3: not reset yet, waiting 200ms
[   73.402026] usb usb2-port3: hot reset failed, warm reset
[   73.402028] usb usb2-port3: not enabled, trying warm reset again...
[   73.609968] usb usb2-port3: not warm reset yet, waiting 200ms
[   73.817946] usb usb2-port3: not warm reset yet, waiting 200ms
[   74.026100] usb usb2-port3: not warm reset yet, waiting 200ms
[   74.234126] usb usb2-port3: not warm reset yet, waiting 200ms
[   74.234167] usb usb2-port3: not enabled, trying warm reset again...
[   74.441910] usb usb2-port3: not warm reset yet, waiting 200ms
[   74.649894] usb usb2-port3: not warm reset yet, waiting 200ms
[   74.857981] usb usb2-port3: not warm reset yet, waiting 200ms
[   75.066006] usb usb2-port3: not warm reset yet, waiting 200ms
[   75.066040] xhci_hcd 0000:00:14.0: Cannot set link state.
[   75.066045] usb usb2-port3: cannot disable (err = -32)

I don't know what causes the disconnect, or why the reset fails, but
after all this the device disable also fails.
This is because usb3 disable changed to set the device to U3 state
and disable remote wake to prevent them from re-enumerating.

This was to fix usb mass storage devices from re-appering right after
eject/safely removing them.

It's possible that the old way of actually disabling, and then enter
RxDetect would help finding the device again after disconnect and failed reset.

you could try a kernel without that patch and see if it works:

commit 37be66767e3cae4fd16e064d8bb7f9f72bf5c045
usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices

[   75.066065] xhci_hcd 0000:00:14.0: Cannot set link state.
[   75.066069] usb usb2-port3: cannot disable (err = -32)
[   75.066079] hub 2-0:1.0: state 7 ports 4 chg 0000 evt 0008
[   75.066130] hub 2-0:1.0: hub_suspend
[   75.066140] usb usb2: bus auto-suspend, wakeup 1


xhci dyndbg (I hope I have copied the right logs):

--- suspended ---

[  228.110972] Restarting tasks ...
[  228.129044] xhci_hcd 0000:00:14.0: ep 0x81 - asked for 16 bytes, 10 bytes
untransferred
[  228.129949] xhci_hcd 0000:00:14.0: get port status, actual port 2 status  =
0x603
[  228.129951] xhci_hcd 0000:00:14.0: Get port status returned 0x103
[  228.129962] xhci_hcd 0000:00:14.0: get port status, actual port 2 status  =
0x202e0

Port Status: 0x202e0
	Disconnected
	Disabled
	Link: Polling
	Powered
	Unknown port speed
	Connect Status Change

xhci portsc register really thinks it disconnected.

-Mathias
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux