How to debug usb problem

Is there a debug version of the usb controller firmware tegra18x_xusb_firmware? so we can debug and report usb problems?

We use several usb devices in our system. The devices may suddenly be drop-off (after working for hours) for unknown reason.
The ZED camera (a USB3 device) are dropped-off more frequently than others. But we have no clue why these happens.

The problem can be fixed by either

  1. re-open the camera (not always work)
  2. reboot the tx2

The following are the message we had seen:


[ 2318.964238] usb 1-1.4.3: reset full-speed USB device number 13 using xhci-tegra
[ 2324.051637] usb 1-1.4.3: device descriptor read/64, error -110

----------- some time get this
VIDIOC_G_PARM - Unable to get timeperframe: No such device

------------or -71 status in the urb received in uvc_video.c
on-zero status (-71) in video completion handler

----------- crashed usb firmware (once)

Hi hllu,
We don’t have debug version of FW.

What is the usb cam you use to reproduce the issue? Do you run r28.1?

We use ZED camera https://www.stereolabs.com/

But the problem is not only for the camera. Sometimes, other usb devices would suddenly disappear too. But that ZED camera (the only USB 3.0 device in the system) disappears more often than others.

At first, we thought it may be the usb connection. But since reboot can fix the problem every time, we are thinking this may be a software problem.

[Wed Dec 20 18:41:20 2017] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work mailbox command 4
[Wed Dec 20 18:41:20 2017] xhci-tegra 3530000.xhci: tegra_xhci_mbox_work ignore firmware MBOX_CMD_INC_SSPI_CLOCK request
[Wed Dec 20 18:41:34 2017] uvcvideo: Non-zero status (-71) in video completion handler.

FYI it is possible that one device re-enumerating can cause others to require re-enumeration as well, e.g., if a HUB re-enumerates, then all devices connected to the HUB must also re-enumerate. Under “lsusb -t” is the there any sharing of a non-root HUB?