How can I enable the CAN bus on my NVIDIA® Jetson™ development kit while using GMSL2 cameras?
Last updated: October 23, 2026
When you install the ZED X Driver on an NVIDIA® Jetson™ development kit to use GMSL2 cameras (ZED X, ZED X Mini, ZED X Nano, ZED X One GS, ZED X One S, or ZED X One 4K), the default device tree is modified to remap and enable the GPIO signals required to drive the ZED Link capture card.
If your application requires the CAN bus, do not use the NVIDIA® Jetson-IO tool to configure the expansion header pins and enable the CAN bus: Jetson-IO overwrites the device tree configuration set by the ZED X Driver installer, and the GMSL2 capture card stops working.
Enable the CAN bus manually
Configure the pinmux of the CAN pins with the following commands:
sudo apt-get install busybox
sudo busybox devmem 0x0c303018 w 0x458 # CAN 0 din
sudo busybox devmem 0x0c303010 w 0x400 # CAN 0 dout
sudo busybox devmem 0x0c303008 w 0x458 # CAN 1 din
sudo busybox devmem 0x0c303000 w 0x400 # CAN 1 doutNote: these register addresses refer to the Jetson Orin modules. The values written with devmem are not persistent: run the commands again after every reboot, for example with a systemd service or a startup script.
Then load the CAN kernel modules and bring up the interface (example with a 500 kbit/s bit rate):
sudo modprobe can
sudo modprobe can_raw
sudo modprobe mttcan
sudo ip link set can0 type can bitrate 500000
sudo ip link set can0 upYou can test the bus with the can-utils package (sudo apt-get install can-utils), for example with candump can0.
For more information, see the Controller Area Network (CAN) page of the NVIDIA® Jetson Linux Developer Guide.
Tip: the ZED Box series provides dedicated CAN ports that work together with the GMSL2 cameras with no additional configuration: 2x CAN on the ZED Box 2, 4x CAN FD on the ZED Box 2 Max (T4000 / T5000).