The camera sometime has picture and sometimes doesn't have

Hi,
I’m debuging the camera of Xavier NX 35.2.1.The topology is as following.And the attachment
camera.patch (174.1 KB) is the patch.
when I display the picture of the camera using qv4l2, the camera sometimes has picture and sometimes doesn’t have.Do you have any hint?

hello tianyi2,

may I know the total number of camera in your system.
is it always a specific camera node not sending camera frames, or, this issue is happened randomly?
please also share kernel logs for reference, thanks

Hi,
There is only one camera every time, and I only init one camera every time.And there is 6 camera position.
This happened randomly in a node but no picture is more. And This is happend in every node.
When there is not a picture,the following is printed and when there is a picture,nothing is printed.
####################log start#####################
[ 5967.838961] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5967.839235] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5967.840539] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5967.840717] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 5967.840953] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5967.841109] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 5967.841676] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5970.398977] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5970.399225] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5970.400567] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5970.400734] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 5970.400966] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5970.401118] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 5970.401727] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5972.962953] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5972.963202] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5972.968622] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5972.968838] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 5972.969086] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5972.969243] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 5972.970030] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5975.519013] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5975.519315] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5975.520599] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5975.520812] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 5975.521026] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5975.521192] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 5975.521732] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5978.046972] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5978.047313] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5978.048567] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5978.048741] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 5978.048973] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5978.049124] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 5978.049630] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 5983.462965] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 5983.463218] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 5983.464550] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5983.464775] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 5983.465037] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 5983.465201] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 5983.466277] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel

####################log start#####################

hello tianyi2,

it’s NULL VI channel reported, the video node is not registered correctly.
please try to apply this kernel patch for testing.

diff --git a/drivers/platform/tegra/rtcpu/device-group.c 
@@ -51,7 +51,7 @@ static int get_grouped_device(struct camrtc_device_group *grp,
 
        if (pdev == NULL) {
                dev_warn(dev, "%s[%u] node has no device\n", name, index);
-               return 0;
+               return -EPROBE_DEFER;
        }

Hi,
After applying the patch, the result is the same.
#########################log start##############################
[ 155.874359] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 155.874660] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 155.875881] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 155.876073] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 155.876328] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 155.876491] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 155.878852] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 158.434333] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 158.434582] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 158.439820] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 158.439995] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 158.440212] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 158.440379] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 158.441034] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 160.994320] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 160.994619] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 160.995813] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 160.996005] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 160.996191] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 160.996375] t194-nvcsi 13e10000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 160.996962] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 190.690979] hot-surface-alert cooling state: 1 → 0

#########################log end###############################

hello tianyi2,

may I also confirm the camera hardware setups.
did you keep these six cameras connected before system boot-up?

Hi,
We have only one camera.
I test the situation that the the one camera is connected before system boot-up and the one camera is connected before i2c init. This two situation have the same result.

The CAM0_PWDN is suspended. Does it have effect on this situation.

Thanks

hello tianyi2,

is it timing issue? what’s the difference between workable and non-workable scenario.
had you also try adding set_mode_delay_ms device tree property to configure wait time for the first frame after capture starts. the unit is in milliseconds.

Hi,
Which node is the set_mode_delay_ms added under? which value is proper?I haven’t seen the example.

please refer to Sensor Software Driver Programming.

Hi,
The problem is solved.
I change the serdes_pix_clk_hz in the device tree from 640000000 to 320000000.
Thanks.

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