I doubt its a bad cable, if I shut the power off it will work every
time.  Also it always works on that other OS, but that may be
irrelevant.

It would not be very much use for it to come up using usb2, that would
be quite slow.  I wonder, is there an actual way I can tell whether its
using usb3 or usb2?

Sarah Sharp <sarah.a.sh...@linux.intel.com> wrote:

> On Fri, Nov 16, 2012 at 03:51:29AM -0500, cov...@ccs.covici.com wrote:
> > Sorry, did not do its job -- here is the log output.
> 
> The patch did do what I expected.  When the warm reset failed, it
> disabled and re-enabled the port.
> 
> The good news is this stopped your endless enumeration issues.  The bad
> news is that your device didn't reconnect after the port was disabled
> and re-enabled.  It didn't even try to connect as a USB 2.0 device,
> which is what it's supposed to do if the SuperSpeed terminations are
> turned off (as they are when the port is disabled).  Perhaps you just
> have a buggy device or a bad cable?
> 
> I have a slightly more complex patch that tries several warm resets
> before disabling the ports.  It may help with this device.  I'll send
> you the branch later today, after I test it.
> 
> Thanks for your patience,
> Sarah Sharp
> 
> 
> Notes:
> 
> > Nov 16 03:36:28 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x340
> 
> Port is in Compliance Mode.
> 
> > Nov 16 03:36:28 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x341
> > Nov 16 03:36:28 ccs kernel: hub 4-0:1.0: warm reset port 2
> > Nov 16 03:36:28 ccs kernel: xhci_hcd 0000:04:00.0: Port Status Change Event 
> > for port 2
> > Nov 16 03:36:28 ccs kernel: usb 2-1: link qh256-0001/ffff88041ab57240 start 
> > 1 [1/0 us]
> 
> We can't trust the device link state until the port is done resetting.
> 
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x202b1
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x102b1
> > Nov 16 03:36:29 ccs kernel: hub 4-0:1.0: port 2 not warm reset yet, waiting 
> > 50ms
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x202f1
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x102f1
> > Nov 16 03:36:29 ccs kernel: hub 4-0:1.0: port 2 not warm reset yet, waiting 
> > 200ms
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x202f1
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x102f1
> > Nov 16 03:36:29 ccs kernel: hub 4-0:1.0: port 2 not warm reset yet, waiting 
> > 200ms
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x202f1
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x102f1
> > Nov 16 03:36:29 ccs kernel: hub 4-0:1.0: port 2 not warm reset yet, waiting 
> > 200ms
> > Nov 16 03:36:29 ccs kernel: device-mapper: uevent: version 1.0.3
> > Nov 16 03:36:29 ccs kernel: device-mapper: ioctl: 4.23.0-ioctl (2012-07-25) 
> > initialised: dm-de...@redhat.com
> > Nov 16 03:36:29 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x2a0340
> 
> Device connected, warm reset finishes after 650ms, back in Compliance Mode.
> 
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x310341
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: clear port reset change, 
> > actual port 1 status  = 0xa0340
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: clear port warm(BH) 
> > reset change, actual port 1 status  = 0x20340
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: clear port link state 
> > change, actual port 1 status  = 0x20340
> 
> Connect change bit still set here, we probably want to clear it before
> we disable the port.
> 
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: Disable port 1
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x20280
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x10280
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: Enable port 1
> 
> > Nov 16 03:36:30 ccs kernel: hub 4-0:1.0: state 7 ports 2 chg 0004 evt 0004
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x202a0
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x102a0
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: clear port connect 
> > change, actual port 1 status  = 0x2a0
> 
> No device connected, link is in the RxDetect state.
> 
> > Nov 16 03:36:30 ccs kernel: hub 4-0:1.0: port 2, status 02a0, change 0001, 
> > 5.0 Gb/s
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x2a0
> > Nov 16 03:36:30 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x2a0
> > Nov 16 03:36:31 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x2e0
> > Nov 16 03:36:31 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x2e0
> > Nov 16 03:36:31 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x2e0
> > Nov 16 03:36:31 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x2e0
> > Nov 16 03:36:31 ccs kernel: async_tx: api initialized (async)
> > Nov 16 03:36:31 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x2e0
> > Nov 16 03:36:31 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x2e0
> 
> Link is in the Polling state.
> 
> > Nov 16 03:36:31 ccs kernel: raid6: sse2x1    9085 MB/s
> > Nov 16 03:36:31 ccs kernel: raid6: sse2x2   11273 MB/s
> > Nov 16 03:36:31 ccs kernel: xhci_hcd 0000:04:00.0: get port status, actual 
> > port 1 status  = 0x2e0
> > Nov 16 03:36:31 ccs kernel: xhci_hcd 0000:04:00.0: Get port status returned 
> > 0x2e0
> 
> No further port events in the log.

-- 
Your life is like a penny.  You're going to lose it.  The question is:
How do
you spend it?

         John Covici
         cov...@ccs.covici.com
--
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

Reply via email to