RE: Debugging XHCI hardware issues?

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

 



> From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Florian Echtler
> Sent: Wednesday, December 18, 2013 2:04 PM
> 
> we've made some progress getting large SuperSpeed ISO transfers for the
> new Kinect to work. As it turns out, the central issue here was which
> XHCI controller the device is connected to. I have two different HCs,
> one from Intel and one from NEC. According to lspci, these are:
> 
> 00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset
> Family USB xHCI Host Controller (rev 04))
> 
> 04:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host
> Controller (rev 04) (prog-if 30 [XHCI])
> 
> The exact same code works when the device is attached to the NEC
> controller (transferring 33792 bytes per ISO packet as requested), but
> fails on the Intel controller (transferring only 11264 bytes, exactly
> 1/3 of the requested size).
> 
> I don't have enough background knowledge to decide if this is some sort
> of hardware issue, missing hardware feature or rather related to the
> XHCI driver. Can somebody suggest a direction for further investigation?

What are the values from the ISO endpoint's Endpoint descriptor and
SuperSpeed Endpoint Companion descriptor?

If the Mult value is 2 (bits 1:0 of the Companion descriptor's bmAttributes
field) and the Intel controller is treating it as 0 for some reason, that
would give you 1/3 of the requested size.

Or perhaps it is a throughput issue; if the bInterval is 1, then 33792
bytes every 128us is a pretty high data rate. Perhaps the Intel controller
can't keep up.

Do you have USB debugging enabled (CONFIG_USB_DEBUG=y) in the kernel
config? With the latest kernels that should cause the xHCI driver to print
debug messages to the dmesg log. In earlier kernels you also have to enable
CONFIG_USB_XHCI_HCD_DEBUGGING.

Do you have a USB bus analyzer? That should show you exactly what is going
on. If not, maybe you can capture a usbmon trace. I don't know anything
about usbmon, but Alan Stern might be able to help with that.

-- 
Paul


> 
> Thanks & best regards, Florian
> --
> SENT FROM MY DEC VT50 TERMINAL

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