GMSL2 Troubleshooting

This is a comprehensive guide that addresses the most common issues you may face while setting up your GMSL2 camera.

However, if you encounter a problem that the guide does not address, please contact us directly by emailing support@stereolabs.com. Our team will be happy to assist you.

Before contacting the support team by email, please run the command sudo ZED_Diagnostic --dmesg, save the dmesg.log report file that it generates, and add it to the email as an attachment. This will provide the team with useful information to debug the problem.

The camera is not detected #

GMSL2 cameras have lower flexibility compared to USB cameras. Any modification in the hardware configuration, such as plugging or unplugging a camera, or changing the camera order, requires either rebooting the Jetson, or restarting the installed daemon with the following command:

sudo systemctl restart zed_x_daemon

If you want to upgrade the ZED Link driver, it is required to uninstall the previously installed version:

sudo dpkg -r stereolabs-<name>

To retrieve the correct name of the package to remove, you can use the command:

sudo dpkg -l | grep stereolabs-

Troubleshooting commands #

The following commands will help troubleshoot your GMSL2 connection:

sudo dmesg | grep zedx

Use the ZED Diagnostic tool dmesg option for quick debugging:

sudo ./ZED_Diagnostic --dmesg

Xavier NX / Orin NX MIPI Bandwidth #

The default configuration for the MIPI lanes may be too high depending on the quality and length of the flat cables used to connect the NX development kit carrier boards to the GMSL2 capture card. In such cases, the dmesg diagnostic report does not indicate any problems, but the camera cannot be detected correctly by the ZED SDK.

You can solve the problem by using shorter flat cables, the recommended maximum length is 7 cm, or by changing the settings for the speed of the MIPI lanes.

Set the speed of the MIPI lanes #

Try first with 2 Gbps per lane:

sudo i2cset -y -f 30 0x29 0x04 0x15 0x34 i
sudo i2cset -y -f 30 0x29 0x04 0x18 0x34 i
sudo i2cset -y -f 30 0x29 0x04 0x1B 0x34 i
sudo i2cset -y -f 30 0x29 0x04 0x1E 0x34 i

then with 1.6 Gbps per lane if 2 Gbps is still too high:

sudo i2cset -y -f 30 0x29 0x04 0x15 0x30 i
sudo i2cset -y -f 30 0x29 0x04 0x18 0x30 i
sudo i2cset -y -f 30 0x29 0x04 0x1B 0x30 i
sudo i2cset -y -f 30 0x29 0x04 0x1E 0x30 i

📌 Note: This set of commands must be entered after each reboot, and after calling the reset command sudo systemctl restart zed_x_daemon.