1. Driver installation
Please use the automatic installation script to install the driver for L4T-32.4.3 (JetPack 4.4) and later versions.
Send us the output of the automatic installation script if you encounter problems during the installation process.
Note: At present, the drivers we provide only support official development boards.
For third-party boards, please refer to the second chapter of Third-party boards and self-compiled kernels.
2. Third-party boards and self-compiled kernels
At present, the drivers we provide only support official development boards. For third-party boards that need to modify the device tree by themselves, we will provide the source code.
3. The camera does not work
3.1. Camera not found
Execute the following command and find that there is no video device.
There are two situations that may cause no video equipment:
a. Driver is not installed
To check whether the driver is installed, use the following command.
dmesg | grep -E "imx477|imx219|arducam"
The driver of IMX-477 is installed if the output similar to the above figure, other drivers are installed if the output is arducam or IMX-219.
Please go to the first chapter of Driver Installation Problem to see how to install the driver if you have the wrong one.
b. There is a problem with the hardware connection
It means that the camera is not detected if it is determined that the driver has been installed correctly and the probe failed in the dmesg log, similar to the following figure.
At this time, it is very likely that there is a problem with the connection (such as a loose cable, wrong connection method, and damaged cable). Please check whether the cable connection is loose. If so, try to replace a replaceable cable.
Note: You can see from the picture that there are [9-001a] and [10-001a] (7-001a and 8-001a for Nano), which represent two different camera interfaces. It is normal for the other to report errors if you only use one of them.
3.2. There is a video device that is not working
Execute the following command and find that there is a video device.
SENSOR_ID=0 # 0 for CAM0 and 1 for CAM1 ports FRAMERATE=30 gst-launch-1.0 nvarguscamerasrc sensor-id=$SENSOR_ID ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=$FRAMERATE/1" ! nvvidconv ! nvoverlaysink
Run the dmesg command again.
If similar output appears, it is very likely that there is a problem with the connection (such as a loose cable, wrong connection method, and damaged cable). Please check whether the cable connection is loose. If so, try to replace a replaceable cable.
4. OpenCV access
Use Gstreamer pipeline:
Virtual video devices:
5. How to adjust the Exposure Gain
Run the following command to view the available parameters of nvarguscamerasrc.
gst-launch-1.0 nvarguscamerasrc aelock=true exposuretimerange='10000 10000' ! capsfilter caps='video/x-raw(memory:NVMM),width=(int)1920,height=(int)1080,format=(string)NV12,framerate=(fraction)30/1' ! nvvidconv flip-method=2 ! nvoverlaysink -e
Note: The theoretical exposure range is 0~1000000 / fps μs. For example, the exposure range of 30fps is 0~33333 μs. If the setting is larger than this range, it will be invalid. If you want to set a longer exposure time, please lower the frame rate.
6. Mixed-use of cameras
You need to modify the device tree if you want to mix cameras, for example, CAM0 is IMX-477 and CAM1 is IMX-219.
We provide several examples for reference, but there are many such combinations and we cannot cover all cases. For this, you can choose to modify the device tree yourself by referring to the examples we provide or contact us for customization service.
7. Use SSD on Xavier NX
Xavier NX can not boot directly from SSD. Firstly, it needs to load the kernel from the SD card, and switch rootfs to SSD after booting. Therefore, if you install the driver in the rootfs of SSD, it will not change the kernel used at boot.
You can switch to SD card to install the driver or copy two files which patch of SSD is /boot/arducam and /boot/extlinux/extlinux.conf to the Corresponding catalog in SD card.
8. How to use maximum frame rate
However, use the maximum frame rate needs MIPI 4 lanes and D-PHY spec. ver. 1.2( or the later versions). From the technical manual, the carrier board of Jetson Xavier NX/Nano only has 2 lanes CSI2 interface.
In summary, you need to buy the third-party carrier board with 4 lanes CSI2 interface. Contact us to customize the driver if you need to drive Arducam IMX477 Camera.
9. Still have questions？
NOTE: Information to be provided.
a. Sensor model (SKU or Order Number)
b. Related log files
Execute the command after running the camera (for example after running the display command).
dmesg > dmesg.log uname -a >> dmesg.log cat /etc/nv_tegra_release >> dmesg.log dpkg --list | grep nvidia-l4t-kernel >> dmesg.log
Send us the dmesg.log file.
c. Hardware connection diagram
d. The output of the installation script
If it is an installation problem, please also send us the output of the installation script.