DRIVE OS Version: Jetpack R36.5
Issue Description: The sensor is a MIPI C-PHY 3-lane. If you always use V4L2 to capture images, it will succeed no matter how long the interval is. If you use Argus to output images, the first attempt will succeed, but once the interval between two Argus captures reaches tens of seconds, Argus will fail to output an image.After this, capturing images with V4L2 will also fail, and dmesg shows:
[ 4213.130850] vb1940 9-0012: vb1940_stop_streaming ir_streaming_cnt = 0
[ 4213.134414] vb1940 9-0012: vb1940_power_off: power off
[ 4213.134509] ------------[ cut here ]------------
[ 4213.134513] WARNING: CPU: 1 PID: 4709 at drivers/media/common/videobuf2/videobuf2-core.c:1995 vb2_buffer_done+0x468/0x4e0 [videobuf2_common]
[ 4213.134542] Modules linked in: vb1940(OE) max25614(OE) vs77x(OE) fpga(OE) nvidia_drm(O) nvidia_modeset(O) lzo_rle lzo_compress zram zsmalloc nvme_fabrics ramoops reed_solomon bridge stp llc usb_f_ncm usb_f_mass_storage usb_f_acm u_serial usb_f_rndis u_ether libcomposite joydev snd_soc_tegra210_admaif(O) snd_soc_tegra_pcm snd_soc_tegra210_ope(O) snd_soc_tegra210_afc(O) snd_soc_tegra186_asrc(O) snd_soc_tegra210_mixer(O) snd_soc_tegra210_adx(O) snd_soc_tegra186_arad(O) snd_soc_tegra186_dspk(O) snd_soc_tegra210_amx(O) snd_soc_tegra210_sfc(O) snd_soc_tegra210_mvc(O) snd_soc_tegra210_dmic(O) snd_soc_tegra210_i2s(O) snd_soc_tegra210_ahub(O) tegra210_adma spidev nvvrs_pseq_rtc(O) crct10dif_ce snd_soc_tegra_machine_driver(O) snd_soc_tegra_utils(O) tegra234_oc_event(O) snd_soc_simple_card_utils tegra23x_perf_uncore(O) nvpmodel_clk_cap(O) tegra_mce(O) snd_hda_codec_hdmi mttcan(O) tegra_cactmon_mc_all(O) nvethernet(O) can_dev thermal_trip_event(O) tegra234_aon(O) nvpps(O) tegra_aconnect
[ 4213.134629] snd_hda_tegra snd_hda_codec snd_hda_core pwm_tegra_tachometer(O) snd_soc_rt5640 snd_soc_rl6231 at24 mc_hwpm(O) spi_tegra114 nvidia(O) lm90 i2c_nvvrs11(O) nvidia_vrs_pseq(O) host1x_fence(O) tegra_dce(O) tegra_pcie_dma_test(O) tegra_pcie_edma(O) nvhost_vi5(O) nvhost_isp5(O) nvhost_nvcsi_t194(O) tegra_camera(OE) v4l2_dv_timings nvhost_nvcsi(O) tegra_camera_platform(O) capture_ivc(O) tegra_camera_rtcpu(O) ivc_bus(O) hsp_mailbox_client(O) ivc_ext(O) v4l2_fwnode governor_userspace v4l2_async videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 tegra_drm(O) videobuf2_common nvhost_nvdla(O) nvhost_pva(O) tegra_wmark(O) videodev nvhwpm(O) nvhost_capture(O) mc tsecriscv(O) cec tegra_se(O) host1x_nvhost(O) crypto_engine drm_kms_helper tpm_ftpm_tee nvidia_p2p(O) ina3221 nvgpu(O) governor_pod_scaling(O) host1x(O) mc_utils(O) nvmap(O) nvsciipc(O) drm 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
[ 4213.134737] pcie_tegra194 [last unloaded: vb1940]
[ 4213.134745] CPU: 1 PID: 4709 Comm: v4l2-ctl Tainted: G W OE 5.15.185-tegra #1
[ 4213.134751] Hardware name: NVIDIA NVIDIA Jetson AGX Orin Developer Kit/Jetson, BIOS 36.5.0-gcid-43688277 01/16/2026
[ 4213.134755] pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=–)
[ 4213.134762] pc : vb2_buffer_done+0x468/0x4e0 [videobuf2_common]
[ 4213.134773] lr : vb2_buffer_done+0x2e4/0x4e0 [videobuf2_common]
[ 4213.134783] sp : ffff800012bb3a90
[ 4213.134785] x29: ffff800012bb3a90 x28: ffff0000cf1ebf00 x27: 0000000000000009
[ 4213.134793] x26: fffffffffffffe00 x25: ffffba79a3a4c000 x24: ffff0000cf1ec500
[ 4213.134799] x23: ffff0000880281f8 x22: ffff000088028080 x21: ffff000088028680
[ 4213.134804] x20: ffff000088028728 x19: ffff000088028680 x18: ffffffffffffffff
[ 4213.134810] x17: 0000000000000000 x16: ffffba79a1bc6500 x15: ffff800012bb3998
[ 4213.134816] x14: 0000000000000001 x13: 000000000001a8cf x12: ffffba79a408bcf0
[ 4213.134822] x11: 0000000000000040 x10: ffffba79a4085ec8 x9 : 00000019ad15c128
[ 4213.134828] x8 : 0000000000000001 x7 : ffff000fa2c05d60 x6 : 00000000ffffffff
[ 4213.134834] x5 : 0000000000000000 x4 : ffff000fa2c05380 x3 : 0000000000000001
[ 4213.134840] x2 : ffffba79a1af3f58 x1 : ffff0000cf1ebf00 x0 : 0000000000000004
[ 4213.134846] Call trace:
[ 4213.134849] vb2_buffer_done+0x468/0x4e0 [videobuf2_common]
[ 4213.134859] vb2_core_queue_release+0x34/0x1f0 [videobuf2_common]
[ 4213.134869] _vb2_fop_release+0x98/0xc0 [videobuf2_v4l2]
[ 4213.134882] tegra_channel_close+0x6c/0x170 [tegra_camera]
[ 4213.134925] v4l2_prio_init+0x6c0/0x860 [videodev]
[ 4213.134949] __fput+0x84/0x2a0
[ 4213.134963] ____fput+0x28/0x40
[ 4213.134970] task_work_run+0x90/0x100
[ 4213.134980] do_exit+0x32c/0xa30
[ 4213.134988] do_group_exit+0x44/0xb0
[ 4213.134995] get_signal+0x188/0x9b0
[ 4213.135003] do_notify_resume+0x180/0x9a0
[ 4213.135012] el0_svc+0x74/0x90
[ 4213.135020] el0t_64_sync_handler+0xac/0x130
[ 4213.135026] el0t_64_sync+0x1a4/0x1a8
[ 4213.135031] —[ end trace 392b795132b4fe7a ]—
[ 4214.240917] videobuf2_common: driver bug: stop_streaming operation is leaving buf 000000006e41942b in active state
[ 4214.240926] videobuf2_common: driver bug: stop_streaming operation is leaving buf 00000000c623a58a in active state
[ 4214.240929] videobuf2_common: driver bug: stop_streaming operation is leaving buf 00000000f13ce192 in active state
[ 4214.240930] videobuf2_common: driver bug: stop_streaming operation is leaving buf 0000000065ad21db in active state
tracelog when run :argus_camera :
kworker/3:2-601 [003] … 144.410549: rtcpu_dbg_set_loglevel: tstamp:5226468126 old:0 new:2
kworker/3:2-601 [003] … 150.518019: rtcpu_string: tstamp:5416662052 id:0x04010000 str:“VM0 deactivating.”
kworker/3:2-601 [003] … 157.137551: rtcpu_string: tstamp:5623777122 id:0x04010000 str:“VM0 activating.”
nvargus-daemon-3637 [003] … 157.174619: tegra_channel_open: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.174711: tegra_channel_close: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.174729: tegra_channel_open: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.174778: tegra_channel_close: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.175604: tegra_channel_open: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.175657: tegra_channel_close: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.175668: tegra_channel_open: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.175704: tegra_channel_close: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.187978: tegra_channel_open: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.188021: tegra_channel_close: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.188035: tegra_channel_open: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.188091: tegra_channel_close: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.188109: tegra_channel_open: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.188160: tegra_channel_close: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.206725: tegra_channel_open: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.206773: tegra_channel_close: vi-output, vb1940 9-0010
nvargus-daemon-3637 [003] … 157.206792: tegra_channel_open: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.206805: tegra_channel_close: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.206816: tegra_channel_open: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.206873: tegra_channel_close: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.206889: tegra_channel_open: vi-output, vb1940 9-0012
nvargus-daemon-3637 [003] … 157.206954: tegra_channel_close: vi-output, vb1940 9-0012
CaptureSchedule-3653 [004] … 157.564327: tegra_channel_open: vi-output, vb1940 9-0012
CaptureSchedule-3653 [001] … 157.575047: tegra_channel_set_power: vb1940 9-0012 : 0x1
CaptureSchedule-3653 [001] … 157.575055: camera_common_s_power: status : 0x1
CaptureSchedule-3653 [001] … 157.575076: tegra_channel_set_power: 13e00000.host1x:nvcsi@15a00000- : 0x1
CaptureSchedule-3653 [001] … 157.575078: csi_s_power: enable : 0x1
CaptureSchedule-3653 [001] … 157.576506: tegra_channel_set_stream: enable : 0x1
CaptureSchedule-3653 [000] … 157.578314: tegra_channel_set_stream: 13e00000.host1x:nvcsi@15a00000- : 0x1
CaptureSchedule-3653 [000] … 157.578317: csi_s_stream: enable : 0x1
CaptureSchedule-3653 [000] … 157.578318: tegra_channel_set_stream: vb1940 9-0012 : 0x1
kworker/3:2-601 [003] … 157.597496: rtcpu_nvcsi_intr: tstamp:5639490820 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x40000000
kworker/3:2-601 [003] … 157.597498: rtcpu_nvcsi_intr: tstamp:5639496541 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x20000000
kworker/3:2-601 [003] … 157.597498: rtcpu_nvcsi_intr: tstamp:5639497029 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x20000000
kworker/3:2-601 [003] … 157.597498: rtcpu_nvcsi_intr: tstamp:5639498081 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000044
kworker/3:2-601 [003] … 157.597499: rtcpu_nvcsi_intr: tstamp:5639498081 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597499: rtcpu_nvcsi_intr: tstamp:5639498081 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000044
kworker/3:2-601 [003] … 157.597499: rtcpu_nvcsi_intr: tstamp:5639498081 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597499: rtcpu_nvcsi_intr: tstamp:5639498883 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597499: rtcpu_nvcsi_intr: tstamp:5639498883 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597500: rtcpu_nvcsi_intr: tstamp:5639498883 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597500: rtcpu_nvcsi_intr: tstamp:5639498883 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597500: rtcpu_nvcsi_intr: tstamp:5639499675 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597500: rtcpu_nvcsi_intr: tstamp:5639499675 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597500: rtcpu_nvcsi_intr: tstamp:5639499675 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597501: rtcpu_nvcsi_intr: tstamp:5639499675 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597501: rtcpu_nvcsi_intr: tstamp:5639500465 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597501: rtcpu_nvcsi_intr: tstamp:5639500465 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597501: rtcpu_nvcsi_intr: tstamp:5639500465 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597501: rtcpu_nvcsi_intr: tstamp:5639500465 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597502: rtcpu_nvcsi_intr: tstamp:5639501252 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597502: rtcpu_nvcsi_intr: tstamp:5639501252 class:GLOBAL type:PHY_INTR0 phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597502: rtcpu_nvcsi_intr: tstamp:5639501252 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000044
kworker/3:2-601 [003] … 157.597502: rtcpu_nvcsi_intr: tstamp:5639501252 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:1 st:0 vc:0 status:0x00000004
kworker/3:2-601 [003] … 157.597502: rtcpu_nvcsi_intr: tstamp:5639502052 class:GLOBAL type:PHY_INTR0 phy:0 cil:0 st:0 vc:0 status:0x00000044
kworker/3:2-601 [003] … 157.597502: rtcpu_nvcsi_intr: tstamp:5639502052 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:0 st:0 vc:0 status:0x00000044
kworker/3:2-601 [003] … 157.597503: rtcpu_nvcsi_intr: tstamp:5639502052 class:CORRECTABLE_ERR type:PHY_INTR phy:0 cil:1 st:0 vc:0 status:0x00000004
In practice, this is usually treated as a sensor / serializer-deserializer / board signal integrity / timing issue, not a VI software issue.
For your exact line:
class:GLOBAL type:PHY_INTR0 phy:0 cil:0 = NVCSI PHY interrupt on PHY0, CIL A side.
status:0x00000044 = lane0 + lane1 SOT MB error.
Common things to check:
- MIPI signaling quality: clock/data integrity, impedance, routing, connectors, power.
- Sensor lane rate / deskew requirement if running at high rate; one case notes rates above 1.5 Gbps may need deskew calibration handling.
- Sensor mode / register settings, especially if only one mode fails
Thank you for your reply.
- MIPI signaling quality: clock/data integrity, impedance, routing, connectors, power.
- If I always use v4l2, such problems won’t occur.
- Sensor lane rate / deskew requirement if running at high rate; one case notes rates above 1.5 Gbps may need deskew calibration handling.
- Does this issue also need to be considered in the case of C‑PHY?
- Sensor mode / register settings, especially if only one mode fails
- It supports two modes. Using only V4L2 causes no issues, but the problem I described earlier occurs when using Argus
Thank you for the clarification. The differential behavior between V4L2 (always works) and Argus (fails after idle) strongly suggests an Argus-specific power/state handling issue or a sensor configuration mismatch. To isolate the root cause, please provide the following diagnostics:
-
Sensor mode specificity: Does the Argus failure occur in both sensor modes, or only one? You mentioned the sensor supports two modes—please clarify which exhibits the timeout issue.
-
Argus capture interval/timeout: What is the exact Argus capture interval setting? Is there a configurable idle timeout in Argus that differs from V4L2’s behavior?
-
Continuous capture test: Can you reproduce the issue with Argus in continuous capture mode (no idle gaps) versus your current intermittent capture pattern? This will help determine if the idle period itself is the trigger.
-
MIPI lane rate and deskew: What is the MIPI lane rate (Gbps) for this sensor? If it exceeds 1.5 Gbps, has deskew calibration been applied? This is relevant for C-PHY signal integrity.
-
Power state transitions: Can you compare the Argus and V4L2 power state transitions (e.g., via tegra_channel_set_power traces) to see if Argus is powering down the sensor/PHY differently than V4L2?
These diagnostics will help determine whether the issue is Argus-specific timeout handling, sensor mode configuration, or PHY power management.
Maybe make the CID function in the sensor driver to clarify the issue due the argus would config the sensor REG via CID function depend on the environment brightness but v4l2-ctl don’t.
Thanks