Virtual acquisition with nvarguscamera on Jetson platform Xavier NX

Hello

We are developing a system based on FPD-Link III Deserializer Hub DS90UB954.
I modified the DTS to enable 4 channels on CAMERA_A and CAMERA_C (index 0 and 2). The channels are virtual and indexed as 0 and 1 in each VC_ID. Attached you will find the file dts for my configuration.

ingenium-rhead-mt9p031nv.dtsi.txt (14.0 KB)

The issue is

  • If i try to capture with V4L2 1 frame from VC_0 and VC_1 all works, I’m able to capture the frame correctly—> this means that the module and thephysical layer is correctly configured.
v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --set-fmt-video=width=1280,height=720,pixelformat=GB12 --stream-mmap --stream-count=1 --stream-to=image0.raw

v4l2-ctl -d /dev/video1 --set-ctrl bypass_mode=0 --set-fmt-video=width=1280,height=720,pixelformat=GB12--stream-mmap --stream-count=1 --stream-to=image1.raw
  • If I try to capture from sensor-id=0 from gst, it works
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! ‘video/x-raw(memory:NVMM), width=1280, height=720, format=(string)NV12, framerate=(fraction)30/1' ! nvoverlaysink
  • If I try to capture from sensor-id=1 from gst, it doesn’t works
gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! ‘video/x-raw(memory:NVMM), width=1280, height=720, format=(string)NV12, framerate=(fraction)30/1' ! nvoverlaysink

Error is:

from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: CANCELLED

So it seems to be something related to the sections after the CSI part, I suppose.

What I need to do is acquire from the deserializer, that acquires 2 streams from 2 cameras, with virtual channel mode. The stream goes trought the CSI section (CSI_A, port 0 and 1).
I think that the v4l2 grabs data after CSI part, is it true? so I think that there is something after in VI part or after in ISP part to configure?
Maybe there is something related to the lanes? The input lanes are 4 (for 2 sensors in virtual channel mode, time multiplexed)


Other informations:

  • the device are created on /dev
  • this are the media information
videosystems@ubuntu:~$ sudo media-ctl -p -d /dev/media0
[sudo] password for videosystems: 
Media controller API version 0.1.0

Media device information
------------------------
driver          tegra194-vi5
model           NVIDIA Tegra Video Input Device
serial          
bus info        
hw revision     0x3
driver version  0.0.0

Device topology
- entity 1: 15a00000.nvcsi--4 (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	pad0: Sink
		<- "mt9p031vs 9-005d":0 [ENABLED]
	pad1: Source
		-> "vi-output, mt9p031vs 9-005d":0 [ENABLED]

- entity 4: 15a00000.nvcsi--3 (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
	pad0: Sink
		<- "mt9p031vs 10-005d":0 [ENABLED]
	pad1: Source
		-> "vi-output, mt9p031vs 10-005d":0 [ENABLED]

- entity 7: 15a00000.nvcsi--2 (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev2
	pad0: Sink
		<- "mt9p031vs 11-005d":0 [ENABLED]
	pad1: Source
		-> "vi-output, mt9p031vs 11-005d":0 [ENABLED]

- entity 10: 15a00000.nvcsi--1 (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev3
	pad0: Sink
		<- "mt9p031vs 12-005d":0 [ENABLED]
	pad1: Source
		-> "vi-output, mt9p031vs 12-005d":0 [ENABLED]

- entity 13: mt9p031vs 9-005d (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev4
	pad0: Source
		[fmt:SGBRG12_1X12/1280x720 field:none colorspace:srgb]
		-> "15a00000.nvcsi--4":0 [ENABLED]

- entity 15: vi-output, mt9p031vs 9-005d (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
	pad0: Sink
		<- "15a00000.nvcsi--4":1 [ENABLED]

- entity 33: mt9p031vs 10-005d (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev5
	pad0: Source
		[fmt:SGBRG12_1X12/1280x720 field:none colorspace:srgb]
		-> "15a00000.nvcsi--3":0 [ENABLED]

- entity 35: vi-output, mt9p031vs 10-005d (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video1
	pad0: Sink
		<- "15a00000.nvcsi--3":1 [ENABLED]

- entity 45: mt9p031vs 11-005d (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev6
	pad0: Source
		[fmt:SGBRG12_1X12/1280x720 field:none colorspace:srgb]
		-> "15a00000.nvcsi--2":0 [ENABLED]

- entity 47: vi-output, mt9p031vs 11-005d (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
	pad0: Sink
		<- "15a00000.nvcsi--2":1 [ENABLED]

- entity 57: mt9p031vs 12-005d (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev7
	pad0: Source
		[fmt:SGBRG12_1X12/1280x720 field:none colorspace:srgb]
		-> "15a00000.nvcsi--1":0 [ENABLED]

- entity 59: vi-output, mt9p031vs 12-005d (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video3
	pad0: Sink
		<- "15a00000.nvcsi--1":1 [ENABLED]