I use an imx297 sensor and when I try to get the image using Argus there is no problem and I can get one frame. But when I use the v4l2-ctl command, no data is received and nothing happens until I stop the process.
v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=-1 --stream-to=/dev/null
sudo dmesg
[ 1791.752003] bwmgr API not supported
[ 1791.769662] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 79, flags: 0, err_data 131072
[ 1791.779907] imx297 9-001a: COMMON imx297_set_mode:
[ 1791.783565] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 80, flags: 0, err_data 131072
[ 1791.793865] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 81, flags: 0, err_data 131072
[ 1791.804161] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 82, flags: 0, err_data 131072
[ 1791.805388] imx297 9-001a: imx297_set_gain: gain: 1
[ 1791.819806] imx297 9-001a: imx297_set_gain: 0x3205: 0
[ 1791.825088] imx297 9-001a: imx297_set_gain: 0x3204: 1
hello talagimi63,
there’re discarding frame
warning messages, which indicate an invalidate capture status, hence it’s dropping current captures.
I assume your system still alive by issue ctrl^c (or, kill v4l2 PID) to terminate the process, right?
if yes,
please refer to Debugging Tips section to examine your sensor driver implementation .
I got this information using debug
v4l2-ctl-2395 [002] .... 291.512186: tegra_channel_open: vi-output, imx297 9-001a
v4l2-ctl-2395 [002] .... 291.513952: tegra_channel_set_power: imx297 9-001a : 0x1
v4l2-ctl-2395 [002] .... 291.513962: camera_common_s_power: status : 0x1
v4l2-ctl-2395 [002] .... 291.814283: tegra_channel_set_power: 13e40000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-2395 [002] .... 291.814290: csi_s_power: enable : 0x1
v4l2-ctl-2395 [002] .... 291.816301: tegra_channel_capture_setup: vnc_id 0 W 728 H 544 fmt c4
v4l2-ctl-2395 [002] .... 291.829671: tegra_channel_set_stream: enable : 0x1
v4l2-ctl-2395 [002] .... 291.834847: tegra_channel_set_stream: 13e40000.host1x:nvcsi@15a00000- : 0x1
v4l2-ctl-2395 [002] .... 291.834850: csi_s_stream: enable : 0x1
v4l2-ctl-2395 [002] .... 291.835266: tegra_channel_set_stream: imx297 9-001a : 0x1
kworker/3:3-128 [003] .... 291.877996: rtcpu_string: tstamp:9843961466 id:0x04010000 str:"VM0 activating."
kworker/3:3-128 [003] .... 291.878001: rtcpu_vinotify_error: tstamp:9844293635 cch:-1 vi:0 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:315017361824 data:0x0000000000000001
kworker/3:3-128 [003] .... 291.878003: rtcpu_vinotify_event: tstamp:9844423486 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:315011395424 data:0x719d580010000000
kworker/3:3-128 [003] .... 291.878003: rtcpu_vinotify_event: tstamp:9844423747 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:315011405184 data:0x0000000031000001
kworker/3:3-128 [003] .... 291.878004: rtcpu_vinotify_event: tstamp:9844424036 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:315011496224 data:0x719d550010000000
kworker/3:3-128 [003] .... 291.878004: rtcpu_vinotify_event: tstamp:9844424286 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:315011506144 data:0x0000000031000002
kworker/3:3-128 [003] .... 291.878004: rtcpu_vinotify_event: tstamp:9844424566 cch:-1 vi:0 tag:CSIMUX_STREAM channel:0x00 frame:0 vi_tstamp:315017361824 data:0x0000000000000001
kworker/3:3-128 [003] .... 291.878005: rtcpu_vinotify_event: tstamp:9844736326 cch:0 vi:0 tag:FS channel:0x00 frame:247 vi_tstamp:315023442880 data:0x000000f700000010
kworker/3:3-128 [003] .... 291.878005: rtcpu_vinotify_event: tstamp:9844736650 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:247 vi_tstamp:315023442912 data:0x0000000800000000
kworker/3:3-128 [003] .... 291.878005: rtcpu_vinotify_event: tstamp:9844736904 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:247 vi_tstamp:315023457504 data:0x0000000000004004
kworker/3:3-128 [003] .... 291.878006: rtcpu_vinotify_event: tstamp:9844737184 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:247 vi_tstamp:315023466304 data:0x0000000001020001
kworker/3:3-128 [003] .... 291.878006: rtcpu_vinotify_event: tstamp:9844737433 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:247 vi_tstamp:315023572640 data:0x00000000000006e9
kworker/3:3-128 [003] .... 291.878006: rtcpu_vinotify_event: tstamp:9844737716 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:247 vi_tstamp:315023630336 data:0x0000000000004001
kworker/3:3-128 [003] .... 291.878006: rtcpu_vinotify_event: tstamp:9844737966 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:247 vi_tstamp:315031461216 data:0x00000000021f4002
kworker/3:3-128 [003] .... 291.878007: rtcpu_vinotify_event: tstamp:9844738246 cch:0 vi:0 tag:ATOMP_FRAME_DONE channel:0x23 frame:247 vi_tstamp:315031462048 data:0x0000000000000000
kworker/3:3-128 [003] .... 291.878007: rtcpu_vinotify_event: tstamp:9844738490 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:247 vi_tstamp:315031469600 data:0x0000000002204040
kworker/3:3-128 [003] .... 291.878007: rtcpu_vinotify_event: tstamp:9844738768 cch:0 vi:0 tag:FE channel:0x00 frame:247 vi_tstamp:315031512704 data:0x000000f700000020
hello talagimi63,
VI is expecting SOF and EOF signaling, which indicate a complete frame, however, there an error with CHANSEL_FAULT. the error code 0x4004
shows failure with first embedded byte in a frame.
hence,
please examine whether your sensor is outputting embedded metadata. you should also configure device tree property embedded_metadata_height
as same as your sensor output. if sensor does not support embedded metadata, the value should be 0.
I set the value of embedded_metadata_height
to 2 and shared the
imx297_log.txt (30.3 KB)
On the other hand, according to the image related to ALL-pixel, I set the Device tree list register like this:
mode0 { // All Pixel Mode
num_lanes = "1";
embedded_metadata_height = "2";
readout_orientation = "0";
mclk_khz = "54000";
tegra_sinterface = "serial_a";
phy_mode = "DPHY";
discontinuous_clk = "no";
dpcm_enable = "true";
cil_settletime = "0";
active_l = "0";
active_t = "0";
active_w = "728";
active_h = "544";
mode_type = "bayer";
pixel_phase = "bggr";
csi_pixel_bit_depth = "10";
line_length = "1070";
Where is the problem?
Thanks for the help
hello talagimi63,
below tracing logs indicate that embedded metadata were parsed correctly.
tag:CHANSEL_EMBED_SOF channel:0x23 frame:230 vi_tstamp:4864653798464 data:0x0000000000000004
tag:CHANSEL_EMBED_EOF channel:0x23 frame:230 vi_tstamp:4864653818880 data:0x0000000000010008
tag:ATOMP_EMB_DATA_DONE channel:0x23 frame:230 vi_tstamp:4864653819712 data:0x0000000000000000
please check your lane polarity settings since it’s Orin Nano, and you’re using CSI-A.
for instance, please refer to Jetson Orin NX Series and Orin Nano Series Design Guide for [Figure 10-1. CSI 2-Lane Connection Options].
i.e. CSI0 D1 and CSI1 D0 P/N will always been swizzled for P/N.
you may also check reference driver for lane_polarity
DT settings.
for instance, $public_sources/kernel_src/hardware/nvidia/platform/t23x/p3768/kernel-dts/cvb/tegra234-camera-rbpcv2-imx219.dtsi
We are using the Jetson NX carrier board with Orin Nano and configuration P3767-0004 + P3509-0000. We utilize CSI data lines CSI_0_D0_N and CSI_0_D0_P, and clock lines CSI_0_CLK_N and CSI_0_CLK_P, with the polarity set to direct. In the device tree, we specify ‘tegra_sinterface=“serial_a”’ and ‘lane_polarity=“0”’. Everything works fine with the IMX296 sensor. However, we encounter issues when using the IMX297 sensor.
hello talagimi63,
this is not supported. please see-also Topic 250765 .
please works with Jetson Orin Nano Developer Kit carrier board.
system
Closed
March 14, 2024, 7:10am
11
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.