Hello all,
my setup in general is following:
2x GMSL2 Cameras from LeopardImaging with AR0820 Sensor
1x LI GMSL BOX (Jetson Xavier NX Dev Board)
I’m trying to get the cameras working for capturing but since the first try I am not able to use the cameras anymore. I’ve set up everything accordingly and with nvgstcapture-1.0 i got the display of the video0 device on the screen. After ending the pipeline with CTRL+C the cameras were no longer responsive. Noticeable here is that the cameras are no longer findable in the /dev directory after any reboot (sudo reboot). The cameras are only visible again after a hard reboot by switching the Jetson off and on. However, if you want to use them for capture or streaming, APIs like Argus or Gstreamer fail to use the cameras. Reflashing the whole OS and image also doesn’t lead to running cameras. The error log of the nvgstcapture command is as follows:
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 0
Output Stream W = 3840 H = 2160
seconds to Run = 0
Frame Rate = 29.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD… Exiting…
CONSUMER: Done Success(nvgstcapture-1.0:7617): GStreamer-CRITICAL **: 15:55:38.086: gst_mini_object_set_qdata: assertion ‘object != NULL’ failed
Use with gst-launch is also not possible because the I2C commands to the cameras also time out as known from the other tries.
Dmesg for I2C errors on nvgstcapture execution:
[ 121.428427] tegra-i2c 3180000.i2c: pio timed out addr: 0x77 tlen:16 rlen:0
[ 121.428593] tegra-i2c 3180000.i2c: — register dump for debugging ----
[ 121.428711] tegra-i2c 3180000.i2c: I2C_CNFG - 0x22c00
[ 121.428804] tegra-i2c 3180000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 121.428922] tegra-i2c 3180000.i2c: I2C_FIFO_CONTROL - 0x0
[ 121.429022] tegra-i2c 3180000.i2c: I2C_FIFO_STATUS - 0x800080
[ 121.429125] tegra-i2c 3180000.i2c: I2C_MST_FIFO_CONTROL - 0x70000
[ 121.429237] tegra-i2c 3180000.i2c: I2C_MST_FIFO_STATUS - 0x7f0000
[ 121.429347] tegra-i2c 3180000.i2c: I2C_MST_PACKET_TRANSFER_CNT - 0x0
[ 121.429464] tegra-i2c 3180000.i2c: I2C_INT_MASK - 0x7c
[ 121.429587] tegra-i2c 3180000.i2c: I2C_INT_STATUS - 0x2
[ 121.429681] tegra-i2c 3180000.i2c: i2c transfer timed out addr: 0x77
[ 131.668484] tegra-i2c 3180000.i2c: pio timed out addr: 0x77 tlen:16 rlen:0
[ 131.668655] tegra-i2c 3180000.i2c: — register dump for debugging ----
[ 131.668773] tegra-i2c 3180000.i2c: I2C_CNFG - 0x22c00
[ 131.668900] tegra-i2c 3180000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 131.669024] tegra-i2c 3180000.i2c: I2C_FIFO_CONTROL - 0x0
[ 131.669125] tegra-i2c 3180000.i2c: I2C_FIFO_STATUS - 0x800080
[ 131.669231] tegra-i2c 3180000.i2c: I2C_MST_FIFO_CONTROL - 0x70000
[ 131.669340] tegra-i2c 3180000.i2c: I2C_MST_FIFO_STATUS - 0x7f0000
[ 131.669484] tegra-i2c 3180000.i2c: I2C_MST_PACKET_TRANSFER_CNT - 0x0
[ 131.669606] tegra-i2c 3180000.i2c: I2C_INT_MASK - 0x7c
[ 131.669703] tegra-i2c 3180000.i2c: I2C_INT_STATUS - 0x2
[ 131.669801] tegra-i2c 3180000.i2c: i2c transfer timed out addr: 0x77
[ 131.670110] ar0820 30-001b: ar0820_write_reg:i2c write failed, 0x3366 = 0
[ 141.908515] tegra-i2c 3180000.i2c: pio timed out addr: 0x77 tlen:16 rlen:0
[ 141.908677] tegra-i2c 3180000.i2c: — register dump for debugging ----
[ 141.908889] tegra-i2c 3180000.i2c: I2C_CNFG - 0x22c00
[ 141.908986] tegra-i2c 3180000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10005
[ 141.909301] tegra-i2c 3180000.i2c: I2C_FIFO_CONTROL - 0x0
[ 141.909486] tegra-i2c 3180000.i2c: I2C_FIFO_STATUS - 0x800080
[ 141.909648] tegra-i2c 3180000.i2c: I2C_MST_FIFO_CONTROL - 0x70002
[ 141.909797] tegra-i2c 3180000.i2c: I2C_MST_FIFO_STATUS - 0x800000
[ 141.909921] tegra-i2c 3180000.i2c: I2C_MST_PACKET_TRANSFER_CNT - 0x0
[ 141.910033] tegra-i2c 3180000.i2c: I2C_INT_MASK - 0x7c
[ 141.910158] tegra-i2c 3180000.i2c: I2C_INT_STATUS - 0x2
[ 141.910349] tegra-i2c 3180000.i2c: i2c transfer timed out addr: 0x77
[ 152.148554] tegra-i2c 3180000.i2c: pio timed out addr: 0x77 tlen:16 rlen:0
[ 152.148729] tegra-i2c 3180000.i2c: — register dump for debugging ----
[ 152.148859] tegra-i2c 3180000.i2c: I2C_CNFG - 0x22c00
[ 152.148956] tegra-i2c 3180000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[ 152.149078] tegra-i2c 3180000.i2c: I2C_FIFO_CONTROL - 0x0
[ 152.149177] tegra-i2c 3180000.i2c: I2C_FIFO_STATUS - 0x800080
[ 152.149280] tegra-i2c 3180000.i2c: I2C_MST_FIFO_CONTROL - 0x70000
[ 152.149392] tegra-i2c 3180000.i2c: I2C_MST_FIFO_STATUS - 0x7f0000
[ 152.149502] tegra-i2c 3180000.i2c: I2C_MST_PACKET_TRANSFER_CNT - 0x0
[ 152.149620] tegra-i2c 3180000.i2c: I2C_INT_MASK - 0x7c
[ 152.149715] tegra-i2c 3180000.i2c: I2C_INT_STATUS - 0x2
[ 152.149812] tegra-i2c 3180000.i2c: i2c transfer timed out addr: 0x77
[ 152.150205] ar0820 30-001b: ar0820_write_reg:i2c write failed, 0x301a = 5d
It’s really very strange that it worked initially but since then it doesn’t work anymore. The functionality of the cameras is verified by another product, because there the cameras run perfectly.
If more information is needed, just let me know.
Any help on this problem or debug suggestions are highly appreciated.
Best Regards