XCHI bulk transaction latency, data lost, NAK stats

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

 



Hello all
For USB Bulk transaction,
1. If there are NAK, and retransmit happens on a physical layer, does
XHCI provide any statistical counter, e.g. how many retries for that
URB, how can I get those counters or enable it for that TRB?
2. If Data is lost, XHCI have to resend URB request?  how long it will
take before it resend URB request?  Is that a configurable timeout on
XHCI spec?

The following are some  background of my question.
I have a XHCI USB Host controller, there are 4 ports. I only connect
one port to a USB 3.0 camera.  and running program keep reading data
from device, guvcview -d /dev/video0,
the camera keeps sending 30 frames/second, normal within each frame,
XHCI driver sends URB request -> Device response URB, response time is
about 10 ~ 200ms.
Some times, the response time takes 20 000 ~ 200 000 ms, as a result,
the image gets corrupted.
>From the USB device(Camera) firmware debugging tool, I can see that
the Device actually did submit DMA in time, when this big latency
happens firmware will complain, DMA buffer overflow.
looks software works correctly on both sides.
I'm trying to understand why the latency is not consistent?

3. I have 4 USB ports on the XHCI host controller, but only 1 device
connects,  does other 3 empty port take any USB bandwidth?  is there
anything related to bandwidth allocation I should look at it?
4. anything related PCIe I should look at? I enabled PCIe error
reporting, No error found?

Thanks.

Regards
Yunhua



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux