Camera error

Hello,

I try to run Nano Production Module with custom carrier board with IMX477 camera.
Camera and the same driver works find on dev kit (4GB and 2GB).
On production module I got error:

[ 5809.155898] vi 54080000.vi: tegra_channel_error_status:error 20022 frame 650
[ 5809.189275] vi 54080000.vi: tegra_channel_error_status:error 20022 frame 651
[ 5809.222613] vi 54080000.vi: tegra_channel_error_status:error 20022 frame 652
[ 5809.255870] vi 54080000.vi: tegra_channel_error_status:error 20022 frame 653
[ 5809.289248] vi 54080000.vi: tegra_channel_error_status:error 20022 frame 654
[ 5809.322257] vi 54080000.vi: tegra_channel_error_status:error 20022 frame 655

I2C works fine, because:

[    6.101700] vi 54080000.vi: vi_probe: ++
[    6.108259] vi 54080000.vi: initialized
[    6.114083] vi 54080000.vi: subdev nvcsi--1 bound
[    6.118812] vi 54080000.vi: subdev imx477 6-001a bound

debug shows:

        v4l2-ctl-17295 [003] ....  5786.595031: tegra_channel_open: vi-output, imx477 6-001a
        v4l2-ctl-17295 [000] ....  5786.597989: camera_common_s_power: status : 0x1
        v4l2-ctl-17295 [000] ....  5787.042148: camera_common_s_power: status : 0x0
        v4l2-ctl-17295 [000] ....  5787.042272: tegra_channel_set_power: imx477 6-001a : 0x1
        v4l2-ctl-17295 [000] ....  5787.042286: camera_common_s_power: status : 0x1
        v4l2-ctl-17295 [000] ....  5787.342855: tegra_channel_set_power: nvcsi--1 : 0x1
        v4l2-ctl-17295 [000] ....  5787.342873: csi_s_power: enable : 0x1
 vi-output, imx4-17296 [002] ....  5787.392589: tegra_channel_set_stream: enable : 0x1
 vi-output, imx4-17296 [002] ....  5787.392677: tegra_channel_set_stream: nvcsi--1 : 0x1
 vi-output, imx4-17296 [002] ....  5787.392679: csi_s_stream: enable : 0x1
 vi-output, imx4-17296 [002] ....  5787.392709: tegra_channel_set_stream: imx477 6-001a : 0x1
....
 vi-output, imx4-17296 [000] ....  5809.330008: tegra_channel_capture_frame: sof:5809.167343617
 vi-output, imx4-17296 [002] ....  5809.362554: tegra_channel_capture_frame: sof:5809.200379607
 vi-output, imx4-17296 [002] ....  5809.396142: tegra_channel_capture_frame: sof:5809.233715700
 vi-output, imx4-17296 [002] ....  5809.430091: tegra_channel_capture_frame: sof:5809.267659502
 vi-output, imx4-17296 [002] ....  5809.463358: tegra_channel_capture_frame: sof:5809.300894919
 vi-output, imx4-17296 [002] ....  5809.496777: tegra_channel_capture_frame: sof:5809.334367627
 vi-output, imx4-17296 [002] ....  5809.529962: tegra_channel_capture_frame: sof:5809.367448461
 vi-output, imx4-17296 [002] ....  5809.563389: tegra_channel_capture_frame: sof:5809.400883304
 vi-output, imx4-17296 [002] ....  5809.596879: tegra_channel_capture_frame: sof:5809.434410127
 vi-output, imx4-17296 [002] ....  5809.629957: tegra_channel_capture_frame: sof:5809.467440856
        v4l2-ctl-17295 [003] ....  5809.655338: tegra_channel_close: vi-output, imx477 6-001a
 vi-output, imx4-17296 [002] ....  5809.661764: tegra_channel_capture_frame: sof:5809.499800492
        v4l2-ctl-17295 [001] ....  5809.661844: tegra_channel_set_stream: enable : 0x0
        v4l2-ctl-17295 [001] ....  5809.661846: tegra_channel_set_stream: imx477 6-001a : 0x0
        v4l2-ctl-17295 [000] ....  5809.662125: tegra_channel_set_stream: nvcsi--1 : 0x0
        v4l2-ctl-17295 [000] ....  5809.662128: csi_s_stream: enable : 0x0
        v4l2-ctl-17295 [000] ....  5809.670019: tegra_channel_set_power: imx477 6-001a : 0x0
        v4l2-ctl-17295 [000] ....  5809.670029: camera_common_s_power: status : 0x0
        v4l2-ctl-17295 [000] ....  5809.670109: tegra_channel_set_power: nvcsi--1 : 0x0
        v4l2-ctl-17295 [000] ....  5809.670111: csi_s_power: enable : 0x0

Where I have to look to?

The Raspberry Pi HQ camera module requires a hardware modification in order to work with Jetson Platforms. Both Jetson Nano and Jetson Xavier NX provides 1.8V for reset GPIO in the camera interface, but the camera module requires 3.3V.

To fix this issue a resistor labeled as R8 must be removed from the camera module. If you decide to apply this fix it is under your own risk. RidgeRun is not responsible for any damage caused to your board. The following picture shows the location of the R8 in the module.

It’s a arducam camera, there is no need to remove resistor.
And to test it, camera works fine in 4GB and 2 GB versions.

Do you mean it working on devkit but customize carrier board?

Yes, it’s working on devkit, but doesn’t work on custom carrier board.

OK, I think you need to check the HW layout with dev kit to check if any different need to reconfigure.

So, Is it hardware problem, not software?

I can’t tell it. If the HW layout is different you need to reconfigure the device tree for it.

it’s definitely software problem.
I put Nano production module to developer kit b01 and see the same error:
camera probed, but then “tegra_channel_error_status:error 20022” error.

4GB dev kit + 4GB dev kit module + camera = works

4GB dev kit + emmc module + camera = don’t work

I find out very strange thing.

Right after booting:

v4l2-ctl -d /dev/video0 --set-fmt-video=width=4032,height=3040,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1000

will get error: “tegra_channel_error_status:error 20022”

But

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! "video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1" ! fakesink
v4l2-ctl -d /dev/video0 --set-fmt-video=width=4032,height=3040,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1000

works fine.

So If I run “gst-launch-1.0 nvarguscamerasrc…” before v4l2-ctl, it works like a charm.

Why ?

Apply this patch to update the sensor mode to verify the problem.

Thanks

18ff8ca.diff.zip (2.4 KB)

yes, this patch helps.

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