On Tue, Mar 28, 2017 at 03:25:34PM +0200, Stephan Müller wrote: > Am Dienstag, 28. März 2017, 03:12:44 CEST schrieb Peter Chen: > > Hi Peter, > > > Do you have debug information from USB core (not only USB storage)? It > > may show why it is disconnected from low level. > > 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) > [ 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): > > [ 219.110425] xhci_hcd 0000:00:14.0: Cancel URB ffff8c1678bf7a80, dev 3, ep > 0x0, starting at offset 0x44f3eb390 > [ 219.110438] xhci_hcd 0000:00:14.0: // Ding dong! > [ 219.110519] xhci_hcd 0000:00:14.0: Stopped on Transfer TRB > [ 219.110525] xhci_hcd 0000:00:14.0: WARN: unexpected TRB Type 4 > [ 219.110532] xhci_hcd 0000:00:14.0: Removing canceled TD starting at > 0x44f3eb390 (dma). > [ 219.110534] xhci_hcd 0000:00:14.0: Finding endpoint context > [ 219.110537] xhci_hcd 0000:00:14.0: Cycle state = 0x1 > [ 219.110540] xhci_hcd 0000:00:14.0: New dequeue segment = ffff8c16cec66a40 > (virtual) > [ 219.110542] xhci_hcd 0000:00:14.0: New dequeue pointer = 0x44f3eb3b0 (DMA) > [ 219.110547] xhci_hcd 0000:00:14.0: Set TR Deq Ptr cmd, new deq seg = > ffff8c16cec66a40 (0x44f3eb000 dma), new deq ptr = ffff8c16cf3eb3b0 > (0x44f3eb3b0 dma), new cycle = 1 > [ 219.110550] xhci_hcd 0000:00:14.0: // Ding dong! > [ 219.110570] xhci_hcd 0000:00:14.0: Successful Set TR Deq Ptr cmd, deq = > @44f3eb3b0 > [ 219.110613] xhci_hcd 0000:00:14.0: disable port 3 USB2 hardware LPM > [ 219.110620] xhci_hcd 0000:00:14.0: Set up evaluate context for LPM MEL > change. > [ 219.110623] xhci_hcd 0000:00:14.0: Slot 2 Input Context: > ... > [ 219.110698] xhci_hcd 0000:00:14.0: // Ding dong! > [ 219.110851] xhci_hcd 0000:00:14.0: Successful evaluate context command > [ 219.110855] xhci_hcd 0000:00:14.0: Slot 2 Output Context: > ... > [ 219.113759] xhci_hcd 0000:00:14.0: Port Status Change Event for port 3 > [ 219.113767] xhci_hcd 0000:00:14.0: handle_port_status: starting port > polling. > [ 219.113779] xhci_hcd 0000:00:14.0: xhci_hub_status_data: stopping port > polling. > [ 219.122345] xhci_hcd 0000:00:14.0: // Ding dong! > [ 219.122436] xhci_hcd 0000:00:14.0: Stopped on No-op or Link TRB > [ 219.122441] xhci_hcd 0000:00:14.0: Stopped on No-op or Link TRB > [ 219.122444] xhci_hcd 0000:00:14.0: Stopped on No-op or Link TRB > [ 219.122448] xhci_hcd 0000:00:14.0: Stopped on No-op or Link TRB > [ 219.146522] xhci_hcd 0000:00:14.0: xhci_suspend: stopping port polling. > > --- 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 > [ 228.129963] xhci_hcd 0000:00:14.0: Get port status returned 0x102e0 > [ 228.129981] xhci_hcd 0000:00:14.0: clear port connect change, actual port > 2 > status = 0x2e0 > [ 228.129986] xhci_hcd 0000:00:14.0: get port status, actual port 4 status > = > 0x603 > [ 228.129987] xhci_hcd 0000:00:14.0: Get port status returned 0x103 > [ 228.129994] usb 2-3: USB disconnect, device number 2 > [ 228.130046] xhci_hcd 0000:00:14.0: ep 0x81 - asked for 16 bytes, 4 bytes > untransferred > [ 228.130070] done.
Add Mathias Would you tries to apply below Mathias's patches [1] and [2]? [1] http://www.spinics.net/lists/linux-usb/msg155351.html [2] http://www.spinics.net/lists/linux-usb/msg155353.html -- Best Regards, Peter Chen -- 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