Orin NX is not responding to camera input

hello suengpyo.shin,

v4l2 utility checks from the driver side, normally checking with camera_common_frmfmt to report the sensor capability to user-space.
please give it a try to revise the driver definition as same as your sensor output accordingly.

I am always very grateful for your quick responses.
There is progress while debugging.
After setting lane_polarity = “2”
SOF,EOF,FS,FE received.
However, the error below still exists.
After searching the forum, it was said that it was an issue related to sensor settings.
I need your help.
Please tell us what the problem is in the error message below and the attached log.
46.173222] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[ 46.208080] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072
[ 46.243003] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 131072

worker/3:2-402 [003] … 46.247356: rtcpu_vinotify_event: tstamp:1902618928 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:60867504736 data:0x0000000800000000
kworker/3:2-402 [003] … 46.247357: rtcpu_vinotify_event: tstamp:1902619065 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:0 vi_tstamp:60867535520 data:0x0000000000000549
kworker/3:2-402 [003] … 46.247358: rtcpu_vinotify_event: tstamp:1903161777 cch:0 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:60899339296 data:0x0000000000000020
kworker/3:2-402 [003] … 46.247358: rtcpu_vinotify_event: tstamp:1903161917 cch:0 vi:0 tag:CHANSEL_SHORT_FRAME channel:0x01 frame:0 vi_tstamp:60899339296 data:0x0000200001000000
kworker/3:2-402 [003] … 46.247359: rtcpu_vinotify_event: tstamp:1903162075 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:60899403968 data:0x0000000001020002
kworker/3:2-402 [003] … 46.247359: rtcpu_vinotify_event: tstamp:1903162211 cch:0 vi:0 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:60899339360 data:0x0000000800000000
kworker/3:2-402 [003] … 46.247359: rtcpu_vinotify_event: tstamp:1903162367 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:60899483104 data:0x0000000007020003
kworker/3:2-402 [003] … 46.247360: rtcpu_vinotify_event: tstamp:1903162509 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:60899688416 data:0x799d550010000000
kworker/3:2-402 [003] … 46.247360: rtcpu_vinotify_event: tstamp:1903162662 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:60899731168 data:0x0000000031000004
kworker/3:2-402 [003] … 46.247361: rtcpu_vinotify_error: tstamp:1903204100 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:0 vi_tstamp:60902395680 data:0x0000000000000549
kworker/3:2-402 [003] … 46.247362: rtcpu_vinotify_event: tstamp:1903704305 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:60902364832 data:0x0000000000000010
kworker/3:2-402 [003] … 46.247362: rtcpu_vinotify_event: tstamp:1903704462 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:60902364896 data:0x0000000800000000
kworker/3:2-402 [003] … 46.247362: rtcpu_vinotify_event: tstamp:1903704597 cch:0 vi:0 tag:CHANSEL_NOMATCH channel:0x01 frame:0 vi_tstamp:60902395680 data:0x0000000000000549
kworker/3:2-402 [003] … 46.247363: rtcpu_vinotify_event: tstamp:1904204177 cch:0 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:60934199424 data:0x0000000000000020

I attached full log.
1_6G_setting_lane_polarity_2_line_length_1920_20240704_01.txt (71.9 KB)

Thank you and best regard!

Hello Jerry Chang
Thank you always for your responses.
After changing the SerDes settings, the error code has changed as follows:
[ 36.363002] tegra-camrtc-capture-vi tegra-capture-vi: corr_err: discarding frame 0, flags: 0, err_data 256 ignored
(Note: “ignored” was added by me). When this error occurs, I made it so it would be ignored and attempted to capture the frame. The captured frame shows an acceptable level of accuracy in recognizing objects. However, there are still many errors. The following errors keep repeating. I am attaching the entire log and thank you in advance for your prompt response as always.
vi-output, imx3-1823 [001] … 36.439772: vi_task_submit: class_id:48 ch:0 syncpt_id:34 syncpt_thresh:0 pid:1823 tid:1823
kworker/1:0-26 [001] … 36.454180: rtcpu_vinotify_event: tstamp:1723806438 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:55145098624 data:0x799d580010000000
kworker/1:0-26 [001] … 36.454182: rtcpu_vinotify_event: tstamp:1723806577 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:55145141344 data:0x0000000031000003
kworker/1:0-26 [001] … 36.454183: rtcpu_vinotify_event: tstamp:1723806743 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:55147870464 data:0x0000000000000010
kworker/1:0-26 [001] … 36.454183: rtcpu_vinotify_event: tstamp:1723806878 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:55147870560 data:0x0000000800000000
kworker/1:0-26 [001] … 36.454184: rtcpu_vinotify_event: tstamp:1723807031 cch:0 vi:0 tag:CHANSEL_PXL_SOF channel:0x23 frame:0 vi_tstamp:55147901376 data:0x0000000000000001
kworker/1:0-26 [001] … 36.454185: rtcpu_vinotify_event: tstamp:1723807163 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:55147911968 data:0x0000000008020002
kworker/1:0-26 [001] … 36.454186: rtcpu_vinotify_event: tstamp:1723807316 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:0 vi_tstamp:55147910912 data:0x0000000000000100
kworker/1:0-26 [001] … 36.454186: rtcpu_vinotify_event: tstamp:1723807448 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:55147991104 data:0x0000000001020002
kworker/1:0-26 [001] … 36.454188: rtcpu_vinotify_event: tstamp:1724471752 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:0 vi_tstamp:55179704352 data:0x0000000003ff0182
kworker/1:0-26 [001] … 36.454189: rtcpu_vinotify_event: tstamp:1724471888 cch:0 vi:0 tag:ATOMP_FRAME_DONE channel:0x23 frame:0 vi_tstamp:55179705376 data:0x0000000000000000
kworker/1:0-26 [001] … 36.454189: rtcpu_vinotify_event: tstamp:1724472040 cch:0 vi:0 tag:FE channel:0x00 frame:0 vi_tstamp:55179714528 data:0x0000000000000020
kworker/1:0-26 [001] … 36.454190: rtcpu_vinotify_event: tstamp:1724472172 cch:0 vi:0 tag:ATOMP_FE channel:0x00 frame:0 vi_tstamp:55179714656 data:0x0000000800000000
kworker/1:0-26 [001] … 36.454191: rtcpu_vinotify_event: tstamp:1724472325 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:55179789376 data:0x0000000007020003
kworker/1:0-26 [001] … 36.454191: rtcpu_vinotify_event: tstamp:1724472458 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:55179882528 data:0x799d550010000000
kworker/1:0-26 [001] … 36.454192: rtcpu_vinotify_event: tstamp:1724472609 cch:0 vi:0 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:55179928288 data:0x0000000031000004
kworker/1:0-26 [001] … 36.454193: rtcpu_vinotify_event: tstamp:1724472744 cch:0 vi:0 tag:FS channel:0x00 frame:0 vi_tstamp:55182730464 data:0x0000000000000010
kworker/1:0-26 [001] … 36.454193: rtcpu_vinotify_event: tstamp:1725000815 cch:0 vi:0 tag:ATOMP_FS channel:0x00 frame:0 vi_tstamp:55182730560 data:0x0000000800000000
kworker/1:0-26 [001] … 36.454194: rtcpu_vinotify_event: tstamp:1725000953 cch:0 vi:0 tag:CHANSEL_PXL_SOF channel:0x23 frame:0 vi_tstamp:55182761376 data:0x0000000000000001
kworker/1:0-26 [001] … 36.454194: rtcpu_vinotify_event: tstamp:1725001110 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:55182786720 data:0x0000000008020003
kworker/1:0-26 [001] … 36.454195: rtcpu_vinotify_event: tstamp:1725001245 cch:0 vi:0 tag:CHANSEL_FAULT channel:0x23 frame:0 vi_tstamp:55182770912 data:0x0000000000000100
kworker/1:0-26 [001] … 36.454195: rtcpu_vinotify_event: tstamp:1725001401 cch:0 vi:0 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:55182870272 data:0x0000000001020003
vi-output, imx3-1824 [003] … 36.467486: tegra_channel_capture_frame: sof:55.217621376
vi-output, imx3-1824 [003] … 36.467488: tegra_channel_capture_frame: eof:55.217719648
Captured_log_20240705_170831.txt (109.8 KB)


hello suengpyo.shin,

FYI, we’ve review your waveform measurement, and it looks correct.

please see-also Topic 295598 and Topic 292692,
such white line corruption is JP-6 release version known issue. it’s under investigation now.
the abnormal frame should only repo’ed via VI mode, it should not seen by going through LibArgus.
or, it could also be workaround by dropping some frames, i.e. --stream-skip options.
for instance, issue gone if you try skip frames (as many as possible) to dump a raw file via v4l2.
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --stream-skip=999 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=/tmp/frame1920x1080.raw

regrading to your half frame capture results. is the sensor side outputting with interlace mode?
please try double check the setting to configure as progressive video for verification.

Hello Jerry Chang
IThank you for your prompt response each time.

I have confirmed that MIPI data is being received correctly. However, because the Data Type (DT) does not match, the screen cannot be captured correctly. To set the MIPI DT to RAW8 and capture images, I want to set the camera’s image format to GRAY8, Y8, or Y16. However, when I set the DT accordingly and add the code *format = V4L2_PIX_FMT_GREY; in the extract_pixel_format function of W:\Linux_for_Tegra\source\nvidia-oot\drivers\media\platform\tegra\camera\sensor_common.c, the camera fails to probe and the system crashes.

How can I change the image format to GRAY8, Y8, or Y16? I have checked existing resources but was unable to apply them as there was no soc_mediabus.c file.

Here are the resources I referred to:

Issue with video format and data type in camera driver development

Support for Y16 format

================ Error message ================
▒▒[ 11.528842] max96712 2-0052: max96712_debugfs_init np sucess max96712_a
[ 11.528880] max96712 2-0052: max96712_debugfs_init return success
[ 11.528882] max96712 2-0052: max96712_probe: success
[ 11.548184] imx390_probe enter
[ 11.548192] imx390 2-001b: probing v4l2 sensor.
[ 11.548272] imx390_parse_dt enter
[ 11.548303] extract_pixel_format: force pixel format V4L2_PIX_FMT_GREY grey_y8
[ 11.548304] extract_pixel_format: Need to extend format grey_y8
[ 11.548341] imx390_board_setup enter
[ 11.548407] imx390 2-001b: invalid stream data type 0x2a
[ 11.548410] imx390_gmsl_serdes_setup 000000004f19f817.
[ 11.548457] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[ 11.548469] tegra-camrtc-capture-vi tegra-capture-vi: subdev imx390 2-001b bound
[ 11.548494] cdi_tsc c6a0000.tsc_sig_gen: CDI TSC probing…
[ 11.548634] cdi_tsc c6a0000.tsc_sig_gen: cdi_tsc_probe: Initializing the driver
[ 11.549551] cdi_tsc c6a0000.tsc_sig_gen: cdi_tsc_probe: Successfully initialized the tsc char driver
[ 11.549755] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
[ 11.549759] Mem abort info:
[ 11.549759] ESR = 0x0000000096000004
[ 11.549761] EC = 0x25: DABT (current EL), IL = 32 bits
[ 11.549762] SET = 0, FnV = 0
[ 11.549763] EA = 0, S1PTW = 0
[ 11.549764] FSC = 0x04: level 0 translation fault
[ 11.549765] Data abort info:
[ 11.549766] ISV = 0, ISS = 0x00000004
[ 11.549766] CM = 0, WnR = 0
[ 11.549767] user pgtable: 4k pages, 48-bit VAs, pgdp=000000010d92c000
[ 11.549770] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000
[ 11.549775] Internal error: Oops: 0000000096000004 [#1] PREEMPT_RT SMP
[ 11.549779] Modules linked in: cam_cdi_tsc(O+) nv_imx390(O+) bridge nv_hawk_owl(O) stp llc usb_f_ncm usb_f_mass_storage crct10dif_ce snd_soc_tegra_machine_driver(O) snd_soc_tegra_utils(O) snd_soc_simple_card_utils tegra234_oc_event(O) fusb301(O) nvpmodel_clk_cap(O) thermal_trip_event(O) tegra_aconnect tegra234_aon(O) mttcan(O) tegra_cactmon_mc_all(O) nvpps(O) can_dev r8168(O) snd_hda_codec_hdmi at24 max96712(O) tegra_pcie_dma_test(O) tegra_pcie_edma(O) max9295(O) pwm_tegra_tachometer(O) snd_hda_tegra snd_hda_codec nvidia_vrs_pseq(O) spi_tegra114 snd_hda_core nvidia(O) mc_hwpm(O) usb_f_acm u_serial tegra_dce(O) usb_f_rndis u_ether host1x_fence(O) tsecriscv(O) libcomposite nvhost_isp5(O) nvhost_nvcsi_t194(O) nvhost_vi5(O) tegra_camera(O) v4l2_dv_timings nvhost_nvcsi(O) governor_userspace tegra_camera_platform(O) capture_ivc(O) tegra_camera_rtcpu(O) ivc_bus(O) hsp_mailbox_client(O) tegra_drm(O) ivc_ext(O) v4l2_fwnode v4l2_async videobuf2_dma_contig videobuf2_memops tegra_wmark(O) cec
[ 11.549848] nvhost_capture(O) videobuf2_v4l2 drm_kms_helper videobuf2_common videodev nvhost_pva(O) nvhost_nvdla(O) mc drm nvhwpm(O) host1x_nvhost(O) nvidia_p2p(O) ina3221 nvgpu(O) governor_pod_scaling(O) host1x(O) mc_utils(O) nvmap(O) nvsciipc(O) fuse ip_tables x_tables ipv6 pwm_fan pwm_tegra tegra_bpmp_thermal tegra_xudc ucsi_ccg typec_ucsi typec nvme nvme_core phy_tegra194_p2u pcie_tegra194
[ 11.549886] CPU: 3 PID: 498 Comm: systemd-udevd Tainted: G O 5.15.136-rt-tegra #1
[ 11.549889] Hardware name: NVIDIA NVIDIA Jetson Orin NX Engineering Reference Developer Kit/Jetson, BIOS 36.3.0-gcid-36191598 05/06/2024
[ 11.549891] pstate: a0400009 (NzCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=–)
[ 11.549894] pc : camera_common_g_fmt+0x4c/0xb0 [tegra_camera]
[ 11.549918] lr : camera_common_g_fmt+0x30/0xb0 [tegra_camera]
[ 11.549930] sp : ffff80000b993440
[ 11.549932] x29: ffff80000b993440 x28: ffff000085791c88 x27: 0000000000000038
[ 11.549934] x26: ffffc1c070954948 x25: ffffc1c070954938 x24: ffff000085afeab8
[ 11.549937] x23: ffffc1c07050adf0 x22: ffff00008ba300b8 x21: ffff80000b9934f8
[ 11.549939] x20: ffff000085315420 x19: ffff80000b993588 x18: ffffffffffffffff
[ 11.549940] x17: 0000000000000000 x16: ffffc1c0e9fb2f40 x15: ffff80000b993438
[ 11.549942] x14: ffffffffffffffff x13: 0000000000000000 x12: 0000000000000027
[ 11.549944] x11: 0101010101010101 x10: ffff00008ba30208 x9 : 7f7f7f7f7f7f7f7f
[ 11.549946] x8 : fefeff2f64636e6c x7 : 0000000001808080 x6 : 0000000100000000
[ 11.549948] x5 : 8080800000000000 x4 : 8000000000000000 x3 : 0000000000000001
[ 11.549950] x2 : ffff00008ba30080 x1 : 0000000000000000 x0 : 0000000000000000
[ 11.549952] Call trace:
[ 11.549954] camera_common_g_fmt+0x4c/0xb0 [tegra_camera]
[ 11.549966] v4l2sd_get_fmt+0x30/0x40 [tegra_camera]
[ 11.549978] call_get_fmt+0x7c/0xa0 [videodev]
[ 11.549994] tegra_channel_fmts_bitmap_init+0x1b0/0x2b0 [tegra_camera]
[ 11.550009] tegra_channel_init_subdevices+0x18c/0x790 [tegra_camera]
[ 11.550021] tegra_vi_graph_notify_complete+0x2fc/0x670 [tegra_camera]
[ 11.550032] v4l2_async_notifier_try_complete.part.0+0x70/0x80 [v4l2_async]
[ 11.550038] v4l2_async_register_subdev+0x11c/0x1e0 [v4l2_async]
[ 11.550041] tegracam_v4l2subdev_register+0x104/0x180 [tegra_camera]
[ 11.550052] imx390_probe+0x780/0x7f0 [nv_imx390]
[ 11.550058] i2c_device_probe+0x2fc/0x340
[ 11.550067] really_probe.part.0+0xac/0x320
[ 11.550074] __driver_probe_device+0xa4/0x170
[ 11.550077] driver_probe_device+0x54/0x190
[ 11.550079] __driver_attach+0xa8/0x1b0
[ 11.550081] bus_for_each_dev+0x84/0xe0
[ 11.550084] driver_attach+0x38/0x50
[ 11.550086] bus_add_driver+0x118/0x210
[ 11.550088] driver_register+0x80/0x140
[ 11.550090] i2c_register_driver+0x5c/0xe0
[ 11.550092] imx390_i2c_driver_init+0x30/0x1000 [nv_imx390]
[ 11.550097] do_one_initcall+0x54/0x2e0
[ 11.550101] do_init_module+0x54/0x250
[ 11.550107] load_module+0x2148/0x2530
[ 11.550110] __do_sys_finit_module+0xa4/0xf0
[ 11.550113] __arm64_sys_finit_module+0x30/0x40
[ 11.550114] invoke_syscall+0x5c/0x130
[ 11.550119] el0_svc_common.constprop.0+0xf0/0x110
[ 11.550122] do_el0_svc+0x74/0xa0
[ 11.550124] el0_svc+0x28/0x80
[ 11.550131] el0t_64_sync_handler+0xa4/0x130
[ 11.550132] el0t_64_sync+0x1a4/0x1a8
[ 11.550135] Code: 540002e0 f9401041 52800023 52800000 (b9400024)
[ 11.550140] —[ end trace 0000000000000002 ]—
[ 11.553961] usb0: HOST MAC 36:97:76:55:04:ec
[ 11.553966] usb0: MAC 36:97:76:55:04:ed
[ 11.554244] usb1: HOST MAC 36:97:76:55:04:ee
[ 11.554246] usb1: MAC 36:97:76:55:04:ef
[ 11.556421] tegra-xudc 3550000.usb: EP 0 (type: ctrl, dir: out) enabled
[ 11.559108] l4tbr0: port 1(usb0) entered blocking state
[ 11.559124] l4tbr0: port 1(usb0) entered disabled state
[ 11.559257] device usb0 entered promiscuous mode
[ 11.565368] l4tbr0: port 2(usb1) entered blocking state
[ 11.565382] l4tbr0: port 2(usb1) entered disabled state
[ 11.565514] device usb1 entered promiscuous mode
[ 11.586347] loop0: detected capacity change from 0 to 32768
[ 12.052618] Kernel panic - not syncing:

hello suengpyo.shin,

please check my previous comments, and confirm it’s outputting with progressive mode.
re-cap as below…

the failure message… [ 11.549755] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000000
that’s due to a kernel NULL pointer, which might due to you’ve a NULL, or not exist property in the sensor device tree.

there’re mode_type, csi_pixel_bit_depth and pixel_phase to report the sensor mode type.
but… what’s your real sensor output format types.
you should configure device tree settings as same as your sensor capability.

Hello Jerry Chang
My sensor is progress output that I confirm.
In Our mipi side, DT is set as raw8,.
Previous output image was setted DT as YUV422.
But the setting is not correct.
So I want to use raw8 DT which like GRAY8, Y8, Y16.
But to apply GRAY8,Y8,Y16, I realized that I have to change the source code.
Could you let me know modification points.
In dts, dtsi, and source code
Thank you and best regard!

Hello Jerry Chang
YUV422’s size 1920x1080 is 3840x1080 GRAY8.
So I would like to capture 3840x1080 GRAY8 instead of YUV422’s size 1920x1080

hello suengpyo.shin,

it’s v4l to check camera_common_frmfmt of your sensor drvier, and report the supported format.
and… it’s using the format by parsing your sensor device tree.
for instance, it’s device tree property, mode_type, pixel_phase, csi_pixel_bit_depth to composed sensor mode type.
here’s an example with IMX274’s RGGB10 mappings.
you may dig into below kernel sources,
$public_sources/kernel_src/hardware/nvidia/platform/t23x/common/kernel-dts/t234-common-modules/tegra234-camera-imx274-dual.dtsi

                                 mode0 { // IMX274_MODE_3840X2160
                                         mode_type = "bayer";
                                         pixel_phase = "rggb";
                                         csi_pixel_bit_depth = "10";

$public_sources/kernel_src/kernel/nvidia-oot/drivers/media/platform/tegra/camera/sensor_common.c

static int extract_pixel_format(const char *pixel_t, u32 *format)
...
  	else if (strncmp(pixel_t, "bayer_rggb10", size) == 0)
  		*format = V4L2_PIX_FMT_SRGGB10;

$public_sources/kernel_src/kernel/nvidia-oot/drivers/media/platform/tegra/camera/camera_common.c

static const struct camera_common_colorfmt camera_common_color_fmts[] = {
	{
  		MEDIA_BUS_FMT_SRGGB10_1X10,
  		V4L2_COLORSPACE_SRGB,
  		V4L2_PIX_FMT_SRGGB10,
  	},

Hello Jerry Chang.
Thank you so much!

Hell Jerry Chang

I am connecting Orin NX CSI 2 (Index starts from 0) to my deserializer 2(Index starts from 1)
I have modified the DTS file as attached, and when I capture with the following command for device0:
gst-launch-1.0 v4l2src device=/dev/video0 ! ‘video/x-raw,format=GRAY8,width=3840,height=1024’ ! filesink location=./test.yuv
I get the following error message. Could you please advise what this error code means and what actions I should take? Attached are the DTS file and the entire log.
I am always grateful for your prompt response.

[ 42.308675] imx390 2-001c: imx390_start_streaming Unicam2_Prepare is_fisrt 1
[ 42.308677] write_96712_by_table enter
[ 43.427786] imx390 2-001c: imx390_start_streaming: write_96712_by_table Unicam1_Prepare success
[ 43.427796] write_96712_by_table enter
[ 43.555993] imx390 2-001c: imx390_start_streaming: write_96712_by_table Unicam1_Streamon success
Redistribute latency…
[ 45.027989] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 45.028017] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 45.029441] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 47.587986] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 47.588015] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 47.589425] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 50.148146] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 50.148179] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 50.149748] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 52.708158] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 52.708190] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 52.709440] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 55.267994] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 55.268025] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 55.269454] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 57.827986] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 57.828015] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 57.829453] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 60.387996] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 60.388027] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 60.389448] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
^Chandling interrupt.

entries-in-buffer/entries-written: 569830/569830 #P:4

_-------=> irqs-off

/ _------=> need-resched

| / _-----=> need-resched-lazy

|| / _----=> hardirq/softirq

||| / _—=> preempt-depth

|||| / _–=> preempt-lazy-depth

||||| / _-=> migrate-disable

|||||| / delay

TASK-PID CPU# ||||||| TIMESTAMP FUNCTION

| | | ||||||| | |

 kworker/0:1-72      [000] .......    38.343983: rtcpu_string: tstamp:2050771031 id:0x04010000 str:"VM0 deactivating."

gst-plugin-scan-2840 [003] … 42.241146: tegra_channel_open: vi-output, imx390 2-001c
gst-plugin-scan-2840 [003] … 42.241272: tegra_channel_close: vi-output, imx390 2-001c
gst-plugin-scan-2840 [003] … 42.241286: tegra_channel_open: vi-output, imx390 2-001b
gst-plugin-scan-2840 [003] … 42.241309: tegra_channel_close: vi-output, imx390 2-001b
gst-launch-1.0-2839 [002] … 42.277600: tegra_channel_open: vi-output, imx390 2-001c
gst-launch-1.0-2839 [002] … 42.277726: tegra_channel_close: vi-output, imx390 2-001c
gst-launch-1.0-2839 [002] … 42.277740: tegra_channel_open: vi-output, imx390 2-001b
gst-launch-1.0-2839 [002] … 42.277762: tegra_channel_close: vi-output, imx390 2-001b
gst-launch-1.0-2839 [001] … 42.282631: tegra_channel_open: vi-output, imx390 2-001c
v4l2src0:src-2841 [003] … 42.296715: tegra_channel_set_power: imx390 2-001c : 0x1
v4l2src0:src-2841 [003] … 42.296807: camera_common_s_power: status : 0x1
v4l2src0:src-2841 [003] … 42.296827: tegra_channel_set_power: 13e00000.host1x:nvcsi@15a00000- : 0x1
v4l2src0:src-2841 [003] … 42.296829: csi_s_power: enable : 0x1
v4l2src0:src-2841 [003] … 42.297843: tegra_channel_capture_setup: vnc_id 0 W 3840 H 1024 fmt 5
vi-output, imx3-2843 [000] … 42.307613: vi_task_submit: class_id:48 ch:0 syncpt_id:35 syncpt_thresh:0 pid:2843 tid:2843
vi-output, imx3-2843 [000] … 42.307642: vi_task_submit: class_id:48 ch:0 syncpt_id:35 syncpt_thresh:0 pid:2843 tid:2843
v4l2src0:src-2841 [003] … 42.307646: tegra_channel_set_stream: enable : 0x1
vi-output, imx3-2843 [000] … 42.307664: vi_task_submit: class_id:48 ch:0 syncpt_id:35 syncpt_thresh:0 pid:2843 tid:2843
vi-output, imx3-2843 [000] … 42.307666: vi_task_submit: class_id:48 ch:0 syncpt_id:35 syncpt_thresh:0 pid:2843 tid:2843
v4l2src0:src-2841 [003] … 42.308349: tegra_channel_set_stream: 13e00000.host1x:nvcsi@15a00000- : 0x1
v4l2src0:src-2841 [003] … 42.308351: csi_s_stream: enable : 0x1
v4l2src0:src-2841 [003] … 42.308655: tegra_channel_set_stream: imx390 2-001c : 0x1
kworker/0:1-72 [000] … 42.352099: rtcpu_string: tstamp:2175830135 id:0x04010000 str:“VM0 activating.”
kworker/0:1-72 [000] … 42.352104: rtcpu_vinotify_event: tstamp:2176334715 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:69632255072 data:0x799e300010000000
kworker/0:1-72 [000] … 42.352104: rtcpu_vinotify_event: tstamp:2176334872 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:69632261440 data:0x0000000031000001
kworker/0:1-72 [000] … 42.352105: rtcpu_vinotify_event: tstamp:2176335026 cch:0 vi:1 tag:VIFALC_ACTIONLST channel:0x23 frame:0 vi_tstamp:69632264480 data:0x0000000007020001
kworker/0:1-72 [000] … 42.352105: rtcpu_vinotify_event: tstamp:2176335161 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:69632311584 data:0x799e2d0010000000
kworker/0:1-72 [000] … 42.352106: rtcpu_vinotify_event: tstamp:2176335314 cch:0 vi:1 tag:VIFALC_TDSTATE channel:0x23 frame:0 vi_tstamp:69632318080 data:0x0000000031000002
kworker/0:1-72 [000] … 43.588094: rtcpu_nvcsi_intr: tstamp:2214401354 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588097: rtcpu_nvcsi_intr: tstamp:2214716328 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588098: rtcpu_nvcsi_intr: tstamp:2214717591 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588098: rtcpu_nvcsi_intr: tstamp:2214718255 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x10000004
kworker/0:1-72 [000] … 43.588099: rtcpu_nvcsi_intr: tstamp:2214719535 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588099: rtcpu_nvcsi_intr: tstamp:2214720506 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588100: rtcpu_nvcsi_intr: tstamp:2214721477 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588100: rtcpu_nvcsi_intr: tstamp:2214722451 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588101: rtcpu_nvcsi_intr: tstamp:2214723421 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588101: rtcpu_nvcsi_intr: tstamp:2214724392 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588102: rtcpu_nvcsi_intr: tstamp:2214725361 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588103: rtcpu_nvcsi_intr: tstamp:2214726328 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588103: rtcpu_nvcsi_intr: tstamp:2214727302 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588104: rtcpu_nvcsi_intr: tstamp:2214728272 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588104: rtcpu_nvcsi_intr: tstamp:2214729246 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588104: rtcpu_nvcsi_intr: tstamp:2214730217 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588105: rtcpu_nvcsi_intr: tstamp:2214730881 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x10000040
kworker/0:1-72 [000] … 43.588105: rtcpu_nvcsi_intr: tstamp:2214732162 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588105: rtcpu_nvcsi_intr: tstamp:2214733132 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588106: rtcpu_nvcsi_intr: tstamp:2214734103 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588106: rtcpu_nvcsi_intr: tstamp:2214735076 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588106: rtcpu_nvcsi_intr: tstamp:2214736048 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588107: rtcpu_nvcsi_intr: tstamp:2214737013 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588107: rtcpu_nvcsi_intr: tstamp:2214737984 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588107: rtcpu_nvcsi_intr: tstamp:2214738955 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588107: rtcpu_nvcsi_intr: tstamp:2214739928 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588108: rtcpu_nvcsi_intr: tstamp:2214740900 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588108: rtcpu_nvcsi_intr: tstamp:2214741873 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588108: rtcpu_nvcsi_intr: tstamp:2214742843 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588108: rtcpu_nvcsi_intr: tstamp:2214743815 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000
kworker/0:1-72 [000] … 43.588109: rtcpu_nvcsi_intr: tstamp:2214744785 class:GLOBAL type:PHY_INTR0 phy:1 cil:0 st:0 vc:0 status:0x0e000000

tegra234-p3737-camera-imx390-overlay.dts.txt (23.7 KB)
2024-07-17-DSER2-LOG.txt (43.4 KB)

hello suengpyo.shin,

it’s the failure of DPHY deskew calibration has not complete on data-lane and clock-lane.
according to SerDes Pixel Clock section, skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.

are you able to fetch camera stream via v4l2 IOCTL now?
for instance,
$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=300

BTW,
what’s the channel property as below has defined.
it seems you’ve these two IMX390s configure to the same channel = "a";
for instance,

							dser: max96712_a@52 {
								compatible = "nvidia,max96712";
								reg = <0x52>;
								csi-mode = "2x2";
								max-src = <2>;
								channel = "a";


							imx390_a@1b {
								channel = "a";

							imx390_b@1c {
								channel = "a";

if I understand your configuration correctly according to above.
you should have two IMX390s they’re sharing same serdes-csi-link, which should be "a".

							imx390_a@1b {
								gmsl-link {
									src-csi-port = "a";
									dst-csi-port = "c";
									serdes-csi-link = "a";

							imx390_b@1c {
								gmsl-link {
									src-csi-port = "b";
									dst-csi-port = "c";
									serdes-csi-link = "b";

anyways, could you please double check developer guide for Module Device Tree section to review your gmsl-link{} property settings.

Hello Jerry Chang.
Thank you for prompt response.
I changed the dts file according to your advice.
But error message still same.
Our system is below
system
Currently I testing DSER_A1 connecting to CSI2.
Could you check my dts file whether correct or not?
Thank you for advance your prompt response.

Thank you for your support.
Now I can capture 2cam on CSI2.
I changed both DT and source code.
I would like to close this issue.
If another issue occurred I will open another issue

hello suengpyo.shin,

is it due to sensor side configuration?
it would be great if you could sharing the root cause as well.
thanks

Hello Jerry Chang.
It’s root cause is code.
I changed as below
if(0 == strcmp(str_value, “a”) )
{
priv->g_ctx.dst_csi_port = GMSL_CSI_PORT_A ;
}
if(0 == strcmp(str_value, “b”) )
{
priv->g_ctx.dst_csi_port = GMSL_CSI_PORT_B ;
}
if(0 == strcmp(str_value, “c”) )
{
priv->g_ctx.dst_csi_port = GMSL_CSI_PORT_C ;
}
if(0 == strcmp(str_value, “d”) )
{
priv->g_ctx.dst_csi_port = GMSL_CSI_PORT_D ;
}
However I capture success 3 channel.
But I success one time over trying 5~6.
It’s success rate to capture about 15%.
I attached success and fail log.
Would you please help me?
capture_fail_3ch_dser2_07_19.txt (186.3 KB)
capture_success_3ch_dser2_07_19.txt (308.6 KB)

let’s have another new thread for issue follow-up.