Raspberry Pi Camera V2.1 not working with Xavier NX

I am having the same issue with Raspberry Pi Camera Module V2 - 8MP which has an IMX219 sensor. I got this camera from Okdo technology limited (directly from the raspberry pi camera website link).

The problem is that it is not showing up in the “dev” folder. Neither can I access it using the nvarguscamerasrc. However, I am able to use Arducam Mini HQ 12.3MP without any issues. I just had to install the driver for IMX477 for arducam. Not sure what is wrong with the Xavier NX. Please let me know what other details do I need to provide?

Did you test the camera with other platforms?
IF properly installed and loaded, /dev/video should be ready to use.

Yes, it was properly installed on Xavier NX but still didn’t worked. Just to make sure, I tried all 4 permutations and restarted the Xavier every time but still no success. As I mentioned, arducam works without any issue after installing the driver.

Yes, the Pi V2.1 camera works on Raspberry Pi 4 without any issues.

hello jaiswal.archit,

please share your kernel init messages for reference, for example, $ dmesg > klog.txt
thanks

klog.txt (73.2 KB)

hello jaiswal.archit,

according to below,
you’re using the device tree by arducam, this should be one specific device tree blob that only support with IMX477.

[    0.437937] DTS File Name: /var/jenkins_home/workspace/ier_nx_kernel_l4t-32.5.1-arducam/kernel/kernel-4.9/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t19x/jakku/kernel-dts/tegra194-p3668-all-p3509-0000-imx477.dts
[    0.437947] DTB Build time: May 14 2021 06:19:39

please also check below, it shows sensor probing failure.
as I mentioned earlier, since you mount Raspberry Pi v2 IMX219 on the platform. when you’re using this specific device tree blob, it failed to probe IMX477 sensor hardware and that’s the reason you don’t have camera node registered.

[    2.285938] tegra-i2c 3180000.i2c: no acknowledge from address 0x1a
[    2.286030] imx477 9-001a: imx477_board_setup: error during i2c read probe (-121)
[    2.286317] imx477 9-001a: board setup failed
[    2.286563] imx477: probe of 9-001a failed with error -121
[    2.286937] imx477 10-001a: tegracam sensor driver:imx477_v2.0.6

you should use the native JetPack release device tree to enable IMX219, i.e. tegra194-p3668-all-p3509-0000.dtb
there’re two ways to replace the device tree blob for verification.

  1. you may perform partition update to replace the kernel-dtb partition.
    for example, $ sudo ./flash.sh -r -k kernel-dtb jetson-xavier-nx-devkit mmcblk0p1
  2. if you’re using FDT entry in the /boot/extlinux/extlinux.conf, just copy the binary and assign the directory for the device tree, perform a warm-reboot to make it works.
1 Like

Hi @JerryChang ,

First, I appreciate your help! I am completely new in this NVIDIA and Linux development world. I did mention earlier that I installed the arducam drivers to use it on Xavier. I am not sure what you mean by device tree blob and also unclear about the steps you mentioned for some verification thing.

I am sure that many people like me will visit this question in the future and it would be great if you can explain this issue with details such that beginners can also understand and mention the solution steps in more detail.

Do I need to download something first and then use the commands you mentioned in option 1?

Will I be able to use both Arducam and Rasp Pi camera at the same time on Xavier?

Thank you again.

hello ArchitJaiswal,

you’ll need to install NVIDIA SDK Manager | NVIDIA Developer for setting up the development environment.
SDKManager able to flash the JetPack release to your Jetson platforms, it’ll also download the release image to your local host machine, you’re able to perform flash.sh script file manually to deploy the releases.

please check JetPack Archive | NVIDIA Developer, it show all released versions of JetPack, it’s also follow-by the L4T release version for each JetPack.
you may check the release tag of your Jetson product to confirm which release version it is.
i.e. $ cat /etc/nv_tegra_release

here’s documentation.
please check developer guide for the instructions, for example, Flashing and Booting the Target Device it gives an overview of using flash.sh.
here’s Jetson Download Center | NVIDIA Developer that you could also access the public source/ documentation/ tools for your development.
thanks

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.