"v4l2-ctl -d /dev/video0 --stream-mmap --stream-to-host 192.168.1.111" cannot produce a picture

Hi All:

The following command cannot produce a picture. Please help to find out the reason. Thank you!

v4l2-ctl -d /dev/video0 --stream-mmap --stream-to-host 192.168.1.111

Related Information:

Block Diagram:

Camera Info:

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^C^C^C
root@tegra:/sys/kernel/debug/dynamic_debug# ^C
root@tegra:/sys/kernel/debug/dynamic_debug# ^C
root@tegra:/sys/kernel/debug/dynamic_debug# dmesg > /home/robot/dmesg_max96712_max9295.txt
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/tracing/trace > /home/robot/trace_max96712_max9295.txt
root@tegra:/sys/kernel/debug/dynamic_debug# dtc -I dtb -O dts -o /home/robot/dts_max96712_max9295.txt /boot/dtb/kernel_tegra234-p3767-0000-p3768-0000-a0.dtb

Log:
dmesg:
dmesg_max96712_max9295.txt (79.4 KB)
dts:
dts_max96712_max9295.txt (426.7 KB)
trace log:
trace_max96712_max9295.txt (59.6 MB)

ps:
Pipeline 0/1/2/3 video Lock checked

The trace log tell the lane control error.
Please set the lane_polarity = 6; for CSI0

kworker/3:1-56      [003] ....   743.190970: rtcpu_nvcsi_intr: tstamp:23958721478 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x00000008

Hi:

Thank you for your suggestion, there are no dmesg alarms.

When I execute the following command, a blackboard appears. Please help me find out why?

v4l2-ctl -d /dev/video0 --stream-mmap --stream-to-host 192.168.1.111

dmesg_black.txt (78.1 KB)
trace_black.txt (287.9 KB)

root@tegra:/sys/kernel/debug/dynamic_debug# 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
root@tegra:/sys/kernel/debug/dynamic_debug# 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
echo > /sys/kernel/debug/tracing/trace
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
cat /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# echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked^C                              root@tegra:/sys/kernel/debug/dynamic_debug# dmesg > /home/robot/dmesg_black.txt
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/tracing/trace > /home/robot/trace_black.txt

PS:

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

Looks like v4l2-ctl able capture succesfully but the framerate is lower.
Please check below command able show correct framerate.
If yes the I can tell the camera working well, the problem could be in V4L2Viewer.

v4l2-ctl -d /dev/video0 --stream-mmap

Hi :

root@tegra:/sys/kernel/debug/dynamic_debug# sudo su
root@tegra:/sys/kernel/debug/dynamic_debug# 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
^[[2~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
^[[2~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
^[[2~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#
root@tegra:/sys/kernel/debug/dynamic_debug#
root@tegra:/sys/kernel/debug/dynamic_debug#
root@tegra:/sys/kernel/debug/dynamic_debug# v4l2-ctl -d /dev/video0 --stream-mmap
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.02 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 30.02 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<^C
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)
<<<<<<<<<< 8.44 fps 100% compression
<<<<<< 6.93 fps 100% compression
<<<<< 6.45 fps 100% compression
<<<<<< 6.19 fps 100% compression
<<<<< 6.08 fps 100% compression
<<<<< 5.97 fps 100% compression
<<<<<< 5.89 fps 100% compression
<<<<< 5.85 fps 100% compression
<<<<<< 5.81 fps 100% compression
<<<<< 5.76 fps 100% compression
<<<<<< 5.73 fps 100% compression
<<<<< 5.71 fps 100% compression
<<<<<< 5.68 fps 100% compression
<<<<< 5.68 fps 100% compression
<<<<< 5.66 fps 100% compression
<<<<<< 5.64 fps 100% compression
<<^C^C
root@tegra:/sys/kernel/debug/dynamic_debug# ^C
root@tegra:/sys/kernel/debug/dynamic_debug# ^C
root@tegra:/sys/kernel/debug/dynamic_debug# ^C
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/tracing/trace > /home/robot/black_trace.txt
root@tegra:/sys/kernel/debug/dynamic_debug#

trace.log
black_trace.txt (2.0 MB)

Every thing looks good. I suspect the V4L2Viewer have problem to support it.
You can try “gst-launch-1.0 v4l2src …”

gst-launch-1.0 v4l2src ! 'video/x-raw, format=(string)UYVY, width=(int)1920, height=(int)1080, framerate=(fraction)25/1' ! xvimagesink -ev

Hi:
The problem still exists.

gst-launch-1.0 -ev v4l2src device=/dev/video1 ! rawvideoparse format=4 width=1920 height=1080 ! videoconvert ! videoflip method=rotate-180 ! fpsdisplaysink video-sink=xvimagesink sync=false

gst-launch-1.0 -ev v4l2src device=/dev/video1 ! rawvideoparse format=4 width=1920 height=1080 framerate=(fraction)25/1 ! videoconvert ! videoflip method=rotate-180 ! fpsdisplaysink video-sink=xvimagesink sync=false

log:
trace_gstreamer_01.txt (2.9 MB)

I don’t see any failed for the NVCSI/VI capture from the sensor.
Maybe dump the frame by check by tools.

v4l2-ctl --set-fmt-video=width=1920,height=1080 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=5 --stream-to=test.raw -d /dev/video0 

What tools to use? Is there any way to deal with it?

7-yuv should able to check it.

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 --set-fmt-video=width=1920,height=1080 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=5 --stream-to=test.raw -d /dev/video0
could not open test.raw for writing
<<<<<
root@tegra:/sys/kernel/debug/dynamic_debug# cat /sys/kernel/debug/tracing/trace > /home/robot/trace.log                                  root@tegra:/sys/kernel/debug/dynamic_debug#

root@tegra:/home/robot# cp test.raw test.raw.txt
test.raw.txt (19.8 MB)

trace.log (18.5 KB)

The output data looks like incorrect. Suppose it could be the sensor setting cause the problem.
You may configure sensor output test pattern to confirm it.

10 81 10 81 10 81 10 81 10 81 10 81 10 81 10 81  

OK, I’ll check it out, thank you!

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