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