MIPI camera performs stably on Orin Nano Devkit (P3767-0005), but is unstable on the Commercial module (P3767-0003).
Test Conditions:
- Both use the P3768 carrier board.
- Use the same Nvme SSD, which contains the JP5.1.3 version system.
Test Method:
- The camera resolution is 5M@20fps, using
v4l2-ctl
to capture images.
- Camera0
v4l2-ctl -d /dev/video0 --set-fmt-video=width=2592,height=1944,pixelformat=UYVY --stream-mmap --stream-count=-1 --stream-to=/dev/null
- Camera1
v4l2-ctl -d /dev/video1 --set-fmt-video=width=2592,height=1944,pixelformat=UYVY --stream-mmap --stream-count=-1 --stream-to=/dev/null
Problem Description:
- Using P3767-0005 and P3767-0003, if only one camera’s image is read at a time, it is stable.
- When reading images from both cameras simultaneously, it is stable using the P3767-0005 board; however, using the P3767-0003 board, errors occur quickly, as shown below:
[131728.695584] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 1, flags: 0, err_data 131072
[131728.709656] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 1, flags: 0, err_data 131072
[131728.720001] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 1, flags: 0, err_data 131072
[131728.730422] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 1, flags: 0, err_data 131072
[131728.740811] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 1, flags: 0, err_data 131072
[131728.751147] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 1, flags: 0, err_data 131072
[131756.800248] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[131756.809519] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[131756.819229] (NULL device *): vi_capture_control_message: NULL VI channel received
[131756.827065] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=1, csi_port=1
[131756.837855] (NULL device *): vi_capture_control_message: NULL VI channel received
[131756.847053] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[131759.360481] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[131759.369751] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[131759.379459] (NULL device *): vi_capture_control_message: NULL VI channel received
[131759.387279] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=1, csi_port=1
[131759.398054] (NULL device *): vi_capture_control_message: NULL VI channel received
[131760.416298] tegra194-vi5 13e40000.host1x:vi0@15c00000: capture control message timed out
[131760.424763] tegra194-vi5 13e40000.host1x:vi0@15c00000: vi_capture_control_send_message: failed to send IVC control message
My Attempts:
- I followed the camera bringup steps to trace the error logs. However, due to the excessive information from
cat /sys/kernel/debug/tracing/trace
, the frame rate significantly drops, making it difficult to effectively debug. - I tried increasing
serdes_pix_clk_hz
, but it was ineffective. - I attempted to boost the clock for debugging, but it was ineffective.
- I looked for hardware differences between P3767-0005 and P3767-0003. So far, I believe the only difference is that P3767-0005 has an SD card slot, but everything else is the same.
Request:
Do you have any debugging suggestions for me?