HI Nvidia,
trace_log.txt (16.0 MB)
dtsi.txt (15.3 KB)
Hi Nvidia,
I encountered an error when loading the device and using v4l2 to capture raw data while developing with the R35.6.0 version of Orin Nano. Attached are the corresponding trace log and dtsi configuration. Please help me check and identify where the issue might be. The module device includes the max96717, which can directly output raw12 data once a trigger signal is provided. I am registering the video device through max96712.
dmesg log:
207.129953] max96712 0-004d: tegracam sensor driver:max96712_v2.0.6
[ 207.130028] tegra-camrtc-capture-vi tegra-capture-vi: subdev max96712 0-004d bound
[ 207.130881] max96712 0-004d: Detected max96712 sensor
[ 239.373205] max96712_power_on: power on ,397
[ 239.387471] bwmgr API not supported
[ 239.388196] max96712_set_mode:
[ 239.391826] ldebug: max96712_start_streaming
[ 239.391828] ldebug: max96712_start_streaming err-0
[ 241.913949] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 241.923136] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 241.932737] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 241.940501] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 241.951196] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 241.959597] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 241.969161] max96712_stop_streaming:
[ 241.972868] bwmgr API not supported
[ 241.973916] max96712_power_off:
hello 809595850,
please check developer guide, To verify the port binding result.
besides,
please note that, CSI0 D1 and CSI1 D0 P/N will always been swizzled for P/N.
please use device tree property, lane_polarity to configure a polarity swap on any lane.
for instance, lane_polarity = "6";
HI Jerry,
I made the corresponding changes based on your suggestions, but the log information hasn’t changed. Also, we haven’t made any adjustments regarding the polarity.
may I know your port binding result with.. $ sudo media-ctl -p -d /dev/media0.
nvidia@tegra-ubuntu:~$ sudo media-ctl -p -d /dev/media0
[sudo] password for nvidia:
Media controller API version 5.10.216
Media device information
driver tegra-camrtc-ca
model NVIDIA Tegra Video Input Device
serial
bus info
hw revision 0x3
driver version 5.10.216
Device topology
-
entity 1: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev0
pad0: Sink
← “max96712 0-006b”:0 [ENABLED]
pad1: Source
→ “vi-output, max96712 0-006b”:0 [ENABLED]
-
entity 4: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links)
type V4L2 subdev subtype Unknown flags 0
device node name /dev/v4l-subdev1
pad0: Sink
← “max96712 0-004d”:0 [ENABLED]
pad1: Source
→ “vi-output, max96712 0-004d”:0 [ENABLED]
-
entity 7: max96712 0-006b (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev2
pad0: Source
[fmt:SGRBG12_1X12/1300x2162 field:none colorspace:srgb]
→ “13e40000.host1x:nvcsi@15a00000-”:0 [ENABLED]
-
entity 9: vi-output, max96712 0-006b (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: max96712 0-004d (1 pad, 1 link)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev3
pad0: Source
[fmt:SGRBG12_1X12/1300x2162 field:none colorspace:srgb]
→ “13e40000.host1x:nvcsi@15a00000-”:0 [ENABLED]
-
entity 25: vi-output, max96712 0-004d (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
← “13e40000.host1x:nvcsi@15a00000-”:1 [ENABLED]
nvidia@tegra-ubuntu:~$
hello 809595850,
it seems there’re two video nodes available? (i.e. /dev/video0 and /dev/video1)
it’s a SerDes chip, could you please also check there’re actually packages on the CSI channel?
I assume this should report correctly, right? $ v4l2-ctl -d /dev/video0 --list-formats-ext
since it’ll trying to reset the capture channel continuously, let’s try following for capturing frames, please update the pipeline to assign the support formats accordingly.
for instance,
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=300
Hi Jerry,
dmesg_v4l2.txt (71.4 KB)
Yes, I registered two devices through the Max96712 of SerDes, and I can see data output by retrieving the status register.
However, when I used the command below, there was still an error message. Attached is the current dmesg.log.
nvidia@tegra-ubuntu:~$ v4l2-ctl -d /dev/video0 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: 'BA12' (12-bit Bayer GRGR/BGBG)
Size: Discrete 1300x2162
Interval: Discrete 0.100s (10.000 fps)
v4l2-ctl -d /dev/video0 --set-fmt-video=width=1300,height=2162,pixelformat=BA12 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=300
hello 809595850,
is there a frame packet on the CSI channel?
there’s 2500ms timeout settings by default, let’s try rebuild the kernel to increase this for testing..
./nvidia-oot/drivers/media/platform/tegra/camera/vi/vi5_fops.c:#define CAPTURE_TIMEOUT_MS 2500
besides, please execute the steps to enable VI tracing logs.
we may dig into RCE firmware side for more details.
for instance,
echo 1 > /sys/kernel/debug/tracing/tracing_on
echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
echo 2 > /sys/kernel/debug/camrtc/log-level
echo > /sys/kernel/debug/tracing/trace
cat /sys/kernel/debug/tracing/trace
Hi Jerry,
In the current state, the trace log does not provide much useful information.
It appears that the frame package has not been acquired.
hello 809595850,
it means there’s no packet on the CSI channel, please check on the sensor side to ensure you’re correct configuration.