TUSB73x0 SuperSpeed USB 3.0 xHCI indicates host error
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
TUSB73x0 SuperSpeed USB 3.0 xHCI indicates host error
Hi
We are using Texas Instruments TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller (rev 02). each xHCI HC connect to 3 USB camera directly.
1200 x 1200 or 1920 x 1200 are picture resolution(number of pixel for each picture).
16 is YUV encoding, each pixel needs 16bit.
30/20 are frame rate.
if we using bulk transaction. some times we got following error from kernel message, it is not easy to reproduce, but we got those error from time to time.
Code:
[Thu Apr 6 20:28:53 2023] uvcvideo: Non-zero status (-71) in video completion handler.
[Thu Apr 6 20:28:53 2023] xhci_hcd 0000:77:00.0: Transfer error for slot 2 ep 6 on endpoint
[Thu Apr 6 20:28:53 2023] uvcvideo: Non-zero status (-71) in video completion handler.
[Thu Apr 6 20:28:53 2023] xhci_hcd 0000:77:00.0: Transfer error for slot 2 ep 6 on endpoint
It looks like you're proceeding logically. I don't have your specs here but here's a few things to check
Can you vary the refresh? If you go too fast, errors will multiply. Make sure you have a little bandwidth headroom. 5% of packets erroring out can be handled if the system has the bandwidth to retransmit them.
Very high specs are advertised for some interfaces but there are strict limits on cable quality, length, types of sockets, etc.
How thoroughly has everything been tested? Let me give an example: One development box was fitted with a 10G nic. Bit they couldn't feed the 10G nic with more than 2-3G when I was on that forum.
Suspect everything - right back to the ASICs running your PC.
Check there's a cache to catch everything
Lastly, it's throwing errors, but are the transmitted images OK? If theuy are, what are you worrying about?
Hello,business_kid, thanks for your reply.
I run about a dozen cameras but have a camera jam problem about once every ten days or so, it's a single camera each time, and the camera that fails is random, and, not every time a camera jam occurs -71.The data that the USB analyzer grabbed was from cypress->TI usb controller->host.And here is some bandwidth margin on the device, and I grabbed the USB message when the error occurred, which you can view inside this link.https://e2e.ti.com/support/interface...nal-host-error.
As you can see, the cypress is still sending data to host controller but the host controller replies host error,so i think the problem maybe on the usb controller or linux pci driver, what do you think about it? Thanks!
It looks like you're proceeding logically. I don't have your specs here but here's a few things to check
Can you vary the refresh? If you go too fast, errors will multiply. Make sure you have a little bandwidth headroom. 5% of packets erroring out can be handled if the system has the bandwidth to retransmit them.
Very high specs are advertised for some interfaces but there are strict limits on cable quality, length, types of sockets, etc.
How thoroughly has everything been tested? Let me give an example: One development box was fitted with a 10G nic. Bit they couldn't feed the 10G nic with more than 2-3G when I was on that forum.
Suspect everything - right back to the ASICs running your PC.
Check there's a cache to catch everything
Lastly, it's throwing errors, but are the transmitted images OK? If theuy are, what are you worrying about?
Hello,business_kid, thanks for your reply.
I run about a dozen cameras but have a camera jam problem about once every ten days or so, it's a single camera each time, and the camera that fails is random, and, not every time a camera jam occurs -71.The data that the USB analyzer grabbed was from cypress->TI usb controller->host.And here is some bandwidth margin on the device, and I grabbed the USB message when the error occurred, which you can view inside this link. https://e2e.ti.com/support/interface...nal-host-error.
As you can see, the cypress is still sending data to host controller but the host controller replies host error, And after a few retry, the host controller stop sending retry to cypress and the image is stuck. so i think the problem maybe on the usb controller or linux pci driver, what do you think about it? Thanks!
The interesting part is in the Detail logs section of the original post from my first link, that is missing in post #1 of this thread.
It shows that the addition of a third camera is signaling not enough bandwidth.
Perhaps UVC_QUIRK_FIX_BANDWIDTH is relevant for reasons explained here
PS - A web search for 'uvcvideo: Non-zero status (-71) in video completion handler.' will take you to explanations.
The interesting part is in the Detail logs section of the original post from my first link, that is missing in post #1 of this thread.
It shows that the addition of a third camera is signaling not enough bandwidth.
Perhaps UVC_QUIRK_FIX_BANDWIDTH is relevant for reasons explained here
PS - A web search for 'uvcvideo: Non-zero status (-71) in video completion handler.' will take you to explanations.
Hello allend ,thanks for your reply, and The poster, yunhuali, is a coworker of mine.we are working on this problem.
1. https://www.spinics.net/lists/linux-usb/msg241446.html shows that we use isochronous package to transfer data and the camera lacks of enough bandwidth ,so we choose bulk package to transfer image data and it worked.
2. Although we got enough bandwidth after we use bulk, there is another -71 error which indicates some usb bus error but we can't find where the problem is.The phenomenon is that the camera will lose frames at some point and will not be able to recover unless reset v4l2 stream.And the kernel is not always show log about -71. Using a USB analyzer, we found that the problem may be in the process of transmitting data to the usb host controller -> uvc driver.
Last edited by ming.weride; 11-13-2023 at 11:34 PM.
What you are describing would seem to fit with DMA buffers not being cleared quickly enough. Potentially this is a hardware issue. Have you ever tried only running two cameras rather than three?
What you are describing would seem to fit with DMA buffers not being cleared quickly enough. Potentially this is a hardware issue. Have you ever tried only running two cameras rather than three?
Hi,allend,thanks for your reply, i have seen this post before,because sometimes the capture application such as guvcview doesn't get stuck with -71 error. I have tried run guvcview with less camera, but the image still could stuck, i also think this could be a hard issue. but it seems TI usb controller and intel usb controlled are the same.
I don't share your faith that your equipment is necessarily up to the task. Engineers & technicians want to set up equipment that works. What you have is equipment that theoretically should work but doesn't
I would specify equipment with more headroom, or lower dpi/framerate.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.