HI nvidia,
When I use the command below on my Orin Nano R35.6.0,dmesg shows errors and sometimes even freezes.
cat /dev/video1
[ 539.904177] bwmgr API not supported
[ 542.427699] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 542.440469] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 542.450104] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 542.457862] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 542.468571] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 542.476328] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 0 vc- 1
[ 542.487201] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channe
nvidia@tegra-ubuntu:~/ldebug/26_07_14$ v4l2-ctl -d1 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture
[0]: ‘RGGB’ (8-bit Bayer RGRG/GBGB)
Size: Discrete 2025x240
Datalink:
Sensor—raw8—> GMSL2[Max96712+Max96717]—raw8—>OrinNano
dts setting:
mode0 {
mclk_khz = "25000";
num_lanes = "2";
tegra_sinterface = "serial_a";
vc_id = "0";
phy_mode = "DPHY";
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = "0";
lane_polarity = "6";
active_w = "2025";
active_h = "240";
mode_type = "bayer";
pixel_phase = "rggb";
csi_pixel_bit_depth = "8";
readout_orientation = "0";
line_length = "2028";
inherent_gain = "1";
mclk_multiplier = "1.1";
pix_clk_hz = "28080000";
serdes_pix_clk_hz = "250000000";
gain_factor = "16";
framerate_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
max_gain_val = "16"; /* 1.00x */
step_gain_val = "1";
dmesg_00.txt (77.7 KB)
tegra234-camera-rbpcv2-tm001_video0_4cam.txt (13.5 KB)
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "1000000"; /* 1.0 fps */^[Footnotes]
max_framerate = "10000000"; /* 10.0 fps */
step_framerate = "1";
default_framerate = "10000000"; /* 10.0 fps */
min_exp_time = "13"; /* us */
max_exp_time = "100000"; /* us */
step_exp_time = "1";^[Footnotes]
default_exp_time = "100000"; /* us */
embedded_metadata_height = "0";
};
Could you help check my DTS configuration? I’m not sure if the raw8 settings is correct.
The sensor output 2025x240@10fps ,DataType: Raw8.
Jetson camera framework need some parameter input please using v4l2-ctl to access the video like
v4l2-ctl --stream-mmap -c bypass_mode=0 to capture.
Not really.
When I used the “v4l2-ctl -d 1 --stream-mmap -c bypass_mode=0”, dmesg is still the same.
[ 9140.871979] bwmgr API not supported
[ 9143.567894] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 9143.580794] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 9143.590432] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 9143.598217] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 9143.608900] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 9143.617184] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 9146.127800] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 9146.136999] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 9146.146646] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 9146.154405] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=0, csi_port=0
[ 9146.165109] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 9147.183818] tegra194-vi5 13e40000.host1x:vi0@15c00000: capture control message timed out
[ 9147.192209] tegra194-vi5 13e40000.host1x:vi0@15c00000: vi_capture_control_send_message: failed to send IVC control message
[ 9148.207776] tegra194-vi5 13e40000.host1x:vi0@15c00000: capture control message timed out
[ 9148.216239] tegra-camrtc-capture-vi tegra-capture-vi: vi capture setup failed
[ 9148.223618] tegra-camrtc-capture-vi tegra-capture-vi: fatal: error recovery failed
[ 9148.235731] bwmgr API not supported
[ 9149.263693] tegra194-vi5 13e40000.host1x:vi0@15c00000: capture control message timed out
[ 9149.275626] tegra194-vi5 13e40000.host1x:vi0@15c00000: csi_stream_release: failed to disable nvcsi tpg on stream 0 virtual channel 1
Get the trace log
sudo su
modprobe rtcpu_debug
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 3 > /sys/kernel/debug/camrtc/log-level
echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable
echo > /sys/kernel/debug/tracing/trace
v4l2-ctl --stream-mmap -c bypass_mode=0
cat /sys/kernel/debug/tracing/trace
Looks like NVCSI/VI didn’t receive any validate data from MIPI bus.
You may need have scope to probe the signal to confirm the output follow MIPI spec.
Thanks
I can’t directly measure the signal with either my module or the Orin-nano right now, so I want to first confirm whether there is a problem with my DTS configuration.
You are using devkit or carrier board?
For devkit suggest using CAM1 aka CSI-C to your driver.
I don’t have a devkit or carrier board.
I reconfigured it and changed the lane_number, and now the MIPI output is normal, but I still can’t get the rawData.
The latest trace_log is attached.
trace_log.txt (2.0 MB)
Is it a Line short error issue?
My sensor output is raw8 2025x240@10fps.
How??
Suppose you are connect the your sensor to devkit. Reconnect to CSI-C to try.
Okay.
I’m using an integrated box, and to check the signal, it needs to be disassembled.
I’ll try switching to CSI-C first…
Okay.
I’m using an integrated box, and confirming the signal requires disassembly.
I’ll first modify the configuration to CSI-C and give it a try…
Still not working.
BTW ,when i swtiched mode to 1300x2160@10fps raw12,the stream is normal.
I modified the GMSL2 configuration,and the /dev/video port output some data.But I still cannot get rawData.
Here are the latest dmesg and trace_log .
The current DTS configuration:
mode0 { /* v001_MODE_2024x240_10FPS */
mclk_khz = "25000";
num_lanes = "2";
tegra_sinterface = "serial_a";
vc_id = "0";
phy_mode = "DPHY";
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = "0";
lane_polarity = "6";
active_w = "2025";
active_h = "240";
mode_type = "bayer";
pixel_phase = "bggr";
csi_pixel_bit_depth = "8";
readout_orientation = "0";
line_length = "2028";
inherent_gain = "1";
mclk_multiplier = "1.1";
pix_clk_hz = "28080000";
serdes_pix_clk_hz = "375000000";
gain_factor = "16";
framerate_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
max_gain_val = "16"; /* 1.00x */
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "1000000"; /* 1.0 fps */
max_framerate = "10000000"; /* 10.0 fps */
step_framerate = "1";
default_framerate = "10000000"; /* 10.0 fps */
min_exp_time = "13"; /* us */
max_exp_time = "100000"; /* us */
step_exp_time = "1";
default_exp_time = "2495"; /* us */
embedded_metadata_height = "0";
};
The trace log shows PIXEL_LONG_LINE,
Confirm the size by v4l2-ctl --list-formats-ext and make sure the sensor output size the same by the driver reported.
mode0 { /* v001_MODE_2024x240_10FPS */
mclk_khz = "25000";
num_lanes = "2";
tegra_sinterface = "serial_a";
vc_id = "1";
phy_mode = "DPHY";
discontinuous_clk = "no";
dpcm_enable = "false";
cil_settletime = "0";
lane_polarity = "6";
active_w = "2048";
active_h = "241";
mode_type = "bayer";
pixel_phase = "bggr";
csi_pixel_bit_depth = "8";
readout_orientation = "0";
line_length = "2048";
inherent_gain = "1";
mclk_multiplier = "1.1";
pix_clk_hz = "28080000";
serdes_pix_clk_hz = "375000000";
gain_factor = "16";
framerate_factor = "1000000";
exposure_factor = "1000000";
min_gain_val = "16"; /* 1.00x */
max_gain_val = "16"; /* 1.00x */
step_gain_val = "1";
default_gain = "16"; /* 1.00x */
min_hdr_ratio = "1";
max_hdr_ratio = "1";
min_framerate = "1000000"; /* 1.0 fps */
max_framerate = "10000000"; /* 10.0 fps */
step_framerate = "1";
default_framerate = "10000000"; /* 10.0 fps */
min_exp_time = "13"; /* us */
max_exp_time = "100000"; /* us */
step_exp_time = "1";
default_exp_time = "2495"; /* us */
embedded_metadata_height = "0";
};
CHANSEL_FAULT channel:0x23 frame:0 vi_tstamp:167503735648 data:0x0000000000f00202
CHANSEL_FAULT channel:0x23 frame:0 vi_tstamp:167503972192 data:0x0000000000f10240
From the latest trace_log, how should I determine the line number 0xf1 or 0xf0 ? And for these corresponding issues, how should they be fixed!
I didn’t add the embedded data.
PIXEL_EOF
PIXEL_RUNAWAY
PIXEL_SHORT_LINE
Please copy the trace log here instead of screenshot.
Thanks
DillCao:
PIXEL_RUNAWAY
trace_log.txt (315.5 KB)
dmesg.txt (107.4 KB)
Because frames are still reaching ATOMP_FRAME_DONE, the recurring fault is more consistent with a format/layout mismatch than with a dead CSI stream:
wrong active width/height
wrong LI/header interpretation
embedded-data presence/length mismatch
datatype / packetization mismatch
frame ending abnormally so VI has to force/interpret FE around bad data
What suggestions do you have on how I should adjust DTS?
My known information is 2025x240@10fps and data type: raw8.