Pi Camera Module 2 (IMX219)and Pi Camera Module 3 (IMX708) are not detected on NVIDIA Jetson Orin Nano Super Developer Kit running JetPack 7.2 (R39.2)

Hello NVIDIA Team,

I am using the official NVIDIA Jetson Orin Nano Engineering Reference Developer Kit Super with JetPack 7.2 (L4T R39.2), and I am unable to detect either the Raspberry Pi Camera Module 2 (Sony IMX219) or Raspberry Pi Camera Module 3 (Sony IMX708).

I have spent several days troubleshooting this issue and would appreciate your guidance on whether this is a JetPack 7.2 software/configuration issue or a hardware issue with my developer kit.

========================================
Hardware

Board:
NVIDIA Jetson Orin Nano Engineering Reference Developer Kit Super

Module:
P3767-0005 Super

Carrier Board:
P3768-0000

JetPack:
7.2

L4T:
R39.2

Kernel:
6.8.12-1021-tegra

Output of:

cat /proc/device-tree/compatible | tr ‘\0’ ‘\n’

nvidia,p3768-0000+p3767-0005-super
nvidia,p3767-0005
nvidia,tegra234

========================================
Cameras Tested

  1. Official Raspberry Pi Camera Module 2 (Sony IMX219)

  2. Official Raspberry Pi Camera Module 3 (Sony IMX708)

Neither camera has ever been detected.

========================================
Connection

• Connected using the official Raspberry Pi camera cable with a 22-pin to 15-pin adapter cable.

• Tested both CAM0 and CAM1 CSI connectors.

• Ribbon cable is fully inserted.

• Locking tab is properly closed.

• Gold contacts are facing the PCB (correct orientation).

========================================
Observed Behaviour

Running:

ls /dev/video*

returns:

ls: cannot access ‘/dev/video*’: No such file or directory

No camera devices are created.

========================================
Kernel Logs

Running:

sudo journalctl -k | grep -Ei “imx219|imx708|camera|csi|tegra-camrtc”

does not show any IMX219, IMX708 or camera probe messages.

========================================
Device Tree

Running:

find /proc/device-tree -iname “imx219

returns nothing.

Running:

find /proc/device-tree -iname “camera

returns nothing.

There are no camera nodes in the live device tree.

========================================
Driver

The IMX219 driver exists:

find /lib/modules/$(uname -r) -iname “imx

shows:

/lib/modules/6.8.12-1021-tegra/updates/drivers/media/i2c/nv_imx219.ko

The driver loads successfully:

sudo modprobe nv_imx219

lsmod | grep imx

Output:

nv_imx219
tegra_camera

Module information:

modinfo nv_imx219

shows the driver is installed correctly and depends on tegra-camera.

========================================
Overlay Files

The IMX219 overlay files are present:

tegra234-p3767-camera-p3768-imx219-A.dtbo
tegra234-p3767-camera-p3768-imx219-C.dtbo
tegra234-p3767-camera-p3768-imx219-dual.dtbo

However, there are still no camera nodes in the running device tree.

========================================
Jetson-IO

The package nvidia-l4t-jetson-io is installed.

Running:

sudo /opt/nvidia/jetson-io/jetson-io.py

immediately exits with:

_curses.error: cbreak() returned ERR
_curses.error: nocbreak() returned ERR

========================================
Troubleshooting Already Performed

✓ Tested Raspberry Pi Camera Module 2
✓ Tested Raspberry Pi Camera Module 3
✓ Tested CAM0
✓ Tested CAM1
✓ Verified ribbon orientation
✓ Verified ribbon fully inserted
✓ Restarted nvargus-daemon
✓ Loaded nv_imx219 manually
✓ Checked /dev/video*
✓ Checked kernel logs
✓ Checked I2C devices
✓ Checked live device tree
✓ Confirmed overlay files exist

========================================
Questions

  1. Is any additional configuration required to use Raspberry Pi Camera Module 2 (IMX219) or Camera Module 3 (IMX708) on JetPack 7.2 (R39.2)?

  2. Since the driver loads successfully but there are no camera nodes in the live device tree, does this indicate that the camera device tree overlay is not being applied?

  3. Is this a known issue on JetPack 7.2 with the Orin Nano Super Developer Kit?

  4. Are there any additional diagnostics I should perform before concluding that the CSI interface or developer kit hardware is faulty?

Thank you for your help.

@WayneWWW
@JerryChang
@KevinFFF

Apply below to /boot/extlinux/extlinux.conf to enable the imx219 overlay.

TIMEOUT 30
DEFAULT JetsonIO

MENU TITLE L4T boot options

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      INITRD /boot/initrd
      APPEND ${cbootargs} root=PARTUUID=7e2b7024-5ed7-4328-b20b-0d6b47386584 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 video=efifb:off console=tty0 efi_pstore.pstore_disable=1 pstore.backend=ramoops efi=runtime pci=pcie_bus_perf nvme.use_threaded_interrupts=1 swiotlb=2048 nv-auto-config

# 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 JetsonIO
	MENU LABEL Custom Header Config: <CSI Camera IMX219 Dual>
	LINUX /boot/Image
	FDT /boot/dtb/kernel_tegra234-p3768-0000+p3767-0005-nv-super.dtb
	INITRD /boot/initrd
	APPEND ${cbootargs} root=PARTUUID=7e2b7024-5ed7-4328-b20b-0d6b47386584 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 video=efifb:off console=tty0 efi_pstore.pstore_disable=1 pstore.backend=ramoops efi=runtime pci=pcie_bus_perf nvme.use_threaded_interrupts=1 swiotlb=2048 nv-auto-config
	OVERLAYS /boot/tegra234-p3767-camera-p3768-imx219-dual.dtbo

Hi @ShaneCCC,

I applied the changes you suggested to /boot/extlinux/extlinux.conf.

My current configuration now has:

  • DEFAULT JetsonIO

  • A LABEL JetsonIO entry

  • OVERLAYS /boot/tegra234-p3767-camera-p3768-imx219-dual.dtbo

using my own root PARTUUID from the original configuration. After saving the file, I rebooted the board.

Unfortunately, the issue remains unchanged.

Results after reboot:

  • cat /proc/cmdline shows the system booted normally.

  • ls /dev/video* returns:

    ls: cannot access '/dev/video*': No such file or directory
    
    
  • sudo dmesg | grep -Ei "imx|camera|tegracam|nvcsi|vi" contains no IMX219 probe messages. It only shows camera framework initialization and repeated driver not enabled, cannot register any devices.

  • find /proc/device-tree -iname "*imx219*" returns no results.

  • find /proc/device-tree -iname "*camera*" also returns no results.

Additional information:

  • Board: Jetson Orin Nano Super Developer Kit

  • JetPack: 7.2 (L4T R39.2.0)

  • Camera: Official Raspberry Pi Camera Module 2 (IMX219)

  • I have tested both CAM0 and CAM1 ports with the same result.

Could you please advise what I should check next? Is there another device tree or overlay that should be used on JetPack 7.2, or is there another method to verify whether the overlay is actually being applied during boot?

Dump the device tree to check the IMX219 been enable.

dtc -I fs /sys/firmware/devicetree/base

Thanks

Hi,

I dumped the running device tree using:


dtc -I fs /sys/firmware/devicetree/base > dt_dump.dts

The IMX219 node is not present in the running device tree:


grep -i imx219 dt_dump.dts

returns no output.

My /boot/extlinux/extlinux.conf contains:


DEFAULT JetsonIO

LABEL JetsonIO
    FDT /boot/dtb/kernel_tegra234-p3768-0000+p3767-0005-nv-super.dtb
    OVERLAYS /boot/tegra234-p3767-camera-p3768-imx219-dual.dtbo

However, the /boot/dtb directory does not exist on my system:


ls -l /boot/dtb/

Output:


ls: cannot access '/boot/dtb/': No such file or directory

It appears the IMX219 overlay is not being applied. Could you please advise whether the FDT path is incorrect for JetPack 7.2 / L4T r39.2.0, or if I should be using a different DTB location?
thank you

Do you flash Nano by sdkmanager?

Please use sdkmanager to flash it again and run the jetson-io to enable the IMX219.

No
I had used the usb method for jetpack 7.2