I’m trying to connect an IMX477 camera module to the Jetson Orin 8GB (JetPack 6.2.1). This same camera previously worked fine on a Jetson Nano (the only difference is ribbon cable since orin has smaller CSI port), but on the Orin it’s not being detected at all.
What i have checked:
The camera doesn’t appear on any I2C bus
No /dev/video* devices are listed
Tried on CAM0
I Should expect I2C detects even without device tree support, right? do I need to install a custom device tree overlay?
*** Please note that this reply is generated by LLM automatically ***
To troubleshoot the issue with connecting an IMX477 camera module to the Jetson Orin 8GB with JetPack 6.2.1, let’s break down the steps you’ve taken and provide additional guidance.
Camera doesn’t appear on any I2C bus: This is a crucial step in verifying that the camera is not being detected by the system. The IMX477 camera module uses the I2C interface for communication, so it’s expected that it should appear on one of the I2C buses. Since it’s not being detected, it’s possible that there’s an issue with the camera module, the ribbon cable, or the CSI port on the Jetson Orin.
No dev/video devices are listed: This suggests that the camera is not being recognized by the system, which is consistent with the I2C detection issue.
Tried on CAM0: You’ve tried connecting the camera to the CAM0 interface, which is the correct interface for the IMX477 camera module.
Expect I2C detects even without device tree support: Yes, that’s correct. The I2C detection should work even without device tree support. However, device tree support is required for the camera to function properly.
To resolve the issue, you can try the following:
Verify the ribbon cable: Since you’ve mentioned that the ribbon cable is different due to the smaller CSI port on the Jetson Orin, double-check that the cable is properly connected and not damaged.
Check the camera module: Ensure that the camera module is functioning correctly and not damaged.
Install a custom device tree overlay: Yes, you will need to install a custom device tree overlay to support the IMX477 camera module on the Jetson Orin. You can find the device tree source code for the IMX477 camera module in the Jetson Linux kernel repository. You’ll need to compile the device tree and install it on your system.
Update the kernel: Make sure that your kernel is up-to-date, as newer kernel versions may include support for the IMX477 camera module.
In comparison to the Jetson Nano, the Jetson Orin has a different CSI port and may require a different device tree overlay. Additionally, the Jetson Orin has a more complex camera architecture, which may require additional configuration.
To further troubleshoot the issue, you can try the following:
Check the kernel logs: Look for any error messages related to the camera module in the kernel logs.
Use the i2cdetect command: Run the i2cdetect command to scan the I2C buses and see if the camera module is detected.
Use the v4l2-ctl command: Run the v4l2-ctl command to query the camera module and see if it’s recognized by the system.
By following these steps, you should be able to troubleshoot the issue and get the IMX477 camera module working on the Jetson Orin 8GB with JetPack 6.2.1.
*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***
> sudo journalctl -u nvargus-daemon --since "5 minutes ago" | grep -i camera Nov 10 21:55:38 ubuntu nvargus-daemon[868]: === NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== gst-launch-1.0[3849]: Connection established (FFFF9962B840)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0 Nov 10 21:55:38 ubuntu nvargus-daemon[868]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1 Nov 10 21:55:38 ubuntu nvargus-daemon[868]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree Nov 10 21:55:38 ubuntu nvargus-daemon[868]: ---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ---- Nov 10 21:55:38 ubuntu nvargus-daemon[868]: ---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ---- Nov 10 21:55:38 ubuntu nvargus-daemon[868]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256) Nov 10 21:55:38 ubuntu nvargus-daemon[868]: (NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60) Nov 10 21:55:38 ubuntu nvargus-daemon[868]: (NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 111) Nov 10 21:55:38 ubuntu nvargus-daemon[868]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor Nov 10 21:55:38 ubuntu nvargus-daemon[868]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 382) Nov 10 21:55:38 ubuntu nvargus-daemon[868]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 554) Nov 10 21:55:38 ubuntu nvargus-daemon[868]: === gst-launch-1.0[3849]: CameraProvider initialized (0xffff94b1bad0)CAM: serial no file already exists, skips storing againLSC: LSC surface is not based on full res!