Hi,
I’ve got a Jetson TX1 running L4T 3.1 and a selection of USB3 UVC video cameras.
I’m interfacing the cameras both through gstreamer and using the V4L2 api directly.
The problem I’m having is that when I attempt to start streaming, the USB bus almost immediately stops working, causing the camera to stop sending frames, the network to go offline, and all usb devices to dissapear, except for the root hubs.
At first I thought that it may be a power-delivery issue, so I tried to run the cameras through a powered USB hub, however there was no change to the issue.
All cameras tested work flawlessly on my dev machine running Ubuntu 16.04 with kernel ‘4.13.0-26-generic’
The following is an excerpt of dmesg when the camera stops responding:
[ 215.992931] xhci-tegra 70090000.xusb: xHCI host not responding to stop endpoint command.
[ 216.024651] xhci-tegra 70090000.xusb: Assuming host is dying, halting host.
[ 216.105516] xhci-tegra 70090000.xusb: Host not halted after 16000 microseconds.
[ 216.137903] xhci-tegra 70090000.xusb: Non-responsive xHCI host is not halting.
[ 216.172401] xhci-tegra 70090000.xusb: Completing active URBs anyway.
[ 216.195825] xhci-tegra 70090000.xusb: HC died; cleaning up
[ 217.534359] tegra-xusb-mbox 70098000.mailbox: Controller firmware hang
[ 217.556584] tegra-xusb-mbox 70098000.mailbox: XUSB_CFG_ARU_MBOX_OWNER 0x0
[ 217.579071] tegra-xusb-mbox 70098000.mailbox: XUSB_CFG_ARU_MBOX_CMD 0x80000000
[ 217.616055] tegra-xusb-mbox 70098000.mailbox: XUSB_CFG_ARU_MBOX_DATA_IN 0x0
[ 217.638913] tegra-xusb-mbox 70098000.mailbox: XUSB_CFG_ARU_MBOX_DATA_OUT 0x0
[ 244.064524] NMI watchdog: BUG: soft lockup - CPU#2 stuck for 23s! [swapper/2:0]
[ 244.102489] Modules linked in: bcmdhd bluedroid_pm
[ 244.123152]
[ 244.139643] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 4.4.38+ #5
[ 244.161165] Hardware name: jetson_tx1 (DT)
[ 244.180800] task: ffffffc0fb321900 ti: ffffffc0fb32c000 task.ti: ffffffc0fb32c000
[ 244.220058] PC is at __delay+0x1c/0x38
[ 244.239548] LR is at __const_udelay+0x24/0x2c
[ 244.259257] pc : [<ffffffc00036b61c>] lr : [<ffffffc00036b65c>] pstate: 20000145
[ 244.296966] sp : ffffffc0fb32fb20
[ 244.315058] x29: ffffffc0fb32fb20 x28: 0000000000000200
[ 244.335736] x27: ffffffc00146c3d0 x26: ffffffc0fb32c000
[ 244.356247] x25: ffffffc000722d78 x24: ffffffc07d26a260
[ 244.376306] x23: 00000000000010c7 x22: 0000000000000008
[ 244.396067] x21: 0000000000000000 x20: ffffff80052f0038
[ 244.415664] x19: 00000000000a1f6e x18: 0000000000000000
[ 244.434874] x17: 0000000000000000 x16: 0000000000000000
[ 244.453543] x15: 0000000000000008 x14: 0000000000000001
[ 244.471663] x13: ffffffc0f9edefbf x12: ffffff8000bec600
[ 244.489535] x11: 00000000ffffffff x10: 0000000000000008
[ 244.507422] x9 : 0000000000cdcdcd x8 : ffffffc0002f061c
[ 244.525029] x7 : ffffffc0ffe68618 x6 : 0000000000000000
[ 244.542669] x5 : 0000000000003fff x4 : 0000000000000008
[ 244.560368] x3 : 00000000002dc6c0 x2 : 0000000122e57e0f
[ 244.577611] x1 : 0000000000000009 x0 : 0000000000000013
[ 244.594424]
[ 247.111925] xhci-tegra 70090000.xusb: Stopped the command ring failed, maybe the host is dead
[ 247.203898] xhci-tegra 70090000.xusb: Host not halted after 16000 microseconds.
[ 247.234880] xhci-tegra 70090000.xusb: Abort command ring failed
[ 247.253203] xhci-tegra 70090000.xusb: HC died; cleaning up
[ 247.271329] usb 1-3: USB disconnect, device number 2
[ 247.272559] INFO: rcu_preempt detected stalls on CPUs/tasks:
[ 247.272607] 2-...: (1 GPs behind) idle=7e9/140000000000000/0 softirq=4003/4003 fqs=0
[ 247.272619] (detected by 3, t=7804 jiffies, g=3830, c=3829, q=197)
[ 247.272634] Task dump for CPU 2:
[ 247.272657] kworker/2:1 R running task 0 101 2 0x00000000
[ 247.272806] Workqueue: usb_hub_wq hub_event
[ 247.272825] Call trace:
[ 247.272944] [<ffffffc000085e54>] __switch_to+0x3c/0x48
[ 247.272951] [< (null)>] (null)
[ 247.272988] rcu_preempt kthread starved for 7804 jiffies! g3830 c3829 f0x0 s3 ->state=0x1
[ 247.350863] usb 1-3.4: USB disconnect, device number 3
[ 247.357209] usb 2-1: USB disconnect, device number 2
[ 247.428659] usb 2-2: USB disconnect, device number 3
[ 247.434895] usb 2-2.1: USB disconnect, device number 6
[ 247.489604] usb 2-2.4: USB disconnect, device number 4
to me this looks like a problem with the USB driver. Any thoughts?
I’ve attached the output of “udevadm info -a /dev/video0” just in case.
udevadm-info-a-dev-video0.txt (3.88 KB)