I use Orin module the Bsp version is 35.1. Sometimes when capture camera image failed the kernel crash the oops log as below. I use 4 camearas to test each camera resolusiton is 4096x3072, the frame rate is 25,the test case is to execute in a loop as below: open video device ->VIDIOC_STREAMON ->capture 30 images ->VIDIOC_STREAMOFF ->close video device.
console-ramoops (10.5 KB)
dmesg-ramoops (24.2 KB)
Boost the clocks to try.
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
I have boost the clocks before running the test case.
Please confirm launch how many camera would hit the problem?
When capturing 4 cameras image data a kernel panic will occur.
Could you confirm smaller sensor resolution like 1080p.
Sorry, I do’t have smaller resolution sensor.
How about reduce the frame rate?
I analyzed the Linux driver code, in vi_capture_setup() funciton the ‘capture->channel_id’ variable assigned by the RTCPU resopns message. And the capture->channel_id variable is invalid. Therefore, I think there is problem when RTCPU captures multiple cameras simultaneously.
Do you use v4l2-ctl to capture or customized APP?
This problem occurs when I use standard v4l2-ctl and our software.
Could you provide the script for v4l2-ctl to reproduce the problem.
I use v4l standard utility test, I wrote 4 shell shell scripts and run those scripts in 4 terminals. The script as below, in script file the /dev/videox is /dev/video0~3.
# !/bin/bash count=1 while true; do echo $count count=$((count + 1)) ./v4l2-ctl -d /dev/videox --set-fmt-video=width=4096,height=3072,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=30 done
Have boost the system by below command to try again.
sudo nvpmodel -m 0 sudo jetson_clocks