I’m getting the "vi_capture_control_message: NULL VI channel received " error when I try to capture from either of my tc358743’s connected to my Orin Nano on Xavier NX DevKit.
I’ve tried to find a solution in the forum but haven’t found an actual answer or one that was relevant to Orin and tc358743.
The OS was built from SDK Manager using JetPack 5.1.2 on Jetson Orin Dev board, L4T 35.4.1
cat /etc/nv_tegra_release
# R35 (release), REVISION: 4.1, GCID: 33958178, BOARD: t186ref, EABI: aarch64, DATE: Tue Aug 1 19:57:35 UTC 2023
uname -a
Linux orindev-15 5.10.120-tegra #1 SMP PREEMPT Tue Sep 26 21:30:21 EDT 2023 aarch64 aarch64 aarch64 GNU/Linux
I see the video signal :
v4l2-ctl --query-dv-timings -d /dev/video0
Active width: 1280
Active height: 720
Total width: 1650
Total height: 750
Frame format: progressive
Polarities: -vsync -hsync
Pixelclock: 74250000 Hz (60.00 frames per second)
Horizontal frontporch: 0
Horizontal sync: 370
Horizontal backporch: 0
Vertical frontporch: 0
Vertical sync: 30
Vertical backporch: 0
Standards:
Flags:
Then I run my capture command and see the following in dmesg :
v4l2-ctl --device /dev/video0 --stream-mmap --set-fmt-video=width=1280,height=720,pixelformat=UYVY --stream-to=frame.raw --stream-count=10 --verbose
[ 152.584202] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 152.591931] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 152.602606] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 152.610326] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 0
[ 152.621185] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
And this is the trace :
cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 226690/226690 #P:6
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
kworker/2:6-139 [002] .... 6928.747538: rtcpu_string: tstamp:217373554341 id:0x04010000 str:"VM0 deactivating."
v4l2-ctl-2809 [000] .... 6988.614715: tegra_channel_open: vi-output, tc358743 9-000f
v4l2-ctl-2809 [000] .... 6988.633250: tegra_channel_set_power: tc358743 9-000f : 0x1
v4l2-ctl-2809 [000] .... 6988.633254: tegra_channel_set_power: 13e40000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-2809 [000] .... 6988.633259: csi_s_power: enable : 0x1
v4l2-ctl-2809 [000] .... 6988.634636: tegra_channel_capture_setup: vnc_id 0 W 1280 H 720 fmt 13
v4l2-ctl-2809 [001] .... 6988.643343: tegra_channel_set_stream: enable : 0x1
v4l2-ctl-2809 [001] .... 6988.654533: tegra_channel_set_stream: 13e40000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-2809 [001] .... 6988.654535: csi_s_stream: enable : 0x1
v4l2-ctl-2809 [001] .... 6988.654919: tegra_channel_set_stream: tc358743 9-000f : 0x1
kworker/2:6-139 [002] .... 6988.682145: rtcpu_string: tstamp:219246145149 id:0x04010000 str:"VM0 activating."
kworker/2:6-139 [002] .... 6988.682148: rtcpu_vinotify_event: tstamp:219246630498 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:7015881911936 data:0x759d580010000000
kworker/2:6-139 [002] .... 6988.682149: rtcpu_vinotify_event: tstamp:219246630783 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:7015881921696 data:0x0000000031000001
kworker/2:6-139 [002] .... 6988.682150: rtcpu_vinotify_event: tstamp:219246631070 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:7015882028352 data:0x759d550010000000
kworker/2:6-139 [002] .... 6988.682150: rtcpu_vinotify_event: tstamp:219246631316 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:7015882038240 data:0x0000000031000002
kworker/2:6-139 [002] .... 6988.682152: rtcpu_nvcsi_intr: tstamp:219246696942 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x02000000
kworker/2:6-139 [002] .... 6988.682152: rtcpu_nvcsi_intr: tstamp:219246697510 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x10000004
kworker/2:6-139 [002] .... 6988.682153: rtcpu_nvcsi_intr: tstamp:219246698095 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/2:6-139 [002] .... 6988.682153: rtcpu_nvcsi_intr: tstamp:219246699240 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/2:6-139 [002] .... 6988.682153: rtcpu_nvcsi_intr: tstamp:219246699791 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/2:6-139 [002] .... 6988.682154: rtcpu_nvcsi_intr: tstamp:219246700421 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
In other posts that have this issue, I often see the PHY_INTR0 statuses called by their name - where can I find what these mean ?
One thing I noticed when running v4l2-compliance -v -d /dev/media0 is this error in the Media Driver Info section :
Media Driver Info:
Driver name : tegra-camrtc-ca
Model : NVIDIA Tegra Video Input Device
Serial :
Bus info :
Media version : 5.10.120
Hardware revision: 0x00000003 (3)
Driver version : 5.10.120
Interface Info:
ID : 0x0300000b
Type : V4L Video
Entity Info:
ID : 0x00000009 (9)
Name : vi-output, tc358743 9-000f
Function : V4L2 I/O
Pad 0x0100000a : 0: Sink
Link 0x0200000f: from remote pad 0x1000003 of entity '13e40000.host1x:nvcsi@15a00000-' (FAIL: Unknown sub-device (0002000a)): Data, Enabled
I could not figure out where to start troubleshooting the unknown sub-device, as media-ctl -p -d /dev/media0 looked normal :
Media controller API version 5.10.120
Media device information
------------------------
driver tegra-camrtc-ca
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 5.10.120
Device topology
- entity 1: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
<- "tc358743 9-000f":0 [ENABLED]
pad1: Source
-> "vi-output, tc358743 9-000f":0 [ENABLED]
- entity 4: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
<- "tc358743 10-000f":0 [ENABLED]
pad1: Source
-> "vi-output, tc358743 10-000f":0 [ENABLED]
- entity 7: tc358743 9-000f (1 pad, 1 link, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev2
pad0: Source
[stream:0 fmt:UYVY8_1X16/1280x720 field:none colorspace:smpte170m]
[dv.caps:BT.656/1120 min:640x350@13000000 max:1920x1200@165000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
[dv.detect:BT.656/1120 1280x720p60 (1650x750) stds: flags:]
[dv.current:BT.656/1120 1280x720p60 (1650x750) stds: flags:]
-> "13e40000.host1x:nvcsi@15a00000-":0 [ENABLED]
- entity 9: vi-output, tc358743 9-000f (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video0
pad0: Sink
<- "13e40000.host1x:nvcsi@15a00000-":1 [ENABLED]
- entity 23: tc358743 10-000f (1 pad, 1 link, 0 routes)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev3
pad0: Source
[stream:0 fmt:RGB888_1X24/640x480 field:none colorspace:srgb]
[dv.caps:BT.656/1120 min:640x350@13000000 max:1920x1200@165000000 stds:CEA-861,DMT,CVT,GTF caps:progressive,reduced-blanking,custom]
[dv.detect:BT.656/1120 720x480p60 (858x525) stds: flags:]
[dv.current:BT.656/1120 640x480p59 (800x525) stds:CEA-861,DMT flags:has-cea861-vic]
-> "13e40000.host1x:nvcsi@15a00000-":0 [ENABLED]
- entity 25: vi-output, tc358743 10-000f (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "13e40000.host1x:nvcsi@15a00000-":1 [ENABLED]
Any idea if that might be causing the issue or point to something misconfigured on my end ?
Thank you!