[RCE] ERROR: camera-ip/vi5/vi5.c:745 [vi5_handle_eof]

Hello, I’m porting four customized sensors to Jetson NX. Use the "13_argus_multi_camera " demo, command is “argus_multi_camera -n 2” (3 for 4), it will stop at “Reander frame 1” and found the follow error message on dmesg

[RCE] ERROR: camera-ip/vi5/vi5.c:745 [vi5_handle_eof] "General error queue is out of sync with frame queue. ts=1194166574144 sof_ts=1194654200608 gerror_code=2 gerror_data=400060 notify_bits=400000

I had done follow test
1, 4 IMX219 sensor, command: argus_multi_camera -n 4 : is OK
2, 4 customized sensors, command: nvgstcapture --sensor-id=0, (1, 2, or 3 ), is OK
3, 4 customized sensors, command: argus_multi_camera -n 1, is OK

hello zjj2k,

may I know which Jetpack release you’re now using?
there’re some bug fixes, if that’s possible, please moving to the latest release version, i.e. l4t-r35.3.1

I am sorry it. I’m use r35.3.1

may I also know the data-rate, you may also review the Sensor Pixel Clock.

besides,
please also have another try with below commands to boost all the VI/CSI/ISP clocks.

sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate

The pix_clk_hz is “74013120”;

Had boost all the VI/CSI/ISP clocks. and change the CAPTURE_TIMEOUT_MS to 5000 in vi5_fops.c
the problem is still unsolved

BTW, the sensor is ar0144

hello zjj2k,

please also have a try with v4l standard controls to fetch the camera stream.
please check you’re able to launch all these four camera stream simultaneously.
for example,
$ v4l2-ctl -d /dev/videoX --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=6000

Hello JerryChang,
I use follow command

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1280,height=800,pixelformat=BA12 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1000

No any message and get follow error in dmesg

[ 74.675029] tegra_nvdisp_handle_pd_enable: Unpowergated Head1 pd
[ 74.688174] tegradc 15200000.display: hdmi: tmds rate:148500K prod-setting:prod_c_hdmi_111m_223m
[ 74.694186] tegradc 15200000.display: unblank
[ 74.694222] tegradc 15210000.display: blank - powerdown
[ 74.835699] NVRM: No NVIDIA GPU found.
[ 83.585358] EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
[ 162.566482] falcon 154c0000.nvenc: Direct firmware load for nvhost_nvenc070.fw failed with error -2
[ 162.566728] falcon 154c0000.nvenc: Falling back to sysfs fallback for: nvhost_nvenc070.fw
[ 162.576100] falcon 154c0000.nvenc: looking for firmware in subdirectory
[ 163.814059] falcon 15a80000.nvenc1: Direct firmware load for nvhost_nvenc070.fw failed with error -2
[ 163.814314] falcon 15a80000.nvenc1: Falling back to sysfs fallback for: nvhost_nvenc070.fw
[ 163.819763] falcon 15a80000.nvenc1: looking for firmware in subdirectory
[ 163.920467] NVRM: No NVIDIA GPU found.
[ 210.403545] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 5000 ms
[ 210.403852] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 210.407075] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 210.407274] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=3, csi_port=3
[ 210.407698] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 210.407876] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 3 vc- 0
[ 210.408436] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 215.523473] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 5000 ms
[ 215.523775] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 215.524533] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 215.524694] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=3, csi_port=3
[ 215.524916] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 215.525100] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 3 vc- 0
[ 215.525780] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 220.547449] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 5000 ms
[ 220.547681] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 220.548548] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 220.548798] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=3, csi_port=3
[ 220.549019] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 220.549180] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 3 vc- 0
[ 220.549750] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel

hello zjj2k,

is there total 4 video node created for your system? i.e. $ ls /dev/video*
that’s V4L2 IOCTL to verify basic camera functionality, so, there might be issue with video0, you may also try fetch the stream via other nodes for confirmaiton.

Q: is there total 4 video node created for your system? i.e. $ ls /dev/video*
A: Yes, have 4 video nodes and test ok use command: nvgstcapture --sensor-id=0, (1, 2, or 3 )

Try other nodes, same error.
I will check the sensor driver again

hello zjj2k,

you should assign supported sensor format to the pipeline.
please also examine sensor format dumps… $ v4l2-ctl -d /dev/video0 --list-formats-ext

ioctl: VIDIOC_ENUM_FMT
Type: Video Capture

[0]: 'BA12' (12-bit Bayer GRGR/BGBG)
	Size: Discrete 1280x800
		Interval: Discrete 0.033s (30.000 fps)

you may also try running a sanity test, please see To run a v4l2-compliance test.

ar0144_coom.log (3.3 KB)
imx219_com.log (3.3 KB)

hello JerryChang,

I try running v4l2-compliance with imx219 and ar0144. Attached are the result. I think they are same.

hello zjj2k,

this test failure looks incorrect.

Buffer ioctls (Input 0):
		fail: v4l2-test-buffers.cpp(715): q.create_bufs(node, 1, &fmt) != EINVAL
	test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: FAIL

there’s should be no issues with the basic VI driver.
I have Orin NX/r35.3.1/IMX477 on hand, it’s verified that sanity test has passed with the reference camera driver,
for example,

$ v4l2-compliance 
Driver Info:
	Driver name   : tegra-video
	Card type     : vi-output, imx477 9-001a
	Bus info      : platform:tegra-capture-vi:0
	Driver version: 5.10.104
...
	Buffer ioctls:
		test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
		test VIDIOC_EXPBUF: OK

Total: 42, Succeeded: 42, Failed: 0, Warnings: 0

could you please examine the sensor driver,
you may see-also Camera Driver Porting for reference,
thanks

But imx219 also have this error , imx219 work well

1 Like

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