LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This 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


Reply
  Search this Thread
Old 11-10-2023, 03:21 AM   #1
ming.weride
LQ Newbie
 
Registered: Nov 2023
Posts: 5

Rep: Reputation: 0
Question 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
those error msg from this kernel code:
1. https://elixir.bootlin.com/linux/v5....i-ring.c#L2526
2. https://elixir.bootlin.com/linux/v5...._video.c#L1542
Do you have any idea what this error means? what can we do to avoid those errors?
And We use a USB 3.0 protocol analyzer in between, for bulk transaction, when the issue happens, we captured lots of error. HOSTerr. and retry.

From https://www.ti.com/lit/ds/symlink/tu...oogle.com%252F

I saw TUSB73x0 also provide 7.5.1.65 De-Emphasis and Swing Control Register. please check 7.5.1.65.

why HostErr happens,How can avoid it ? thanks.
https://e2e.ti.com/support/interface...nal-host-error
 
Old 11-11-2023, 03:06 PM   #2
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,455

Rep: Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353
Hello, ming.weride & welcome to LQ.

It looks like you're proceeding logically. I don't have your specs here but here's a few things to check
  1. 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.
  2. Very high specs are advertised for some interfaces but there are strict limits on cable quality, length, types of sockets, etc.
  3. 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.
  4. Suspect everything - right back to the ASICs running your PC.
  5. 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?
 
Old 11-12-2023, 08:59 PM   #3
ming.weride
LQ Newbie
 
Registered: Nov 2023
Posts: 5

Original Poster
Rep: Reputation: 0
Talking

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!
 
Old 11-12-2023, 09:01 PM   #4
ming.weride
LQ Newbie
 
Registered: Nov 2023
Posts: 5

Original Poster
Rep: Reputation: 0
Talking

Quote:
Originally Posted by business_kid View Post
Hello, ming.weride & welcome to LQ.

It looks like you're proceeding logically. I don't have your specs here but here's a few things to check
  1. 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.
  2. Very high specs are advertised for some interfaces but there are strict limits on cable quality, length, types of sockets, etc.
  3. 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.
  4. Suspect everything - right back to the ASICs running your PC.
  5. 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!
 
Old 11-13-2023, 06:58 AM   #5
allend
LQ 5k Club
 
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware64-15.0
Posts: 6,383

Rep: Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762
It looks like the question in post #1 has been shopped around in the past.
https://e2e.ti.com/support/interface...chronous-error
https://www.spinics.net/lists/linux-usb/msg241446.html

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.

Last edited by allend; 11-13-2023 at 06:59 AM.
 
Old 11-13-2023, 11:24 PM   #6
ming.weride
LQ Newbie
 
Registered: Nov 2023
Posts: 5

Original Poster
Rep: Reputation: 0
Talking

Quote:
Originally Posted by allend View Post
It looks like the question in post #1 has been shopped around in the past.
https://e2e.ti.com/support/interface...chronous-error
https://www.spinics.net/lists/linux-usb/msg241446.html

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.
 
Old 11-14-2023, 04:39 AM   #7
allend
LQ 5k Club
 
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware64-15.0
Posts: 6,383

Rep: Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762Reputation: 2762
I am sure your knowledge of this matter is greater than mine.

Have you seen this?

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?
 
Old 11-23-2023, 04:07 AM   #8
ming.weride
LQ Newbie
 
Registered: Nov 2023
Posts: 5

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by allend View Post
I am sure your knowledge of this matter is greater than mine.

Have you seen this?

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.
 
Old 11-23-2023, 06:31 AM   #9
business_kid
LQ Guru
 
Registered: Jan 2006
Location: Ireland
Distribution: Slackware, Slarm64 & Android
Posts: 16,455

Rep: Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353Reputation: 2353
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.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
ASM1053 reset SuperSpeed USB device number x using xhci_hcd tb404 Linux - Kernel 0 11-03-2017 10:48 PM
xhci smart auto: Cannot enable port 1. Maybe the USB cable is bad? pverha10 Slackware 5 04-18-2015 08:29 AM
USB 3.0 ports running on ehci when xhci is included in my kernel Alpha90 Linux - Hardware 2 11-02-2012 04:40 PM
Load test, boundary test & stress test for USB EHCI/xHCI driver rama_toshiba Linux - Kernel 5 02-29-2012 02:43 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 06:48 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration