Nx Devkit USB controller firmware hang

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

1 Like

Hi,
The Xavier NX developer kit has same design as Nano developer kit in USB so it is possible to hit bandwidth or stability issue when connecting to multiple cameras. Please check explanation in
connected more than two usb cameras problem on deepstream-app (Jetson Nano Dev Kit) - #12 by DaneLLL

For Realsense camera we would suggest connect to one camera for better stability. AGX Xavier developer kit has one type-A port and two type-C port, and is a propriate platform for 3x Realsense cameras.

Thank you for your reply
Is there a way to make it work stably with multiple Realsense D435?
I have 3 RealSense D435s set to capture at 60fps with a resolution of 848x480.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.