ERROR: NULL VI channel received, VIFALC_TDSTATE. How can I deal with it?

Hi,

I’m enabling a custom sensor which works on AGX Xavier. I’m trying to modify device tree and driver. But I got the errors.

dmesg log

[ 31.197978] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 31.198238] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 31.199019] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 31.199215] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 31.199477] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 31.199669] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 31.200145] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 33.758027] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 33.758471] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 33.759151] (NULL device *): vi_capture_control_message: NULL VI channel received

And VI trace

    v4l2-ctl-2331    [008] ....    70.574904: tegra_channel_open: vi-output, custom_sensor 30-001b
    v4l2-ctl-2331    [008] ....    70.591000: tegra_channel_set_power: custom_sensor 30-001b : 0x1
    v4l2-ctl-2331    [008] ....    70.591011: camera_common_s_power: status : 0x1
    v4l2-ctl-2331    [008] ....    70.591972: tegra_channel_set_power: 13e40000.host1x:nvcsi@15a00000- : 0x1
    v4l2-ctl-2331    [008] ....    70.591974: csi_s_power: enable : 0x1
    v4l2-ctl-2331    [008] ....    70.592457: tegra_channel_capture_setup: vnc_id 0 W xxxx H xxxx fmt cx
    v4l2-ctl-2331    [010] ....    70.600157: tegra_channel_set_stream: enable : 0x1
    v4l2-ctl-2331    [010] ....    70.607910: tegra_channel_set_stream: 13e40000.host1x:nvcsi@15a00000- : 0x1
    v4l2-ctl-2331    [010] ....    70.607912: csi_s_stream: enable : 0x1
    v4l2-ctl-2331    [010] ....    70.608666: tegra_channel_set_stream: custom_sensor 30-001b : 0x1
 kworker/9:3-162     [009] ....    70.637152: rtcpu_string: tstamp:2722880554 id:0x04010000 str:"VM0 activating."
 kworker/9:3-162     [009] ....    70.637155: rtcpu_vinotify_event: tstamp:2723322269 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:87136701184
 kworker/9:3-162     [009] ....    70.637155: rtcpu_vinotify_event: tstamp:2723322409 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:87136708320
 kworker/9:3-162     [009] ....    70.637155: rtcpu_vinotify_event: tstamp:2723322564 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:87136758400
 kworker/9:3-162     [009] ....    70.637155: rtcpu_vinotify_event: tstamp:2723322699 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:87136765600

vi-output, s5k1-2333 [009] … 73.184357: tegra_channel_capture_setup: vnc_id 0 W xxxx H xxxx fmt cx
kworker/9:3-162 [009] … 73.217147: rtcpu_vinotify_event: tstamp:2804052350 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:89721198720
kworker/9:3-162 [009] … 73.217147: rtcpu_vinotify_event: tstamp:2804052494 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:89721205856
kworker/9:3-162 [009] … 73.217147: rtcpu_vinotify_event: tstamp:2804052649 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:89721244896
kworker/9:3-162 [009] … 73.217148: rtcpu_vinotify_event: tstamp:2804052785 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:89721252128
vi-output, s5k1-2333 [010] … 75.743592: tegra_channel_capture_setup: vnc_id 0 W xxxx H xxxx fmt cx

What is the meaning of these errors?
I found the same error messages in JetPack 5.0 IMX477 Not working - Jetson & Embedded Systems / Jetson Xavier NX - NVIDIA Developer Forums

Thank you in advance

Please replace the attached binary at …/Linux_for_Tegra/bootloader/ and have below command to update this debug firmware to collect more information from trace log.

sudo ./flash -r -k A_rce-fw mmcblk0p1 jetson-xxx

camera-rtcpu-t234-rce.img (511.4 KB)

Thank you for your reply. But I have succeeded to enable that sensor without firmware flash.

I changed pix_clk_hz and serdes_pix_clk_hz to fix this problem. The values which are used in Xavier are not working on Orin.
Is there any change about these vaules?

@ShaneCCC
Hi,
I am also porting a camera driver and am in a very similar situation.
I will paste the log after starting streaming with your rce firmware.
Could you take a look at this error?

I changed pix_clk_hz and serdes_pix_clk_hz to fix this problem. The values which are used in Xavier are not working.

In my case, the change didn’t particularly change the situation…It is possible that the changed value is not good.

dmesg-log.log (9.8 KB)
mediactl-orin-220524.log (1.2 KB)
trace.log (13.5 KB)

For Orin need to check if output rate more than 1.5g

Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.
An initiation deskew signal should be sent by sensor or deserializer to perform the skew calibration. If the deskew signals is not sent, the receiver will stall, and the capture will time out.
You can calculate the output data rate with the following equation:

  • Output data rate = (sensor or deserializer pixel clock in hertz) * (bits per pixel) / (number of CSI lanes)

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