Image capture error


I’m working on porting a sensor driver for Jetson Nano to Jetson AGX Orin with an additional camera expansion board (Auvidea J20).

The sensor is recognized by the driver. However, when I run the following command:

v4l2-ctl --set-fmt-video=width=640,height=480,pixelformat=AR24 --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=capture.raw

It just hangs. And if I inspect the dmesg I see the following:

[  213.083964] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[  213.096724] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[  213.107163] (NULL device *): vi_capture_control_message: NULL VI channel received
[  213.114887] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[  213.125550] (NULL device *): vi_capture_control_message: NULL VI channel received
[  213.133274] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[  213.144029] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel

The trace log is just filled with lines like this:
rtcpu_nvcsi_intr: tstamp:236153229578 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000044

Any ideas as what could be wrong ? I think it’s likely to be an error in the device tree, but I’m not certain where.


hello christian.johansen,

here shows PHY interrupts.
the error code 0x44 indicate there’re more than one bit error has detected on data-lane.

please refer to developer guide, Camera Driver Porting for reference.
BTW, may I also know which Jetpack release version you’re now using.

Hi @JerryChang

I’m using Jetpack 5.1.2

hello christian.johansen,

please do check porting guide to review camera drivers,
besides, you may also give it a 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


There seems to be an issue with the driver. In the device tree i’ve specified:
pixel_t = "rgb_rgb88824";

v4l2-ctl gives:

user@jetson:~$ v4l2-ctl -d0 --list-formats
        Type: Video Capture

        [0]: 'AB24' (32-bit RGBA 8-8-8-8)

But I expect: AR24 (24-bit RGB 8-8-8).

VI did not support RGB888 memory formats due to it’ll need luminance formats.
please also refer to similar discussion thread, Topic 1067424 as see-also.

1 Like


I’ve missed that AR24 is 32 BGRA-8-8-8-8. not 24 RGB 8-8-8.


How come pixel_t = "rgb_rgb88824"; is set to AR24 - BGRA-8-8-8-8 for Jetson Nano, but AB24 - RGBA-8-8-8-8 for AGX Orin?

Boosting the clocks did not help

hello christian.johansen,

it’s due to below update in JP-5.1.2 to revise TEGRA_VIDEO_FORMAT.

diff --git a/drivers/media/platform/tegra/camera/vi/vi5_formats.h b/drivers/media/platform/tegra/camera/vi/vi5_formats.h
@@ -118,7 +118,7 @@ static const struct tegra_video_format vi5_video_formats[] = {
        /* RGB888 */
        TEGRA_VIDEO_FORMAT(RGB888, 24, RGB888_1X24, 4, 1, T_A8R8G8B8,
-                               RGB888, ABGR32, "BGRA-8-8-8-8"),
+                               RGB888, RGBA32, "RGBA-8-8-8-8"),
1 Like


I’ve talked to the vendor of the camera, and the issue was resolved tweaking the link-frequencies in the device tree.

Many thanks for your help.

I’ve stumbled upon a new issue. But I started a new topic here: VI: Image capture error

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