Re: USB device disconnect after suspend/resume

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

 



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 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