How to Use Partner-Supported Cameras with Jetson Orin Nano Developer Kit
Issue Overview
Users are experiencing difficulties using partner-supported cameras with the Nvidia Jetson Orin Nano Developer Kit running JetPack 5.1.1 (Linux Kernel 35.3.1). Specifically:
- Many partner-supported cameras are not showing compatibility with the current kernel version.
- Users are unsure how to run cameras like the Arducam IMX519 16 megapixel autofocus camera with the Orin Nano Developer Kit.
- There’s confusion about which cameras are currently compatible with the Jetson Orin Nano Dev Kit.
- Users are seeking information on when partner-supported cameras will support JetPack 5.1.1 for the Orin Nano Developer Kit.
Possible Causes
- Driver incompatibility: The device drivers for partner-supported cameras may not be updated or ported to work with the latest JetPack release and kernel version.
- Lack of configuration: The CSI connector may not be properly configured to enable support for specific camera modules.
- Kernel module issues: Required kernel modules for camera support may not be loaded during boot time.
- Hardware compatibility: Some cameras may not be physically compatible with the Orin Nano Developer Kit.
- Software support gaps: Certain features (like auto-focus) may not be supported by default in the current software stack.
Troubleshooting Steps, Solutions & Fixes
-
Use officially supported cameras:
- The Orin Nano Developer Kit officially supports Rbpcv2-imx219 and Rbpcv3-imx477 cameras by default.
-
Configure CSI connector:
- Execute Jetson-IO to configure the CSI connector and enable support for specific camera modules:
sudo /opt/nvidia/jetson-io/jetson-io.py
- Follow the on-screen instructions to enable the desired camera module.
- Execute Jetson-IO to configure the CSI connector and enable support for specific camera modules:
-
Check kernel module loading:
- Verify if the required camera module (e.g., IMX477) is loaded during boot time:
lsmod | grep imx477
- If not loaded, you may need to manually load the module or add it to the list of modules to be loaded at boot.
- Verify if the required camera module (e.g., IMX477) is loaded during boot time:
-
For IMX477 camera setup:
- After configuring with Jetson-IO, connect the camera and run:
v4l2-ctl --list-devices
- This should now detect the camera without the "cannot open device" error.
- After configuring with Jetson-IO, connect the camera and run:
-
Porting camera drivers:
- If your specific camera is not supported, you may need to port the driver to the latest JetPack release.
- Refer to the Sensor Programming Guide documentation for guidance.
- Check source code of already supported image sensors (e.g., IMX477) as reference:
kernel/nvidia/drivers/media/i2c/nv_imx185.c kernel/nvidia/drivers/media/i2c/nv_imx477.c
-
Auto-focus support:
- Auto-focus is not supported by default for the IMX477 camera.
- For cameras with focusers (like some Arducam models), you may need to implement software controls to change the focus position.
- Check the FocuserPosition API for software control of focus.
-
Third-party support:
- Consider contacting Jetson Camera Partners for specific details on camera compatibility and support.
- Some companies, like RidgeRun, offer services to develop or port drivers for new cameras. Contact them at [email protected] for technical questions.
-
Stay updated:
- Regularly check for updates to JetPack and partner-supported camera drivers.
- Follow Nvidia’s official channels for announcements on expanded camera support for the Orin Nano Developer Kit.
If you continue to experience issues or need support for a specific camera model, it’s recommended to reach out to Nvidia support or the camera manufacturer for the most up-to-date compatibility information and potential workarounds.