ZED Camera not Detected on Auto Power Up (tegra-xusb error -61)

After upgrading the Xavier to Jetpack 4.2.2 I am unable to use the ZED camera attached to any USB port. This is the relevant errors in dmesg:

nvidia@nvidia-desktop:/sys/devices/3610000.xhci/usb2$ dmesg | grep 2-1
[ 16.234687] usb 2-1: new SuperSpeed USB device number 2 using tegra-xusb
[ 16.254728] usb 2-1: device descriptor read/8, error -61
[ 16.362373] usb 2-1: new SuperSpeed USB device number 2 using tegra-xusb
[ 16.382718] usb 2-1: device descriptor read/8, error -61
[ 16.698682] usb 2-1: new SuperSpeed USB device number 3 using tegra-xusb
[ 16.718764] usb 2-1: device descriptor read/8, error -61
[ 16.826386] usb 2-1: new SuperSpeed USB device number 3 using tegra-xusb
[ 16.846745] usb 2-1: device descriptor read/8, error -61
[ 18.522671] usb 2-1: new SuperSpeed USB device number 4 using tegra-xusb
[ 18.542722] usb 2-1: device descriptor read/8, error -61
[ 18.650374] usb 2-1: new SuperSpeed USB device number 4 using tegra-xusb
[ 18.670752] usb 2-1: device descriptor read/8, error -61
[ 18.990674] usb 2-1: new SuperSpeed USB device number 5 using tegra-xusb
[ 19.010826] usb 2-1: device descriptor read/8, error -61
[ 19.118422] usb 2-1: new SuperSpeed USB device number 5 using tegra-xusb
[ 19.138843] usb 2-1: device descriptor read/8, error -61

However, if I unplug, and then re-plug the ZED camera then it works fine

[ 388.038645] usb 2-1: new SuperSpeed USB device number 6 using tegra-xusb
[ 388.059591] usb 2-1: New USB device found, idVendor=2b03, idProduct=f582
[ 388.059603] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 388.059610] usb 2-1: Product: ZED
[ 388.059617] usb 2-1: Manufacturer: Technologies, Inc.
[ 388.118230] uvcvideo 2-1:1.0: Entity type for entity ZED was not initialized!
[ 388.118579] uvcvideo 2-1:1.0: Entity type for entity ZED was not initialized!
[ 388.118740] uvcvideo 2-1:1.0: Entity type for entity Camera 1 was not initialized!
[ 388.120371] input: ZED as /devices/3610000.xhci/usb2/2-1/2-1:1.0/input/input6
[ 390.390396] usb 2-1: usb_suspend_both: status 0

I have tried unbind/bind sequence on 3610000.xhci usb driver without success. I have tried rebooting the system multiple times, and still no ZED detection. The only thing that works reliably is to physically unplug the port, and re-plug it. Then anything else after that works: unbind/bind, reboots.

Googling around show similar issues over the years, but no clear solution, yet. The problem I am having is that everytime the Xavier autoboots on power, my only choice is to physically remove the USB cable and put it back in. I am on Jetpack 4.2.2, and ZED 1523 firmware (everything up to date).

Any other suggestion to power cycle the USB bus on command?

Frankie Sierra

Hi,
We don’t observe the issue with ZED-Mini ZED Mini - Mixed-Reality Camera | Stereolabs
Please share the model ID of your camera for reference.

We have a couple of ZED cameras. The original ZED, which we will call Mama-ZED from now on. And we also have ZED-mini, which we will call Baby-ZED in the rest of this message.

We are familiar with some of the forum discussions about problems with Baby-ZED. That is the reason that prompted us to upgrade Xavier Jetpack to 4.2.2. However, we are using Mama-ZED on this particular system, which was kind of working intermittently before. But after the upgrade it stopped working completely. And what we mean by stopped working is this:

  1. Xavier jumper installed to enable autoboot on power.
  2. Every time the system power-on (cold-boot) Mama-ZED fails to register (missing in lsusb command).
  3. After power-up, we have been able to get Mama-ZED to register with physical re-insertion of USB plug. We have attempted software workarounds (soft reboot, unbind/bind the bus, among others) without success.

Since physical re-insertion is not a feasible solution for us, for all practical purposes Mama-ZED stopped working for us. We do prefer Mama-ZED for our application due to extended range.

Now we also tested with Baby-ZED and discovered that it seems to be more robust with coldboot powerup. Something seems to register consistently. But also noticed that sometimes it fails to register in one of the buses.

Here is a sample lsusb when Baby-ZED fails after coldboot with Jetpack 4.2.2:

nvidia@nvidia-desktop:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2b03:f681
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Here is a sample lsusb when Baby-ZED manages to fully register:

nvidia@nvidia-desktop:~$ lsusb
Bus 002 Device 002: ID 2b03:f682
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 2b03:f681
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

We have been using Baby-ZED on another Xavier system with older Jetpack, and we do experience intermittent connection issues as well there. The tests on Jetpack 4.2.2 show an improvement, but the problem still intermittently happening with Baby-ZED. When Baby-ZED fails to fully register, the only solution is physical re-insertion of the USB plug.

Some other threads discussed the use of a powered USB hub in between the camera and the host. We have been reluctant in attempting this route due to extra components, plus another source of EMI radiation in the system, which is something we are actively looking to mitigate. Nonetheless, we did tried a couple of passive USB 3.0 hub and we found out that it does 100% resolve the issue with Mama-ZED, allowing Mama-ZED to consistently register on coldboot. However, it did Not resolve the issue with Baby-ZED. Actually Baby-ZED consistently fails to register for USB 3.0 bus when attached through the passive USB 3.0 hub.

Let us know if you need any additional information.

Frankie Sierra

Hi,
So the camera we have is Baby-ZED. It is possible to reproduce the issue with Baby-ZED? We don’t have Mama-ZED.