Skip to main content

Lex 2NOR Series with JetPack 6.2

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
VLS-GM2
VLS-GM2-AR0144
VLS-GM2-AR0145
VLS-GM2-AR0234
VLS-GM2-AR0235
VLS-GM2-AR0246
VLS-GM2-AR0521
VLS-GM2-AR0522
VLS-GM2-AR0544
VLS-GM2-AR0821
VLS-GM2-AR0822
VLS-GM2-AR0830
VLS-GM2-AR1335
VLS-GM2-AR2020

More Camera Products Details...

info

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


Supported NVIDIA Jetson Partner Platforms


Install TN Camera on NVIDIA Jetson Partner Platforms

Connect to NVIDIA Jetson Partner Platforms

VL-GM2-8CAM-RPI22 adaptor for VLS-GM2 cameras

For 2NOR01:

Connect VL-GM2-8CAM-RPI22 adaptor to 2NOR01 directly.

Follow the video tutorial below to learn how to connect VL-GM2-8CAM-RPI22 adapter and VLS-GM2 cameras to 2NOR01.


Using TechNexion Pre-built modules

Preparation

We recommend following the user manual from platform vendors to setup system. After that, you can follow the below method to install TechNexion Cameras Driver.

  1. Download pre-built modules.

    $ wget https://download.technexion.com/demo_software/EVK/NVIDIA/2NOR0x/pre-built-modules/latest/JP62/tn_camera_modules_jp62.tar.gz
  2. Uncompress the modules.

    $ tar -xf tn_camera_modules_jp62.tar.gz
  3. Run installation script.

    $ cd tn_camera_modules_<built_time>/
    $ sudo ./tn_install.sh
    Camera module:
    [1] tevs
    [2] vls-gm2
    Select module [1-2]: 2
    Install 2NOR0x JP62 for vls-gm2? [Y/n] Y
    Reboot after installation? [y/N] Y
    Installing 2NOR0x JP62
    Selected module: vls-gm2
    Installed artifacts:
    4336646691fed50d8045ae2a0db354c63a9408bb4acd06f4df676a247624df6c /lib/modules/5.15.148-tegra/kernel/drivers/media/i2c/max96724.ko
    fc453baff877941e3c3efce568efed481bfdfedc5f2fa9fcbf1dbd91d00ccfcf /lib/modules/5.15.148-tegra/kernel/drivers/media/i2c/max96717.ko
    5e5ead57a230ff40de14fe2425fbc0cfff905e8125e4f99efac9d33fdd3f2f4d /lib/modules/5.15.148-tegra/kernel/drivers/media/i2c/tevs.ko
    b7469d743fa636772e603d26bdffb29ed3cf4a2ceef3c52f481081616c21312a /boot/dtb/kernel_tegra234-p3768-0000+p3767-0003-nv.dtb
    83376719e3ffcbebcba3429c122429e46b716a1c57621b3848e8becd12e473dd /boot/tegra234-p3767-camera-2nor0x-tevs-dual-overlay.dtbo
    c03eadcf4e403d2f336f3fa2099ea510be00873f45f2f45fd9f989b9af2b7d3d /boot/tegra234-p3767-camera-2nor0x-vls-gm2-overlay.dtbo
    5e804ca0293bc71918d537781d2feb4054bfa7784c781ed48850621669baf4a3 /boot/tegra234-p3767-camera-2nor0x-vls-gm2-fsync-overlay.dtbo
    e52a599bdecf5a3f242f9dd54695b943c452215dd467ffb825ab6be4d43a9b70 /boot/tegra234-p3767-camera-2nor0x-vls-gm2-tunnel-overlay.dtbo
    5c4352d1c9710038376b0866ace102946b84f96f884f0e32a71317d2a3a5c39e /boot/tegra234-p3767-camera-2nor0x-vls-gm2-tunnel-fsync-overlay.dtbo
    Extlinux camera entries:
    DEFAULT tn-vls-gm2
    LABEL primary
    LABEL tn-vls-gm2
    FDT /boot/dtb/kernel_tegra234-p3768-0000+p3767-0003-nv.dtb
    OVERLAYS /boot/tegra234-p3767-camera-2nor0x-vls-gm2-overlay.dtbo
    LABEL tn-vls-gm2-fsync
    FDT /boot/dtb/kernel_tegra234-p3768-0000+p3767-0003-nv.dtb
    OVERLAYS /boot/tegra234-p3767-camera-2nor0x-vls-gm2-fsync-overlay.dtbo
    LABEL tn-vls-gm2-tunnel
    FDT /boot/dtb/kernel_tegra234-p3768-0000+p3767-0003-nv.dtb
    OVERLAYS /boot/tegra234-p3767-camera-2nor0x-vls-gm2-tunnel-overlay.dtbo
    LABEL tn-vls-gm2-tunnel-fsync
    FDT /boot/dtb/kernel_tegra234-p3768-0000+p3767-0003-nv.dtb
    OVERLAYS /boot/tegra234-p3767-camera-2nor0x-vls-gm2-tunnel-fsync-overlay.dtbo
    Finish Camera Driver Installation.
    Rebooting....
tip

You should reboot the device after installation.


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
    Probing devices...

    Device found:

    name : vi-output, tevs 9-0039
    class : Video/Source
    caps : video/x-raw, format=UYVY, width=640, height=480, framerate=60/1
    video/x-raw, format=UYVY, width=1280, height=720, framerate=60/1
    video/x-raw, format=UYVY, width=1280, height=800, framerate=60/1
    video/x-raw, format=NV16, width=640, height=480, framerate=60/1
    video/x-raw, format=NV16, width=1280, height=720, framerate=60/1
    video/x-raw, format=NV16, width=1280, height=800, framerate=60/1
    video/x-raw, format=UYVY, width=640, height=480, framerate=60/1
    video/x-raw, format=UYVY, width=1280, height=720, framerate=60/1
    video/x-raw, format=UYVY, width=1280, height=800, 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:0
    api.v4l2.cap.version = 5.15.148
    api.v4l2.cap.capabilities = 84200001
    api.v4l2.cap.device-caps = 04200001
    device.id = 34
    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 = 35
    object.serial = 35
    gst-launch-1.0 pipewiresrc path=35 ! ...

    ...

  2. Use the Gstreamer pipeline to launch a 1280x720 resolution camera (/dev/video0) via the CPU:

    $ DISPLAY=:0 gst-launch-1.0 v4l2src device=/dev/video0 ! \
    "video/x-raw, format=UYVY, width=1280, height=720" ! xvimagesink sync=false
  3. Use the Gstreamer pipeline to launch a 1280x720 resolution camera (/dev/video0) via the GPU:

    $ DISPLAY=:0 gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! \
    "video/x-raw(memory:NVMM), format=UYVY, width=1280, height=720" ! \
    nvvidconv ! nv3dsink 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

no element "nvv4l2camerasrc"

If you encounter the following error:

WARNING: erroneous pipeline: no element "nvv4l2camerasrc"

This means your system is missing some NVIDIA GPU-related plug-in tools. You have to install some NVIDIA plug-in tools for Gstreamer.

$ sudo apt update && apt depends nvidia-jetpack | awk '{print $2}' | uniq | xargs -I {} bash -c "sudo apt -o Dpkg::Options::="--force-confold" -y install {} ; sudo apt clean"