[V4L2]Xavier vi capture no reply

I’m trying to connect 4 4-lane camera to Xavier but didn’t work fine. I had revised the device tree and driver from imx274, but I didn’t use I2C in driver like imx274.c as my camera need to be configured in userspace. when I used the cmd

v4l2-ctl --set-fmt-video=width=1280,height=768,pixelformat=RG10 --stream-mmap --stream-count=100 -d /dev/video0

It showed the message as below, how can i locate the reason?

[  +0.006528] tegra194-vi5 15c10000.vi: 6 GoS tables configured.
[  +0.000020] tegra194-vi5 15c10000.vi: gos[0] = 0xeca00000
[  +0.000004] tegra194-vi5 15c10000.vi: gos[1] = 0xeca01000
[  +0.000004] tegra194-vi5 15c10000.vi: gos[2] = 0xeca02000
[  +0.000003] tegra194-vi5 15c10000.vi: gos[3] = 0xeca03000
[  +0.000003] tegra194-vi5 15c10000.vi: gos[4] = 0xeca04000
[  +0.000003] tegra194-vi5 15c10000.vi: gos[5] = 0xeca05000
[  +0.000627] [RCE] vi5_hwinit: firmware CL2018061801 protocol version 2.2
[  +0.012344] tegra-capture-ivc ivc-bc00000.rtcpu:ivccontrol@3: No callback for id 65
[  +0.000053] tegra-capture-ivc ivc-bc00000.rtcpu:ivccontrol@3: No callback for id 65
[  +0.107097] tegra194-vi5 15c10000.vi: vi capture dequeue status failed
[  +0.000312] tegra194-vi5 15c10000.vi: channel error, resetting the channel
[  +0.017055] tegra194-vi5 15c10000.vi: vi capture dequeue status failed
[  +0.000242] tegra194-vi5 15c10000.vi: channel error, resetting the channel
[  +2.658637] tegra194-vi5 15c10000.vi: no reply from camera processor
[  +0.000155] tegra194-vi5 15c10000.vi: vi capture dequeue status failed
[  +0.000222] tegra194-vi5 15c10000.vi: channel error, resetting the channel
[  +2.559622] tegra194-vi5 15c10000.vi: no reply from camera processor

hello buaa_hebiao,

could you please try again by adding below options

$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=2592,height=1944,pixelformat=RG10 <b>--set-ctrl bypass_mode=0</b> --stream-mmap --stream-count=100

please also refer to Sensor Driver Programming Guide and check the [Port Index] session for the connection diagram.
thanks

Hi JerryChang,
I have tried that cmd but it still not work, the port binding seems ok as follows, but the message that “vi capture dequeue status failed” would cause infinite loop untill reboot.

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: imx274 1-0030 (1 pad, 1 link)
            type V4L2 subdev subtype Sensor flags 0
            device node name /dev/v4l-subdev0
	pad0: Source
		[fmt:SBGGR10_1X10/1280x768 field:none colorspace:srgb]
		-> "15a00000.nvcsi--4":0 [ENABLED]

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

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

- entity 18: imx274 1-0034 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev2
	pad0: Source
		[fmt:SBGGR10_1X10/1280x768 field:none colorspace:srgb]
		-> "15a00000.nvcsi--3":0 [ENABLED]

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

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

- entity 35: imx274 1-003a (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev4
	pad0: Source
		[fmt:SBGGR10_1X10/1280x768 field:none colorspace:srgb]
		-> "15a00000.nvcsi--2":0 [ENABLED]

- entity 37: 15a00000.nvcsi--2 (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev5
	pad0: Sink
		<- "imx274 1-003a":0 [ENABLED]
	pad1: Source
		-> "vi-output, imx274 1-003a":0 [ENABLED]

- entity 40: vi-output, imx274 1-003a (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video2
	pad0: Sink
		<- "15a00000.nvcsi--2":1 [ENABLED]

- entity 52: imx274 1-003d (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev6
	pad0: Source
		[fmt:SBGGR10_1X10/1280x768 field:none colorspace:srgb]
		-> "15a00000.nvcsi--1":0 [ENABLED]

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

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

hello buaa_hebiao,

may I know which JetPack release you’re working with.
thanks

Hi JerryChang,
I’m working with Jetpack4.1.1 which has patched imx274 camera sensor, I had checked connecting 4 imx274 camera and it worked well. I used other camera recently but it sent error messages below.

hello buaa_hebiao,

since Jetpack4.1 is developer preview version, please refer to Topic 1046625 and apply the patches.
however, suggest you update your working process to JetPack-4.2 for better support.
thanks

Hi JerryChang,
According to the problem “vi capture dequeue status failed”, I checked the related function, I found that the return value of “vi_capture_status” is -110, means -ETIMEDOUT, what would lead to such an error?

static void tegra_channel_capture_dequeue(struct tegra_channel *chan,
	struct tegra_channel_buffer *buf)
{
	int err = 0;
	unsigned long flags;
	struct vb2_v4l2_buffer *vb = &buf->buf;
	struct timespec ts;
	struct capture_descriptor *descr =
		&chan->request[buf->capture_descr_index];

	if (buf->vb2_state != VB2_BUF_STATE_ACTIVE)
		goto done;

	/* Dequeue a frame and check its capture status */
	err = vi_capture_status(chan->tegra_vi_channel, 2500);

hello buaa_hebiao,

there’s issue about CSI-G/H on Jetpack4.1, had you refer to Topic 1046625 for the details?
could you please migrate your working progress to l4t-r32.1 (a.k.a JetPack-4.2)
thanks