Zed X Jetpack 6 driver not working correctly

Hi all,

I have a SeeedStudio j4012 recomputer witha Orin NX 16GB mounted on their j401 carrier board. It came with Jetpack 5.1.1, the Zed SDK and Driver installed fine on that and my Zed X + Mono capture card combo worked fine.

However, there were OpenGL freeglut errors and viewer issues on some of the demos (namely birds_eye_viewer). So I decided to upgrade to Jetpack 6.

Jetpack 6 is installed, but it looks like there’s a driver issue, on boot I see that there is a failed to open /boot/tegra234-j401-camera-zedlink-mono-sl-overlay.dtbo file error, so I think driver installation is going wrong?

dmesg diagnostic output below:

Created: Mon Aug 19 2024
 
###########################################
############ DMESG [ZEDX] LOG #############
###########################################
 
[   15.234512] sl_zedx: disagrees about version of symbol tegracam_v4l2subdev_unregister
[   15.234521] sl_zedx: Unknown symbol tegracam_v4l2subdev_unregister (err -22)
[   15.234562] sl_zedx: disagrees about version of symbol tegracam_v4l2subdev_register
[   15.234563] sl_zedx: Unknown symbol tegracam_v4l2subdev_register (err -22)
[   15.234573] sl_zedx: disagrees about version of symbol tegracam_device_unregister
[   15.234574] sl_zedx: Unknown symbol tegracam_device_unregister (err -22)
[   15.234602] sl_zedx: disagrees about version of symbol tegracam_get_privdata
[   15.234603] sl_zedx: Unknown symbol tegracam_get_privdata (err -22)
[   15.234617] sl_zedx: disagrees about version of symbol camera_common_mclk_enable
[   15.234618] sl_zedx: Unknown symbol camera_common_mclk_enable (err -22)
[   15.234626] sl_zedx: disagrees about version of symbol tegracam_set_privdata
[   15.234627] sl_zedx: Unknown symbol tegracam_set_privdata (err -22)
[   15.234633] sl_zedx: disagrees about version of symbol tegracam_device_register
[   15.234633] sl_zedx: Unknown symbol tegracam_device_register (err -22)
[   15.268552] sl_zedxone_uhd: disagrees about version of symbol tegracam_v4l2subdev_unregister
[   15.268562] sl_zedxone_uhd: Unknown symbol tegracam_v4l2subdev_unregister (err -22)
[   15.268603] sl_zedxone_uhd: disagrees about version of symbol camera_common_g_ctrl
[   15.268604] sl_zedxone_uhd: Unknown symbol camera_common_g_ctrl (err -22)
[   15.268620] sl_zedxone_uhd: disagrees about version of symbol tegracam_v4l2subdev_register
[   15.268621] sl_zedxone_uhd: Unknown symbol tegracam_v4l2subdev_register (err -22)
[   15.268629] sl_zedxone_uhd: disagrees about version of symbol tegracam_device_unregister
[   15.268630] sl_zedxone_uhd: Unknown symbol tegracam_device_unregister (err -22)
[   15.268715] sl_zedxone_uhd: disagrees about version of symbol tegracam_get_privdata
[   15.268717] sl_zedxone_uhd: Unknown symbol tegracam_get_privdata (err -22)
[   15.268735] sl_zedxone_uhd: disagrees about version of symbol camera_common_mclk_enable
[   15.268735] sl_zedxone_uhd: Unknown symbol camera_common_mclk_enable (err -22)
[   15.268743] sl_zedxone_uhd: disagrees about version of symbol camera_common_mclk_disable
[   15.268744] sl_zedxone_uhd: Unknown symbol camera_common_mclk_disable (err -22)
[   15.268749] sl_zedxone_uhd: disagrees about version of symbol tegracam_set_privdata
[   15.268750] sl_zedxone_uhd: Unknown symbol tegracam_set_privdata (err -22)
[   15.268756] sl_zedxone_uhd: disagrees about version of symbol tegracam_device_register
[   15.268757] sl_zedxone_uhd: Unknown symbol tegracam_device_register (err -22)
 
###########################################
############ DMESG [MAX9x] LOG #############
###########################################
 
 
###########################################
############ DMESG [PCA] LOG #############
###########################################
 
 
###########################################
############ DMESG [DTS] LOG #############
###########################################
 
 
###########################################
############ DTB list original  ###########
###########################################
 
/boot/dtb/kernel_tegra234-j401-p3768-0000+p3767-0000-recomputer.dtb
 
###########################################
############ DTB list SLabs     ###########
###########################################
 
board.py
extlinux.py
fio.py
Headers
Jetson
Linux
__pycache__
Utils
zlconfig
 
###########################################
############ EXTlinux file      ###########
###########################################
 
TIMEOUT 30
DEFAULT Stereolabs
 
MENU TITLE L4T boot options
 
LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} root=PARTUUID=4b8a73c4-da72-45a0-bf8e-233d1240f538 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0 nospectre_bhb video=efifb:off console=tty0 
 
# When testing a custom kernel, it is recommended that you create a backup of
# the original kernel and add a new entry to this file so that the device can
# fallback to the original kernel. To do this:
#
# 1, Make a backup of the original kernel
#      sudo cp /boot/Image /boot/Image.backup
#
# 2, Copy your custom kernel into /boot/Image
#
# 3, Uncomment below menu setting lines for the original kernel
#
# 4, Reboot
 
# LABEL backup
#    MENU LABEL backup kernel
#    LINUX /boot/Image.backup
#    INITRD /boot/initrd
#    APPEND ${cbootargs}
 
LABEL Stereolabs
	MENU LABEL Stereolabs kernel
	LINUX /boot/Image
	FDT /boot/dtb/kernel_tegra234-j401-p3768-0000+p3767-0000-recomputer.dtb
	INITRD /boot/initrd
	APPEND ${cbootargs} root=PARTUUID=4b8a73c4-da72-45a0-bf8e-233d1240f538 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 net.ifnames=0 nospectre_bhb video=efifb:off console=tty0
	OVERLAYS /boot/tegra234-j401-camera-zedlink-mono-sl-overlay.dtbo
 
###########################################
############ Jetpack      ###########
###########################################
 
# R36 (release), REVISION: 3.0, GCID: 36191598, BOARD: generic, EABI: aarch64, DATE: Mon May  6 17:34:21 UTC 2024
# KERNEL_VARIANT: oot
TARGET_USERSPACE_LIB_DIR=nvidia
TARGET_USERSPACE_LIB_DIR_PATH=usr/lib/aarch64-linux-gnu/nvidia
 
###########################################
############ Dpkg list      ###########
###########################################
 
 
####################################
############ Driver list ###########
####################################
 
/usr/lib/modules/5.15.136-tegra/kernel/drivers/stereolabs/max9296/sl_max9296.ko==> exists
/usr/lib/modules/5.15.136-tegra/kernel/drivers/stereolabs/zedx/sl_zedx.ko ==> exists
/usr/lib/modules/5.15.136-tegra/kernel/drivers/stereolabs/zedone4k/sl_zedxone_uhd.ko ==> exists
 
################################################
############ ZEDX Daemon Status LS #############
################################################
 
● zed_x_daemon.service - ZED-X Daemon service
     Loaded: loaded (/etc/systemd/system/zed_x_daemon.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2024-08-19 17:43:09 IST; 2min 38s ago
   Main PID: 1055 (ZEDX_Daemon)
      Tasks: 5 (limit: 18458)
     Memory: 12.0M
        CPU: 289ms
     CGroup: /system.slice/zed_x_daemon.service
             └─1055 /usr/sbin/ZEDX_Daemon
 
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: Tegra release :  9
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: [ "Mon Aug 19 17:43:09 2024" ]  ** Searching for Preload file  "/etc/systemd/system/zed_x_daemon.preload"  :  false
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: [ "Mon Aug 19 17:43:09 2024" ]   Process  "rmmod sl_zedxone_uhd" outputs  "rmmod: ERROR: Module sl_zedxone_uhd is not currently loaded\n"
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: [ "Mon Aug 19 17:43:09 2024" ]   Process  "rmmod sl_zedx" outputs  "rmmod: ERROR: Module sl_zedx is not currently loaded\n"
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: [ "Mon Aug 19 17:43:09 2024" ]   Process  "rmmod sl_max9296" outputs  "rmmod: ERROR: Module sl_max9296 is not currently loaded\n"
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: [ "Mon Aug 19 17:43:09 2024" ]   Process  "insmod  /usr/lib/modules/5.15.136-tegra/kernel/drivers/stereolabs/zedx/sl_zedx.ko" outputs  "insmod: ERROR: could not insert module /usr/lib/modules/5.15.136-tegra/kernel/drivers/stereolabs/zedx/sl_zedx.ko: Invalid parameters\n"
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: [ "Mon Aug 19 17:43:09 2024" ]   Process  "insmod  /usr/lib/modules/5.15.136-tegra/kernel/drivers/stereolabs/zedone4k/sl_zedxone_uhd.ko" outputs  "insmod: ERROR: could not insert module /usr/lib/modules/5.15.136-tegra/kernel/drivers/stereolabs/zedone4k/sl_zedxone_uhd.ko: Invalid parameters\n"
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: ** ZED-X Driver loaded
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: [ "Mon Aug 19 17:43:09 2024" ]  ** Searching for Postload file  "/etc/systemd/system/zed_x_daemon.postload"  :  false
Aug 19 17:43:09 orin ZEDX_Daemon[1055]: [ "Mon Aug 19 17:43:09 2024" ]  ** Created Endpoint  "tcp://127.0.0.1:20026"
 
################################################
############ I2C Trace  [-l]       #############
################################################
 
i2c-0	i2c       	3160000.i2c                     	I2C adapter
i2c-1	i2c       	c240000.i2c                     	I2C adapter
i2c-2	i2c       	3180000.i2c                     	I2C adapter
i2c-4	i2c       	Tegra BPMP I2C adapter          	I2C adapter
i2c-5	i2c       	31b0000.i2c                     	I2C adapter
i2c-7	i2c       	c250000.i2c                     	I2C adapter
i2c-9	i2c       	i2c-2-mux (chan_id 1)           	I2C adapter
i2c-10	i2c       	i2c-2-mux (chan_id 0)           	I2C adapter
 
################################################
############ I2C Trace /dev/i2C-0 #############
################################################
 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: UU -- -- -- -- -- -- UU -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
 
################################################
############ I2C Trace /dev/i2C-1 #############
################################################
 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: UU -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
 
################################################
############ I2C Trace /dev/i2C-2 #############
################################################
 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
 
################################################
############ I2C Trace /dev/i2C-3 #############
################################################
 
Error: Could not open file `/dev/i2c-3' or `/dev/i2c/3': No such file or directory
 
################################################
############ I2C Trace /dev/i2C-4 #############
################################################
 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
 
################################################
############ I2C Trace /dev/i2C-5 #############
################################################
 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
 
################################################
############ I2C Trace /dev/i2C-6 #############
################################################
 
Error: Could not open file `/dev/i2c-6' or `/dev/i2c/6': No such file or directory
 
################################################
############ I2C Trace /dev/i2C-7 #############
################################################
 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
 
################################################
############ I2C Trace /dev/i2C-8 #############
################################################
 
Error: Could not open file `/dev/i2c-8' or `/dev/i2c/8': No such file or directory
 
################################################
############ I2C Trace /dev/i2C-9 #############
################################################
 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
 
################################################
############ I2C Trace /dev/i2C-10 #############
################################################
 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         
 
################################################
############ I2C Trace /dev/i2C-30 #############
################################################
 
Error: Could not open file `/dev/i2c-30' or `/dev/i2c/30': No such file or directory
 
################################################
############ I2C Trace /dev/i2C-31 #############
################################################
 
Error: Could not open file `/dev/i2c-31' or `/dev/i2c/31': No such file or directory
 
################################################
############ I2C Trace /dev/i2C-32 #############
################################################
 
Error: Could not open file `/dev/i2c-32' or `/dev/i2c/32': No such file or directory
 
################################################
############ I2C Trace /dev/i2C-33 #############
################################################
 
Error: Could not open file `/dev/i2c-33' or `/dev/i2c/33': No such file or directory
#########################

Additionally, I went into the boot folder, found a file from the driver called /boot/tegra234-3738-camera-zedlink-mono-sl-overlay.dtbo, and renamed it to /boot/tegra234-j401-camera-zedlink-mono-sl-overlay.dtbo - then doing sudo dmesg | grep zedx I saw a camera connected message for a new sl_max9296… line - however still behaviour did not change and I cannot run any examples etc.

Hi @akiUlysses,

We do not officially support the Seeed Studio carrier board with our driver because it does not match the signal-driving behaviors of the NVIDIA’s carrier boards.

For this reason, we cannot guarantee support over Jetpack versions, as we do not have information on the changes Seeed Studio can make on their products between versions.

I see @mattrouss, so you cannot make a custom driver for the j401 and jetpack 6 like you previously had in this tutorial doc here any more?

Additionally in this post here - the j401 is listed as being compatible, can you share and updated compatibility list? What do you suggest for a compact carrier board for the Orin NX? We were also hoping to use the a603.

Hi @akiUlysses,

We do not currently plan on supporting future releases of Jetpack on Seeed Studio j401. I can share that the a603 is not planned for support as well.

I can suggest asking Seeed Studio if they plan to support the ZED X cameras, we would be glad to share the source code of the driver to facilitate integration.

The full list of supported third-party carrier boards for Orin NX and AGX Orin can be found at the bottom of our driver download page: ZED X Camera Drivers | Stereolabs

@akiUlysses

I myself have a J4012 ith Stereolabs duo capture card and ZED X.

Can we join forces to make these component work together?
I’ve already contacted Seeed Studio and I’m waiting for their answer…

Also you can look here for what I’ve tried: