Video0 cannot produce pictures, video3 can produce pictures normally

Hi all, when debugging the camera, I found a problem:
/dev/video0, /dev/video1, when executing the following command, no picture will be output.
v4l2-ctl -d /dev/video0 --stream-mmap --stream-to-host 192.168.1.111
v4l2-ctl -d /dev/video1 --stream-mmap --stream-to-host 192.168.1.111
As for /dev/video3, after executing the following command, the picture can be produced normally.
v4l2-ctl -d /dev/video3 --stream-mmap --stream-to-host 192.168.1.111
Please help me find out why /dev/video0 cannot produce pictures, thank you!

Block Diagram:

soft version:

root@tegra:/sys/kernel/debug/dynamic_debug# 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

dmesg:
dmesg.txt (107.8 KB)
dts:
dts.txt (428.8 KB)
trace log:
trace.txt (6.2 KB)

PS:
I checked the video of max9296 and confirmed that it is locked.
There are also camera triggers.

Boost the clocks to check the trace log if any different.

sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee  /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate

The operation is performed according to the following command. The log is the log of the attachment.

sudo su
cd /sys/kernel/debug/dynamic_debug/
echo file csi2_fops.c +p > control

echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate

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 1 > /sys/kernel/debug/tracing/events/camera_common/enable
echo > /sys/kernel/debug/tracing/trace
cat /sys/kernel/debug/tracing/trace

Didn’t see the log here.

Hi:
The steps are as follows:

root@tegra:/home/robot# sudo su
root@tegra:/home/robot# cd /sys/kernel/debug/dynamic_debug/
root@tegra:/sys/kernel/debug/dynamic_debug# echo file csi2_fops.c +p > control
root@tegra:/sys/kernel/debug/dynamic_debug#
root@tegra:/sys/kernel/debug/dynamic_debug# echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
root@tegra:/sys/kernel/debug/dynamic_debug# echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
root@tegra:/sys/kernel/debug/dynamic_debug# echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
root@tegra:/sys/kernel/debug/dynamic_debug# echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
832000000
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/isp/rate
1011200000
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
642900000
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate
3199000000
root@tegra:/sys/kernel/debug/dynamic_debug#
root@tegra:/sys/kernel/debug/dynamic_debug# echo 1 > /sys/kernel/debug/tracing/tracing_on
root@tegra:/sys/kernel/debug/dynamic_debug# echo 30720 > /sys/kernel/debug/tracing/buffer_size_kb
root@tegra:/sys/kernel/debug/dynamic_debug# echo 1 > /sys/kernel/debug/tracing/events/tegra_rtcpu/enable
root@tegra:/sys/kernel/debug/dynamic_debug# echo 1 > /sys/kernel/debug/tracing/events/freertos/enable
root@tegra:/sys/kernel/debug/dynamic_debug# echo 2 > /sys/kernel/debug/camrtc/log-level
root@tegra:/sys/kernel/debug/dynamic_debug# echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable
root@tegra:/sys/kernel/debug/dynamic_debug# echo > /sys/kernel/debug/tracing/trace
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/tracing/trace
# tracer: nop
#
# entries-in-buffer/entries-written: 0/0   #P:8
#
#                                _-----=> irqs-off
#                               / _----=> need-resched
#                              | / _---=> hardirq/softirq
#                              || / _--=> preempt-depth
#                              ||| /     delay
#           TASK-PID     CPU#  ||||   TIMESTAMP  FUNCTION
#              | |         |   ||||      |         |
root@tegra:/sys/kernel/debug/dynamic_debug# v4l2-ctl -d /dev/video0 --stream-mmap --stream-to-host 192.168.1.111
                VIDIOC_CROPCAP returned -1 (Inappropriate ioctl for device)
                VIDIOC_G_STD returned -1 (Inappropriate ioctl for device)
                VIDIOC_G_DV_TIMINGS returned -1 (Inappropriate ioctl for device)
^C
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/tracing/trace > /home/robot/trace_1.txt
root@tegra:/sys/kernel/debug/dynamic_debug# dmesg > /home/robot/dmesg_1.txt

dmesg_1.txt (107.8 KB)
dts.txt (428.8 KB)
trace_1.txt (6.7 KB)

The trace tell didn’t receive any data from sensor.
Maybe need to probe the signal to confirm it.

Thanks

How to judge the above conclusion? Please help provide relevant guidance.

If NVCSI receive any data from the MIPI bus should print the frame start frame end like FS/FE … message.

OK,thank you!

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