Driver for Allied Vision Alvium cameras with MIPI CSI-2 interface for NVIDIA Jetson with JetPack 4.5.1 (L4T 32.5.1)
https://developer.nvidia.com/embedded/jetpack
The scripts in this project build and install the Allied Vision CSI-2 driver to the NVIDIA Jetson boards.
💡 This driver version supports V4L2 and GenICam for CSI-2 (camera usage with Vimba's CSI-2 transport layer)
Platforms: AGX Xavier and Xavier NX development kits.
💡 Nano and TX2 are supported by driver version 2.1.0
JetPack 4.5.1 (L4T 32.5.1)
The scripts require Git on the host PC.
Before starting the installation, make sure to create a backup of your Jetson system.
Install JetPack 4.5.1 (L4T 32.5.1) as per NVIDIA's instructions https://developer.nvidia.com/embedded/jetpack
Recommendation: Use NVIDIA SDK Manager to install JetPack and useful tools such as CUDA.
https://docs.nvidia.com/sdk-manager/
As of JetPack 4.4, users can update L4T directly on the board with apt-upgrade
.
Doing this may install newer L4T kernel and device tree files, which overwrite the driver for Allied Vision cameras.
If you use apt-upgrade
nevertheless, please prevent overwriting the driver with:
sudo apt-mark hold 'nvidia-l4t-*'
Note that both reinstalling the driver or putting the update on hold may cause unavailable features or bugfixes from NVIDIA.
Method A: Use precompiled binaries
Install the precompiled kernel including driver and installation instructions.
-
Extract the tarball on a host PC.
-
The tarball contains helper scripts and another tarball with the precompiled binaries named AlliedVision_NVidia_L4T_32.5.1_.tar.gz.
Copy the tarball to the target board. On the target board, extract the tarball and run the included install script.
Reboot the board. Now you can use the driver.
Method B: Cross-compile binaries from source
The scripts require a host PC with Ubuntu (we recommend version 18.04) installed.
-
Download sources and scripts from https://github.com/alliedvision/linux_nvidia_jetson to the host PC.
On the host PC: -
Run setup.sh, which prepares the directory structure, extracts the file archive, etc.:
$ ./setup.sh <WORK_DIR> <TARGET_BOARD> # For example, $ ./setup.sh work_dir xavier
-
Run build.sh, which builds the kernel, modules, device tree files, and the bootloader:
# Use the same WORK_DIR for all scripts
# Example: $ ./build.sh work_dir xavier all all
$ ./build.sh <WORK_DIR> <TARGET_BOARD> <BUILD_OPTIONS> <COMPONENTS> <OPTIONS>
-
Create a tarball with the kernel image and modules.
$ ./deploy.sh <WORK_DIR> <TARGET_BOARD> tarball
-
Copy the tarball to the target board. On the target board, extract the tarball and run the included install script.
Reboot the board. Now you can use the driver.
📖 https://github.com/alliedvision/documentation/blob/master/NVIDIA.rst