Skip to main content

TechNexion Camera Modules for Orin Nano JetPack 6.x

Instruction

TechNexion Embedded Vision Solutions provide embedded system developers access to high-performance, industrial-grade camera solutions to accelerate their time to market for embedded vision projects.

Supported Camera Modules

Camera SeriesProducts
FPD Link III Series
VLS3-AR0144
VLS3-AR0145
VLS3-AR0234
VLS3-AR0521
VLS3-AR0522
VLS3-AR0821
VLS3-AR0822
VLS3-AR1335
GMSL2 Series
VLS-GM2-AR0144
VLS-GM2-AR0145
VLS-GM2-AR0234
VLS-GM2-AR0521
VLS-GM2-AR0522
VLS-GM2-AR0821
VLS-GM2-AR0822
VLS-GM2-AR1335

More Camera Products Details...

info

If you want to use the TEVS camera, please refer to another guide.


Supported NVIDIA Jetson Developer Kit


Install TN Camera on Jetson Developer Kit

Adaptor for NVIDIA Jetson Orin Nano Development Kit

  • VLS3-ORIN-EVK Adaptor for VLS3 Cameras

    Follow the video tutorial below to learn how to connect VLS3 cameras and the VLS3-ORIN-EVK adapter to the Jetson Orin Nano Developer Kit.

  • VL-GM2-8CAM-RPI22 Adaptor for VLS-GM2 Cameras

    Follow the video to connect VLS-GM2 cameras and VL-GM2-8CAM-RPI22 adaptor to Jetson Orin Nano Developer Kit.


Method 1 - Using TechNexion pre-built modules

Jetson Orin Nano

info

We recommend following the Getting Started Guide for Jetson Orin Nano Developer Kit. After that, you can follow the below method to install TechNexion Cameras Driver.

  1. Download pre-built modules.

    JetPack 6.1

    wget https://download.technexion.com/demo_software/EVK/NVIDIA/OrinNano/pre-built-modules/latest/JP61/tn_camera_modules_jp61.tar.gz

    JetPack 6.2

    wget https://download.technexion.com/demo_software/EVK/NVIDIA/OrinNano/pre-built-modules/latest/JP62/tn_camera_modules_jp62.tar.gz

    JetPack 6.2.1

    wget https://download.technexion.com/demo_software/EVK/NVIDIA/OrinNano/pre-built-modules/latest/JP621/tn_camera_modules_jp621.tar.gz
  2. Uncompress the modules.

    tar -xf tn_camera_modules_<jp_ver>.tar.gz
  3. Run installation script.

    cd tn_camera_modules_<release_time>/
    ./tn_install.sh
  4. After you agree to continue the installation, select the pre-installed modules that you want. The default module is TEVS cameras.

    JetPack 6.1

    $ ./tn_install.sh
    ****** TechNexion Camera Driver Installation ******
    This installation is easy to install TechnNexion Camera Drivers for Nvidia
    Jetson Development Kits. Before start to install camera driver,
    You should BACKUP your image to avoid any file you lost while installing process.
    Do you want to continue?[Y/n]y
    Continuing with the installation...
    File does not exist in /boot/dtb/
    Setting REF_DTB_FILE to existing file: kernel_tegra234-p3768-0000+p3767-0005-nv.dtb
    Install TN-CAM modules: max96724.ko
    Install TN-CAM modules: max96716a.ko
    Install TN-CAM modules: max96717.ko
    Install TN-CAM modules: vls3.ko
    Install TN-CAM modules: tevs.ko
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-tevs-dual.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls3.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2-fsync.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2-tunnel.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2-tunnel-fsync.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2-fsync-external.dtbo
    Installed TN-CAM DTB file Done.
    Select modules:
    [1]: TEVS: TEVS Series MIPI Cameras with TEV-RPI22 Adaptor
    [2]: VLS3: VLS3 Series Cameras with VLS3-ORIN-EVK Adaptor
    [3]: VLS-GM2: VLS-GM2 Series Cameras with VL-GM2-8CAM-RPI22 Adaptor
    Which modules do you select?[default:1]3
    Installing module: vls-gm2
    Add TN-CAM Configuration for modules: vls-gm2
    Installing module: vls-gm2-fsync
    Add TN-CAM Configuration for modules: vls-gm2-fsync
    Installing module: vls-gm2-tunnel
    Add TN-CAM Configuration for modules: vls-gm2-tunnel
    Installing module: vls-gm2-tunnel-fsync
    Add TN-CAM Configuration for modules: vls-gm2-tunnel-fsync
    Installing module: vls-gm2-fsync-external
    Add TN-CAM Configuration for modules: vls-gm2-fsync-external
    Set Default Configuration for modules: vls-gm2
    Install TN-CAM service...
    Launch TN-CAM Service...
    Finish Camera Driver Installation. Return Code:[0]
    You should Reboot Device to enable vls-gm2 Cameras.
    Do you want to reboot now?[Y/n]Y
    Rebooting....

    JetPack 6.2.x

    $ ./tn_install.sh
    ****** TechNexion Camera Driver Installation ******
    This installation is easy to install TechnNexion Camera Drivers for Nvidia
    Jetson Development Kits. Before start to install camera driver,
    You should BACKUP your image to avoid any file you lost while installing process.
    Do you want to continue?[Y/n]y
    Continuing with the installation...
    File does not exist in /boot/dtb/
    Setting REF_DTB_FILE to existing file: kernel_tegra234-p3768-0000+p3767-0005-nv.dtb
    Install TN-CAM modules: max96724.ko
    Install TN-CAM modules: max96716a.ko
    Install TN-CAM modules: max96717.ko
    Install TN-CAM modules: vls3.ko
    Install TN-CAM modules: tevs.ko
    Select platform:
    [1]: Jetson Orin Nano
    [2]: Jetson AGX Orin (only support JP6.2.x)
    Which platform do you select?[default:1]1
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-tevs-dual.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls3.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2-fsync.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2-tunnel.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2-tunnel-fsync.dtbo
    Installed TN-CAM DTB file Done.
    Install TN-CAM DTBO file: tegra234-p3767-camera-p3768-vls-gm2-fsync-external.dtbo
    Installed TN-CAM DTB file Done.
    Select modules:
    [1]: TEVS: TEVS Series MIPI Cameras with TEV-RPI22 Adaptor
    [2]: VLS3: VLS3 Series Cameras with VLS3-ORIN-EVK Adaptor
    [3]: VLS-GM2: VLS-GM2 Series Cameras with VL-GM2-8CAM-RPI22 Adaptor
    Which modules do you select?[default:1]3
    Installing module: vls-gm2
    Add TN-CAM Configuration for modules: vls-gm2
    Installing module: vls-gm2-fsync
    Add TN-CAM Configuration for modules: vls-gm2-fsync
    Installing module: vls-gm2-tunnel
    Add TN-CAM Configuration for modules: vls-gm2-tunnel
    Installing module: vls-gm2-tunnel-fsync
    Add TN-CAM Configuration for modules: vls-gm2-tunnel-fsync
    Installing module: vls-gm2-fsync-external
    Add TN-CAM Configuration for modules: vls-gm2-fsync-external
    Set Default Configuration for modules: vls-gm2
    Install TN-CAM service...
    Launch TN-CAM Service...
    Finish Camera Driver Installation. Return Code:[0]
    You should Reboot Device to enable vls-gm2 Cameras.
    Do you want to reboot now?[Y/n]Y
    Rebooting....
tip

You should reboot the device after installation.


Method 2 - Using TechNexion disk image

info

This disk image file is for VLS-GM2 with JetPack 6.2 version.

  1. Download disk image.

    wget https://download.technexion.com/demo_software/EVK/NVIDIA/OrinNano/VL-GM2-8CAM-RPI22/DiskImage/tn-jp62-orin-nano-sd-card-image.zip
  2. Uncompress the image.

    unzip tn-jp62-orin-nano-sd-card-image.zip -d ./

    You will see a file "sd-blob.img" at your specified path.

  3. Flash SD Card with the image.

    # ${device} is your device path name, such as /dev/sdb
    umount ${device}?
    sudo dd if=sd-blob.img of=${device} bs=1M status=progress oflag=direct

Method 3 - Build drivers from source code

Please follow the guide to build camera driver modules.


Bring up Camera

TechNexion VizionViewer

VizionViewer™

Gstreamer

If you succeed in initialing the camera, you can follow the steps to open the camera.

  1. Check the supported resolutions:

    $ gst-device-monitor-1.0 Video/Source
    Device found:

    name : vi-output, tevs 9-0039
    class : Video/Source
    caps : video/x-raw, format=UYVY, width=640, height=480, framerate=120/1
    video/x-raw, format=UYVY, width=1280, height=720, framerate=120/1
    video/x-raw, format=UYVY, width=1920, height=1080, framerate=60/1
    video/x-raw, format=UYVY, width=1920, height=1200, framerate=60/1
    video/x-raw, format=NV16, width=640, height=480, framerate=120/1
    video/x-raw, format=NV16, width=1280, height=720, framerate=120/1
    video/x-raw, format=NV16, width=1920, height=1080, framerate=60/1
    video/x-raw, format=NV16, width=1920, height=1200, framerate=60/1
    video/x-raw, format=UYVY, width=640, height=480, framerate=120/1
    video/x-raw, format=UYVY, width=1280, height=720, framerate=120/1
    video/x-raw, format=UYVY, width=1920, height=1080, framerate=60/1
    video/x-raw, format=UYVY, width=1920, height=1200, framerate=60/1
    properties:
    object.path = v4l2:/dev/video0
    device.api = v4l2
    media.class = Video/Source
    api.v4l2.path = /dev/video0
    api.v4l2.cap.driver = tegra-video
    api.v4l2.cap.card = "vi-output\,\ tevs\ 9-0039"
    api.v4l2.cap.bus_info = platform:tegra-capture-vi:1
    api.v4l2.cap.version = 5.15.148
    api.v4l2.cap.capabilities = 84200001
    api.v4l2.cap.device-caps = 04200001
    device.id = 33
    node.name = v4l2_input.platform-tegra-capture-vi
    node.description = "vi-output\,\ tevs\ 9-0039"
    factory.name = api.v4l2.source
    node.pause-on-idle = false
    factory.id = 10
    client.id = 32
    clock.quantum-limit = 8192
    media.role = Camera
    node.driver = true
    object.id = 34
    object.serial = 34
    gst-launch-1.0 pipewiresrc path=34 ! ...

    ...

  2. Bring up the camera (/dev/video0) with 1280x720 by Gstreamer pipeline:

    DISPLAY=:0 gst-launch-1.0 v4l2src device=/dev/video0 ! \
    "video/x-raw, format=UYVY, width=1280, height=720" ! xvimagesink sync=false

Troubleshooting

  • Cannot Find Cameras

    If you cannot bring up the cameras, you can check if the video device does exist.

    $ ls /dev/video*  # List all video devices
    /dev/video0 /dev/video1

    If you cannot see the devices, you should check if the drivers have been probed.

  • Occur Error: Could not get EGL display connection

    If you occurred the errors nvbufsurftransform: Could not get EGL display connection by rununing the Gstreamer command, you can modify the parameter 'DISPLAY' by the command:

    # Check and Set environment parameter for 'DISPLAY'
    $ export DISPLAY=$(w| tr -s ' '| cut -d ' ' -f 3 | grep :)
    # Run Gstreamer pipeline
    $ gst-launch-1.0 v4l2src device=/dev/video0 ! \
    "video/x-raw, format=UYVY, width=1280, height=720" ! xvimagesink sync=false