Re: problem with Roseweil eusb3 enclosure

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

 



On Fri, Nov 16, 2012 at 03:51:29AM -0500, covici@xxxxxxxxxxxxxx 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-devel@xxxxxxxxxx
> 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.
--
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