ZED 2i unexpected runtime error

Dear,

Thus far we have been enjoying the ZED 2i 2mm NP, great SDK, great depth filtering.

The ZED 2i 2mm NP had been running for several weeks without any issues.

Added another USB camera to the system (USB3 Vision Alvium 1800 U-240c). I suspect this might have cause a bandwidth overload.

An error occurred and did not resolve after reboots:

- [2026-09-04 10:14:55 UTC][ZED][ERROR] [Grab]  Recovery failed: unable to communicate with the camera. Please contact support if this persists.
[2026-09-04 10:14:55 UTC][ZED][ERROR] CAMERA MOTION SENSORS NOT DETECTED in sl::ERROR_CODE sl::Camera::grab(sl::RuntimeParameters)

System information:

Device: Jetson AGX Orin Developer kit 64GB

OS: Ubuntu 22.04.5 LTS

Image: stereolabs/zed:5.3.1-py-runtime-l4t-r36.4

Edit 1/2: typo + no diagnostic export.

Edit final: I believe we should try and fix this issue on our own, as it is technically not related to your products?

Hi @NielsPointFWD,

thank you for the detailed report, and for the kind words about the SDK and the ZED 2i.

No need to close it on your side, we are happy to help you rule out the camera and the SDK first; it takes only a few checks.

Bandwidth saturation is a reasonable suspicion, but the two errors you posted point somewhere slightly different:

[Grab] Recovery failed: unable to communicate with the camera.
CAMERA MOTION SENSORS NOT DETECTED

Pure isochronous bandwidth starvation normally shows up as dropped or corrupted frames and reduced FPS, not as a complete loss of communication. The ZED 2i exposes the video stream and the 9-DoF sensors as two separate USB interfaces; losing both means the device is no longer correctly enumerated or claimed at the USB level. The two most frequent root causes in this exact scenario are:

1. usbfs memory exhausted by the USB3 Vision driver

Allied Vision’s Vimba X installer raises usbcore.usbfs_memory_mb (typically to 1000) to reserve buffers for its own streaming. On Jetson kernels this can starve the buffers the ZED 2i needs, and the symptom survives reboots because the setting is persistent. Please check, on the host:

bash

cat /sys/module/usbcore/parameters/usbfs_memory_mb

If it was modified, try a moderate value (for example 256) by editing the APPEND line in /boot/extlinux/extlinux.conf on your AGX Orin, then reboot.

2. USB topology and power on the AGX Orin Developer Kit

The Type-C ports of the devkit share an xHCI controller. Please move the Alvium to a Type-A port (or to a powered external hub) so that the ZED 2i has its own root port, and confirm the camera is negotiating SuperSpeed:

bash

lsusb -d 2b03:                # ZED 2i must be listed
lsusb -t | grep -A2 xhci      # the ZED 2i port must report 5000M, not 480M
sudo dmesg | grep -iE "usb|xhci" | tail -50

Messages such as device not accepting address, -71, or repeated resets confirm a port, cable, or power problem rather than an SDK one.

Additional checks worth doing, in this order

  • Disconnect the Alvium, and run ZED_Diagnostic and ZED Explorer on the host (outside Docker). This isolates the camera from both the container and the second camera.
  • Verify that the host L4T version really is r36.4, matching your 5.3.1-py-runtime-l4t-r36.4 image, as documented in the Docker install guide for NVIDIA Jetson.
  • Make sure the container is started with --privileged and --runtime nvidia. If the camera re-enumerates while the container is running, the new /dev/bus/usb node is not propagated inside it, so the container must be restarted, not just the application. This is often why the error looks like it “survives reboots”.
  • Set the Jetson to full power mode before testing: sudo nvpmodel -m 0 && sudo jetson_clocks.

If the issue persists after these checks, please attach the ZED_Diagnostic report and the relevant dmesg excerpt here, or send them to support@stereolabs.com, and we will look at it with you.

One last note for your architecture: if the final system is meant to run several cameras permanently on the same Jetson, USB will always remain the weak link in terms of arbitration and cable robustness. Our ZED X series uses GMSL2 instead of USB, with power over coax, cable runs up to 15 m, and hardware frame synchronization across cameras, so bandwidth is deterministic and fully independent from your USB3 Vision device. You can find it here: ZED X Stereo Camera. It would also let you keep the ZED 2i in the system without the two devices competing for the same controller.

Best regards,
Walter

Dear Walter,

Thank you for your elaborate and quick response!

I’ll debug the camera according to your answer in 1-2 weeks, as we have an important demonstration the upcoming week.

Kind regards,

Niels

Dear Walter,

Recently, moved the Alvium camera from the USB type-A port next to the Ethernet port to the USB type-A port next to the 40-pin header. The camera works fine now, I’ll keep it running over the weekend.

  1. This bash command returns 16, so this is not the cause. But this might’ve been the cause some time ago, as I remember tweaking this value several weeks ago.This might’ve been the root cause after all, but I have no proof unfortunately.
  2. lsusb -d 2b03:
    
    1. Bus 002 Device 005: ID 2b03:f880 STEREOLABS ZED 2i
      Bus 001 Device 008: ID 2b03:f881 STEREOLABS ZED-2i HID INTERFACE
      
      1. So, both the video stream and the 9-DoF sensors are listed.
    2. lsusb and lsusb -t (also answer this answer, if I'm not mistaken?)
      

Hopefully the ZED 2i keeps working the upcoming days!

Kind regards,

Niels

@Myzhar ,

I believe I tested the wrong camera, apologies.

Update will follow soon.

There is an issue with either the cable or device:

lsusb -d 2b03:                # ZED 2i must be listed
lsusb -t | grep -A2 xhci      # the ZED 2i port must report 5000M, not 480M
sudo dmesg | grep -iE "usb|xhci" | tail -50
Bus 002 Device 007: ID 2b03:f880 STEREOLABS ZED 2i
[  928.876739] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.877190] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.877688] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.877955] usbhid 1-4.2.1.2:1.0: can't add hid device: -71
[  928.877974] usbhid: probe of 1-4.2.1.2:1.0 failed with error -71
[  928.878184] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.892950] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.893439] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.893935] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.894434] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.894956] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.895451] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.895946] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.896440] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.896938] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.904561] usb 1-4.2.1: clear tt 2 (00e0) error -71
[  928.905059] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.905557] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.906056] usb 1-4.2.1: clear tt 2 (00e0) error -71
[  928.906558] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.907057] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.907566] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  928.907829] usbhid 1-4.2.1.2:1.0: can't add hid device: -71
[  928.907840] usbhid: probe of 1-4.2.1.2:1.0 failed with error -71
[  928.908107] usb 1-4.2.1: clear tt 2 (80e0) error -71
[  930.520990] usb 1-4.2.1.2: USB disconnect, device number 8
[  931.259905] usb 1-4.2.1: USB disconnect, device number 7
[ 1041.856037] usb 1-4.2.1: new high-speed USB device number 11 using tegra-xusb
[ 1042.007550] hub 1-4.2.1:1.0: USB hub found
[ 1042.300035] usb 1-4.2.1.2: new full-speed USB device number 12 using tegra-xusb
[ 1042.384079] usb 1-4.2.1.2: device descriptor read/64, error -32
[ 1042.580338] usb 1-4.2.1.2: device descriptor read/64, error -32
[ 1042.776060] usb 1-4.2.1.2: new full-speed USB device number 13 using tegra-xusb
[ 1042.856104] usb 1-4.2.1.2: device descriptor read/64, error -32
[ 1043.044105] usb 1-4.2.1.2: device descriptor read/64, error -32
[ 1043.152607] usb 1-4.2.1-port2: attempt power cycle
[ 1043.756069] usb 1-4.2.1.2: new full-speed USB device number 14 using tegra-xusb
[ 1043.756443] usb 1-4.2.1.2: Device not responding to setup address.
[ 1043.964451] usb 1-4.2.1.2: Device not responding to setup address.
[ 1044.176043] usb 1-4.2.1.2: device not accepting address 14, error -71
[ 1044.256055] usb 1-4.2.1.2: new full-speed USB device number 15 using tegra-xusb
[ 1044.256448] usb 1-4.2.1.2: Device not responding to setup address.
[ 1044.464449] usb 1-4.2.1.2: Device not responding to setup address.
[ 1044.672062] usb 1-4.2.1.2: device not accepting address 15, error -71
[ 1044.672593] usb 1-4.2.1-port2: unable to enumerate USB device
[ 1049.573182] usb 1-4.2.1: USB disconnect, device number 11
[ 1052.148030] usb 1-4.2.1: new high-speed USB device number 16 using tegra-xusb
[ 1052.276192] usb 1-4.2.1: Device not responding to setup address.
[ 1052.508218] hub 1-4.2.1:1.0: USB hub found
[ 1052.617066] usb 1-4.2.1: Failed to suspend device, error -71

ZED_Diagnostic_Results.json (18.4 KB)

After switching the USB-C (camera connector) horizontally:

        "valid": [
            "<b>Camera: </b>ZED 2i",
            "<b>USB Bandwidth: </b> OK",
            "<b>USB Bandwidth: </b> OK"
        ],

AND both are enumerated:

guideddivest@gd:~/Downloads$ lsusb
Bus 002 Device 009: ID 2b03:f880 STEREOLABS ZED 2i
Bus 002 Device 008: ID 2109:0211 VIA Labs, Inc. USB3.0 Hub
Bus 002 Device 002: ID 0bda:0420 Realtek Semiconductor Corp. 4-Port USB 3.0 Hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 019: ID 2b03:f881 STEREOLABS ZED-2i HID INTERFACE
Bus 001 Device 018: ID 0424:2512 Microchip Technology, Inc. (formerly SMSC) USB 2.0 Hub
Bus 001 Device 017: ID 2109:2211 VIA Labs, Inc. USB2.0 Hub
Bus 001 Device 003: ID 0bda:5420 Realtek Semiconductor Corp. 4-Port USB 2.0 Hub
Bus 001 Device 002: ID 13d3:3549 IMC Networks Bluetooth Radio
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

We are using an official Stereolabs cable.