CSI Camera on Jetson Orin NX does not work

I have a Jetson Orin NX 16 GB with the AVerMedia D131 carrier board that has two 22-pin CSI inputs and supposedly works with the Raspberry Pi camera. I cannot get it to work though. If I run

gst-launch-1.0 nvarguscamerasrc ! "video/x-raw(memory:NVMM), width=1920, height=1080, format=(string)NV12, framerate=(fraction)30/1" ! nvoverlaysink -e

I get the following output:

(Argus) Error Timeout:  (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function openSocketConnection(), line 219)
(Argus) Error Timeout: Cannot create camera provider (in src/rpc/socket/client/SocketClientDispatch.cpp, function createCameraProvider(), line 106)

(gst-plugin-scanner:4712): GStreamer-WARNING **: 14:25:17.084: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstlibav.so': /lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block

(gst-plugin-scanner:4712): GStreamer-WARNING **: 14:25:17.120: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstchromaprint.so': /lib/aarch64-linux-gnu/libgomp.so.1: cannot allocate memory in static TLS block

I already figured out that the bottom two errors can be fixed by running

export LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libgomp.so.1

If I do that, the above command is still stuck though, and nothing happens, other than the Error Timeout errors after a couple of minutes.

v4l2-ctl --list-devices is just stuck and nothing happens (I can’t even ctrl-c or ctrl-z it, have to force kill it). Trying to sudo systemctl restart nvargus-daemon.service does not work either, the command is just stuck. Weirdly, running v4l2-ctl -d0 --list-ctrls gives me some indication that the camera is detected, since it immediately outputs

VIDIOC_QUERYCAP: ok

Camera Controls

                     group_hold 0x009a2003 (bool)   : default=0 value=0 flags=execute-on-write
                    sensor_mode 0x009a2008 (int64)  : min=0 max=7 step=1 default=0 value=0 flags=slider
                           gain 0x009a2009 (int64)  : min=16 max=128 step=1 default=16 value=16 flags=slider
                       exposure 0x009a200a (int64)  : min=26 max=500000 step=1 default=33333 value=26 flags=slider
                     frame_rate 0x009a200b (int64)  : min=2000000 max=15000000 step=1 default=15000000 value=2000000 flags=slider
           sensor_configuration 0x009a2032 (u32)    : min=0 max=4294967295 step=1 default=0 [22] flags=read-only, volatile, has-payload
         sensor_mode_i2c_packet 0x009a2033 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
      sensor_control_i2c_packet 0x009a2034 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
                    bypass_mode 0x009a2064 (intmenu): min=0 max=1 default=0 value=0
                override_enable 0x009a2065 (intmenu): min=0 max=1 default=0 value=0
                   height_align 0x009a2066 (int)    : min=1 max=16 step=1 default=1 value=1
                     size_align 0x009a2067 (intmenu): min=0 max=2 default=0 value=0
               write_isp_format 0x009a2068 (int)    : min=1 max=1 step=1 default=1 value=1
       sensor_signal_properties 0x009a2069 (u32)    : min=0 max=4294967295 step=1 default=0 [30][18] flags=read-only, has-payload
        sensor_image_properties 0x009a206a (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
      sensor_control_properties 0x009a206b (u32)    : min=0 max=4294967295 step=1 default=0 [30][36] flags=read-only, has-payload
              sensor_dv_timings 0x009a206c (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
               low_latency_mode 0x009a206d (bool)   : default=0 value=0
               preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0
                   sensor_modes 0x009a2082 (int)    : min=0 max=30 step=1 default=30 value=7 flags=read-only

I have no idea what’s wrong, but it seems like an nvidia argus issue. Does anyone have any ideas?

hello jan.blumenkamp5z3rk,

may I know which Jetpack release image you’re working with.
you may check release tag, $ cat /etc/nv_tegra_release for confirmation.

may I know which camera module it is? for example, is it Rbpcv2-imx219 or Rbpcv3-imx477?
had you update the device tree blob? since you’re using a customize carrier board.
if yes,
please do disassembler the dtb file into text file, i.e. dtc -I dtb -O dts -o output.txt tegra234.dtb, please examine sensor related settings for the lane_polarity property.

furthermore,
it shall register video sysnode to /dev/video* if the sensor registration is complete.
you may also check kernel init messages. please gather the logs for reference, i.e. $ dmesg > klogs.txt

Hi, thanks for the fast response!

This is my tegra release:

# R35 (release), REVISION: 2.1, GCID: 32413640, BOARD: t186ref, EABI: aarch64, DATE: Tue Jan 24 23:38:33 UTC 2023

I am using the Raspberry Pi HQ camera (IMX 477), but also tried the v2 (IMX219) without success.

I will get back to you on the tegra234.dtb, but in the meantime, please find attached the output of dmesg. I notice many messages along the lines of

task gst-plugin-scan:2902 blocked for more than 362 seconds.

Could this have something to do with reading the camera?

Is there any way to check if the camera is detected at all?
dmesg.txt (87.5 KB)

according to kernel messages,
it’s trying to detect IMX179 camera sensors, and there’s failure to register camera device.

[    8.189233] imx179 9-0010: tegracam sensor driver:imx179_v2.0.6
[    8.242226] imx179 9-0010: imx179_board_setup: error querying sensor fine integ. time
[    8.255349] imx179 9-0010: board setup failed
[    8.259966] imx179: probe of 9-0010 failed with error -121
[    8.265720] i2c i2c-2: Added multiplexed i2c bus 9
[    8.271268] imx179 10-0010: tegracam sensor driver:imx179_v2.0.6
[    8.324292] imx179 10-0010: imx179_board_setup: error querying sensor fine integ. time
[    8.337473] imx179 10-0010: board setup failed
[    8.342081] imx179: probe of 10-0010 failed with error -121
[    8.347887] i2c i2c-2: Added multiplexed i2c bus 10

there’s Jetson-IO to configure CSI connector by loading device tree overlay. however, it works with developer kits only.
it looks you’ve a customize device tree, please examine you’ve include the sensor device tree accordingly.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.