I’m running a program that uses Jetson Xavier NX
After running the program for a while, the following message “xhci: controller firmware hang” will appear and the USB device will not be recognized.
Can someone help me solve this problem?
Our program works by connecting 3 USB3 cameras.
When this program is run, the following warning is issued.
Mar 17 19:12:29 JetsonNx kernel: [ 306.438004] tegra-xusb 3610000.xhci: WARN Event TRB for slot 6 ep 4 with no TDs queued?
Mar 17 19:12:29 JetsonNx kernel: [ 306.541946] tegra-xusb 3610000.xhci: WARN Event TRB for slot 6 ep 4 with no TDs queued?
Mar 17 19:12:45 JetsonNx kernel: [ 322.133963] tegra-xusb 3610000.xhci: WARN Event TRB for slot 5 ep 4 with no TDs queued?
Mar 17 19:12:57 JetsonNx kernel: [ 334.410050] tegra-xusb 3610000.xhci: WARN Event TRB for slot 5 ep 4 with no TDs queued?
Mar 17 19:12:59 JetsonNx kernel: [ 336.209921] tegra-xusb 3610000.xhci: WARN Event TRB for slot 5 ep 4 with no TDs queued?
Mar 17 19:13:12 JetsonNx kernel: [ 349.037783] tegra-xusb 3610000.xhci: WARN Event TRB for slot 6 ep 4 with no TDs queued?
Mar 17 19:13:24 JetsonNx kernel: [ 360.897889] tegra-xusb 3610000.xhci: WARN Event TRB for slot 5 ep 4 with no TDs queued?
This warning seems to be related to the USB bandwidth.
This warning is output even when “xhci: controller firmware hang” does not occur.
If you run the program for a while, the following message may appear and the program may not recognize the USB device.
The time it takes for the “firmware hang” to occur varies considerably,
It occurs in 10.5 hours on average.
Mar 18 06:16:19 JetsonNx kernel: [76581.297361] tegra-xusb 3610000.xhci: controller firmware hang
Mar 18 06:16:19 JetsonNx kernel: [76581.297513] tegra-xusb 3610000.xhci: hcd_reinit is disabled or in progress
Mar 18 06:16:19 JetsonNx kernel: [76581.648813] usb 2-3.1: Process 7638 (python3) called USBDEVFS_CLEAR_HALT for active endpoint 0x84
Mar 18 06:16:19 JetsonNx kernel: [76581.659104] usb 2-3.2: Process 7856 (python3) called USBDEVFS_CLEAR_HALT for active endpoint 0x84
Mar 18 06:16:19 JetsonNx kernel: [76581.822507] usb 2-3.3: Process 7774 (python3) called USBDEVFS_CLEAR_HALT for active endpoint 0x84
Mar 18 06:16:24 JetsonNx systemd[1]: Started Daily apt download activities.
Mar 18 06:16:29 JetsonNx kernel: [76591.855445] tegra-xusb 3610000.xhci: xHCI host not responding to stop endpoint command.
Mar 18 06:16:29 JetsonNx kernel: [76591.855626] tegra-xusb 3610000.xhci: Assuming host is dying, halting host.
Mar 18 06:16:29 JetsonNx kernel: [76591.855760] tegra-xusb 3610000.xhci: xHCI host not responding to stop endpoint command.
Mar 18 06:16:29 JetsonNx kernel: [76591.855910] tegra-xusb 3610000.xhci: Assuming host is dying, halting host.
Mar 18 06:16:29 JetsonNx kernel: [76591.871786] tegra-xusb 3610000.xhci: Host not halted after 16000 microseconds.
Mar 18 06:16:29 JetsonNx kernel: [76591.871968] tegra-xusb 3610000.xhci: Non-responsive xHCI host is not halting.
Mar 18 06:16:29 JetsonNx kernel: [76591.872057] tegra-xusb 3610000.xhci: Host not halted after 16000 microseconds.
Mar 18 06:16:29 JetsonNx kernel: [76591.872210] tegra-xusb 3610000.xhci: Completing active URBs anyway.
Mar 18 06:16:29 JetsonNx kernel: [76591.872327] tegra-xusb 3610000.xhci: Non-responsive xHCI host is not halting.
Mar 18 06:16:29 JetsonNx kernel: [76591.872455] tegra-xusb 3610000.xhci: Completing active URBs anyway.
Mar 18 06:16:29 JetsonNx kernel: [76591.873273] tegra-xusb 3610000.xhci: HC died; cleaning up
Mar 18 06:16:29 JetsonNx kernel: [76591.873281] tegra-xusb 3610000.xhci: HC died; cleaning up
Mar 18 06:16:29 JetsonNx kernel: [76591.873302] tegra-xusb 3610000.xhci: hcd_reinit is disabled or in progress
Mar 18 06:16:29 JetsonNx kernel: [76591.873346] usb 1-2: USB disconnect, device number 2
Mar 18 06:16:29 JetsonNx kernel: [76591.873351] usb 1-2.5: USB disconnect, device number 3
Mar 18 06:16:29 JetsonNx kernel: [76591.873496] tegra-xusb 3610000.xhci: hcd_reinit is disabled or in progress
Mar 18 06:16:37 JetsonNx kernel: [76599.874390] tegra-xusb 3610000.xhci: Stopped the command ring failed, maybe the host is dead
Mar 18 06:16:37 JetsonNx kernel: [76599.890588] tegra-xusb 3610000.xhci: Host not halted after 16000 microseconds.
Mar 18 06:16:37 JetsonNx kernel: [76599.890743] tegra-xusb 3610000.xhci: Abort command ring failed
Mar 18 06:16:37 JetsonNx kernel: [76599.891062] tegra-xusb 3610000.xhci: xHCI host not responding to stop endpoint command.
Mar 18 06:16:37 JetsonNx kernel: [76599.891212] tegra-xusb 3610000.xhci: Assuming host is dying, halting host.
Mar 18 06:16:37 JetsonNx kernel: [76599.896021] usb 2-3: USB disconnect, device number 2
Mar 18 06:16:37 JetsonNx kernel: [76599.896032] usb 2-3.1: USB disconnect, device number 3
Mar 18 06:16:37 JetsonNx kernel: [76599.897018] usb 2-3.2: USB disconnect, device number 6
Mar 18 06:16:37 JetsonNx kernel: [76599.897834] usb 2-3.3: USB disconnect, device number 5
Mar 18 06:16:37 JetsonNx kernel: [76599.907386] tegra-xusb 3610000.xhci: Host not halted after 16000 microseconds.
Mar 18 06:16:37 JetsonNx kernel: [76599.907531] tegra-xusb 3610000.xhci: Non-responsive xHCI host is not halting.
Mar 18 06:16:37 JetsonNx kernel: [76599.907658] tegra-xusb 3610000.xhci: Completing active URBs anyway.
Mar 18 06:16:37 JetsonNx kernel: [76599.907787] tegra-xusb 3610000.xhci: HC died; cleaning up
Mar 18 06:16:37 JetsonNx kernel: [76599.907898] tegra-xusb 3610000.xhci: hcd_reinit is disabled or in progress
Mar 18 06:16:37 JetsonNx kernel: [76599.908098] tegra-xusb 3610000.xhci: HC died; cleaning up
Mar 18 06:16:37 JetsonNx kernel: [76599.908206] tegra-xusb 3610000.xhci: hcd_reinit is disabled or in progress
I was monitoring the USB bandwidth with the usbtop command, but I didn’t see any increase in USB usage before the “firmware hang”.
What is the cause of this phenomenon and how can it be resolved?
Also, please tell me how to collect logs that are useful for investigation.
[environment]
-jetpack 4.6
-3 x USB3.0 Camera (Realsense D435)
-Jetson Xavier NX