Re: xhci usb issues

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

 



Hi Joe,

I'm the xHCI driver maintainer, can you please Cc me on any future bug
reports for xHCI hosts?  Otherwise it gets lost in my mailing list
inbox.

On Sun, Sep 01, 2013 at 04:14:52PM -0500, joe M wrote:
> Hello,
> 
> I am not able to figure out how to connect a 1.11 usb full speed
> device to a USB 3.0 port.
> 
> This is the output in syslog when I rmmod xhci_hcd and modprobe
> xhci-hcd: http://codepad.org/8mc0tABX
> 
> These are the messages that seem to be causing the issue:
> Sep  1 15:57:03 master kernel: [ 1182.014895] usb 6-1: device not accepting address 2, error -62
> Sep  1 15:57:03 master kernel: [ 1182.014942] xhci_hcd 0000:03:00.0: Bad Slot ID 1
> Sep  1 15:57:03 master kernel: [ 1182.014945] xhci_hcd 0000:03:00.0: Could not allocate xHCI USB device data structures
> Sep  1 15:57:03 master kernel: [ 1182.014950] hub 6-0:1.0: couldn't allocate port 1 usb_device
> 
> When I plug in the USB full speed device, these are the messages:
> 
> Sep  1 16:00:17 master kernel: [ 1376.248867] usb usb6: usb wakeup-resume
> Sep  1 16:00:17 master kernel: [ 1376.248875] usb usb6: usb auto-resume
> Sep  1 16:00:17 master kernel: [ 1376.248894] hub 6-0:1.0: hub_resume
> Sep  1 16:00:17 master kernel: [ 1376.248905] hub 6-0:1.0: port 1: status 0101 change 0000
> Sep  1 16:00:17 master kernel: [ 1376.248910] hub 6-0:1.0: port 2: status 0101 change 0001
> Sep  1 16:00:17 master kernel: [ 1376.349888] hub 6-0:1.0: state 7 ports 2 chg 0006 evt 0000
> Sep  1 16:00:17 master kernel: [ 1376.349898] hub 6-0:1.0: port 1, status 0101, change 0000, 12 Mb/s
> Sep  1 16:00:17 master kernel: [ 1376.451953] usb 6-1: new full-speed USB device number 3 using xhci_hcd
> Sep  1 16:00:22 master kernel: [ 1381.455764] xhci_hcd 0000:03:00.0: Timeout while waiting for address device command
> Sep  1 16:00:27 master kernel: [ 1386.660767] xhci_hcd 0000:03:00.0: Timeout while waiting for address device command

Is your device prepared to accept the Set Address control transfer
before it receives an 8-byte Get Descriptor?

I ask because it's fairly common for this kind of issue to be the root
cause when the device isn't ready to accept a Set Address control
transfer.  Or perhaps your device takes a really long time to get ready
to accept the Set Address command?

> Sep  1 16:00:27 master kernel: [ 1386.861922] usb 6-1: device not accepting address 3, error -62
> Sep  1 16:00:27 master kernel: [ 1386.861977] xhci_hcd 0000:03:00.0: Bad Slot ID 2
> Sep  1 16:00:27 master kernel: [ 1386.861980] xhci_hcd 0000:03:00.0: Could not allocate xHCI USB device data structures

Those error messages are interesting.  The driver should have allocated
a slot ID, even if the Set Address command failed.  However, I don't
think fixing this issue will help your problem, if the root cause is
that your device doesn't respond to the Set Address control transfer.

> Sep  1 16:00:27 master kernel: [ 1386.861985] hub 6-0:1.0: couldn't allocate port 1 usb_device
> Sep  1 16:00:27 master kernel: [ 1386.862006] hub 6-0:1.0: port 2, status 0101, change 0000, 12 Mb/s
> Sep  1 16:00:27 master kernel: [ 1386.964011] usb 6-2: new full-speed USB device number 4 using xhci_hcd
> Sep  1 16:00:32 master kernel: [ 1391.967825] xhci_hcd 0000:03:00.0: Timeout while waiting for address device command
> Sep  1 16:00:38 master kernel: [ 1397.172814] xhci_hcd 0000:03:00.0: Timeout while waiting for address device command
> Sep  1 16:00:38 master kernel: [ 1397.373975] usb 6-2: device not accepting address 4, error -62
> Sep  1 16:00:38 master kernel: [ 1397.374027] xhci_hcd 0000:03:00.0: Bad Slot ID 3
> Sep  1 16:00:38 master kernel: [ 1397.374030] xhci_hcd 0000:03:00.0: Could not allocate xHCI USB device data structures
> Sep  1 16:00:38 master kernel: [ 1397.374035] hub 6-0:1.0: couldn't allocate port 2 usb_device
> Sep  1 16:00:38 master kernel: [ 1397.374052] hub 6-0:1.0: hub_suspend
> Sep  1 16:00:38 master kernel: [ 1397.374077] usb usb6: bus
> auto-suspend, wakeup 1
> 
> With the USB 2.0 hub, I could use usbmon to check out why the device
> does not work. Using usbmon on a USB 3.0 hub does not seem to show any
> valuable output. I tried both usbmon client and 'cat 6u' (where 6 is
> the bus id) to check usbmon output.

Did you run `lsusb -t` to find out which bus the device is actually
under?  The xHCI host registers two roothubs: a USB 2.0 roothub and a
USB 3.0 roothub.  You want to record usbmon for the USB 2.0 roothub (the
bus marked with a 480 MB speed).

You can also try recording all USB traffic through the 0u file.

> I am the developer for this usb device and the device works fine on a
> 1.11 and a 2.0 hub.

Do you mean that it works fine behind an external USB 1.1 or USB 2.0 hub
attached to an xHCI port, or do you mean it works under an EHCI, UHCI,
or OHCI host?  Please send `lsusb -t` and `sudo lsusb -v` output for
both the failing and passing cases.

> With the kernel xhci debugging option, there is a
> lot of output, I am wondering if there is a usbmon-like debugging
> mechanism for xhci.

Can you send dmesg with CONFIG_USB_XHCI_HCD_DEBUGGING turned on and
CONFIG_USB_DEBUG turned on?

> Any thoughts, please?
> 
> Thanks
> Joe
--
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