Am Mittwoch, 29. März 2017, 15:52:13 CEST schrieb Mathias Nyman: Hi Mathias,
> 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? It is 4.10 vanilla. It never worked. > > does reloading xhci driver work? Well, I cannot do that :-) My keyboard/touchpad hangs on this one. I will test the suggestion with your patch. But please note that the patch does not apply to 4.10 vanilla. But I am tweaking it. > > > 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 Will do -- let me first test the patches mentioned by Peter and then this one (separately). > > > [ 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. Thanks for the help! Ciao Stephan -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html