orin在jp5.1.4内核上使用相机功能会崩溃e

请使用下面的模版提问(创建话题后勾选相应的选项):
Jetson 模组
[*] Jetson AGX Orin
Jetson Orin NX
Jetson Orin Nano
Jetson AGX Xavier
Jetson Xavier NX
Jetson TX 系列
Jetson Nano

Jetson 软件
JetPack 5.1.3
[*] JetPack 5.1.4
JetPack 6.0
JetPack 6.1
JetPack 6.2
DeepStream SDK
NVIDIA Isaac

问题描述
测试相机功能时,查看日志发生一下的错误,而且偶尔会卡死重启,偶尔是闪退相机端口
错误日志
*[ 380.685394] bwmgr API not supported
[ 383.414769] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 383.423959] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 383.433553] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 383.441291] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=5, csi_port=6
[ 383.451964] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 383.459917] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 386.230780] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 386.239931] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 386.249515] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 386.257229] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=5, csi_port=6
[ 386.267893] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 386.275604] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_open: VI channel not found for stream- 5 vc- 0
[ 386.286354] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: successfully reset the capture channel
[ 389.046949] tegra-camrtc-capture-vi tegra-capture-vi: uncorr_err: request timed out after 2500 ms
[ 389.056100] tegra-camrtc-capture-vi tegra-capture-vi: err_rec: attempting to reset the capture channel
[ 389.065707] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 389.073428] t194-nvcsi 13e40000.host1x:nvcsi@15a00000: csi5_stream_close: Error in closing stream_id=5, csi_port=6
[ 389.084090] (NULL device *): vi_capture_control_message: NULL VI channel received
[ 390.102771] Unable to handle kernel paging request at virtual address 2ef8de265f58eecd
[ 390.110930] Mem abort info:
[ 390.113807] ESR = 0x96000004
[ 390.116945] EC = 0x25: DABT (current EL), IL = 32 bits
[ 390.122404] SET = 0, FnV = 0
[ 390.125537] EA = 0, S1PTW = 0
[ 390.128769] Data abort info:
[ 390.131738] ISV = 0, ISS = 0x00000004
[ 390.135693] CM = 0, WnR = 0
[ 390.138750] [2ef8de265f58eecd] address between user and kernel address ranges
[ 390.146292] Internal error: Oops: 0000000096000004 [#1] PREEMPT SMP
[ 390.152733] Modules linked in: ar0233yuv(E) fuse(E) nvidia_modeset(OE) lzo_rle(E) lzo_compress(E) zram(E) hid_logitech_hidpp(E) ramoops(E) reed_solomon(E) input_leds(E) snd_soc_tegra210_ope(E) snd_soc_tegra186_asrc(E) snd_soc_tegra186_dspk(E) snd_soc_tegra186_arad(E) snd_soc_tegra210_iqc(E) snd_soc_tegra210_mvc(E) snd_soc_tegra210_afc(E) snd_soc_tegra210_dmic(E) snd_soc_tegra210_adx(E) snd_soc_tegra210_admaif(E) snd_soc_tegra210_amx(E) aes_ce_blk(E) snd_soc_tegra210_mixer(E) snd_soc_tegra210_i2s(E) snd_soc_tegra210_sfc(E) crypto_simd(E) snd_soc_tegra_pcm(E) cryptd(E) mt7601u(E) aes_ce_cipher(E) ghash_ce(E) mac80211(E) sha2_ce(E) loop(E) hid_logitech_dj(E) sha256_arm64(E) cfg80211(E) cam_cdi_tsc(E) sha1_ce(E) ucsi_ccg(E) snd_soc_tegra_machine_driver(E) typec_ucsi(E) snd_soc_tegra_utils(E) nv_hawk_owl(E) snd_soc_simple_card_utils(E) snd_soc_spdif_tx(E) snd_hda_codec_hdmi(E) snd_soc_tegra210_ahub(E) typec(E) max96712(E) i2c_nvvrs11(E) nct1008(E) userspace_alert(E) tegra_bpmp_thermal(E)
[ 390.152787] tegra210_adma(E) snd_hda_tegra(E) snd_hda_codec(E) snd_soc_rt5640(E) snd_soc_rl6231(E) snd_hda_core(E) spi_tegra114(E) nvidia(OE) binfmt_misc(E) ina3221(E) pwm_fan(E) nvgpu(E) nvmap(E) ip_tables(E) x_tables(E) [last unloaded: mtd]
[ 390.266283] CPU: 1 PID: 3848 Comm: vi-output, ar02 Tainted: G OE 5.10.216-tegra #7
[ 390.275306] Hardware name: NVIDIA Jetson AGX Orin Developer Kit/Jetson, BIOS 6.0-37391689 08/28/2024
[ 390.284688] pstate: 00c00009 (nzcv daif +PAN +UAO -TCO BTYPE=–)
[ 390.290859] pc : string_nocheck+0x3c/0x70
[ 390.294982] lr : string+0x54/0x70
[ 390.298390] sp : ffff80002109b650
[ 390.301800] x29: ffff80002109b650 x28: ffffbb3b6cdecbe6
[ 390.307261] x27: ffff80002109b862 x26: 0000000000000020
[ 390.312719] x25: ffffbb3b6cdecbe6 x24: 0000000000000030
[ 390.318177] x23: 00000000ffffffe8 x22: ffffbb3b6c962830
[ 390.323630] x21: ffff0a00ffffff04 x20: 2ef8de265f58eecd
[ 390.329097] x19: ffff80002109b888 x18: 0000000000001800
[ 390.334555] x17: 0000000000000000 x16: 0000000000000000
[ 390.340013] x15: 0000000000000000 x14: ffff6e7740163b00
[ 390.345470] x13: ffffb342fffbb000 x12: 000000003464d91d
[ 390.350931] x11: 0000000000000002 x10: 0101010101010101
[ 390.356389] x9 : 00000000fffffffe x8 : ffff80002109b888
[ 390.361848] x7 : 0000000000000008 x6 : ffff80002109b862
[ 390.362677] mt7601u 1-2.1:1.0: Error: TSSI upper saturation
[ 390.367304] x5 : 0000000000000000 x4 : 0000000000000000
[ 390.367305] x3 : ffff0a00ffffff04 x2 : 2ef8de265f58eecd
[ 390.367306] x1 : ffff80002109b888 x0 : ffff80002109b862
[ 390.367308] Call trace:
[ 390.367311] string_nocheck+0x3c/0x70
[ 390.395692] string+0x54/0x70
[ 390.398748] vsnprintf+0x26c/0x720
[ 390.402243] snprintf+0x58/0x80
[ 390.405475] dev_vprintk_emit+0x128/0x184
[ 390.409602] dev_printk_emit+0x80/0xa8
[ 390.413459] __dev_printk+0x7c/0xa4
[ 390.417047] _dev_err+0x74/0x9c
[ 390.420280] vi_capture_ivc_send_control.isra.0+0x10c/0x130
[ 390.426009] vi_capture_control_send_message+0x7c/0x230
[ 390.431376] vi_capture_control_message+0xa0/0x140
[ 390.436302] csi5_send_control_message+0x54/0xb0
[ 390.441046] csi5_stream_open+0x94/0x110
[ 390.445075] csi5_start_streaming+0xac/0xe0
[ 390.449367] csi5_error_recover+0x44/0x90
[ 390.453495] tegra_csi_error_recovery+0x58/0xc0
[ 390.458152] tegra_csi_sync_event+0x44/0x50
[ 390.462452] vi5_channel_error_recover+0x1ac/0x200
[ 390.467375] tegra_channel_error_recover+0x78/0xa0
[ 390.472301] tegra_channel_kthread_capture_dequeue+0x134/0x200
[ 390.478299] kthread+0x148/0x170
[ 390.481623] ret_from_fork+0x10/0x18
[ 390.485299] Code: 91000400 110004e1 aa0603e4 540000e0 (38646845)
[ 390.491577] —[ end trace 30e49f4a0a7abfe7 ]—
[ 390.500455] Kernel panic - not syncing: Oops: Fatal exception
[ 390.506354] SMP: stopping secondary CPUs
[ 390.510567] Kernel Offset: 0x3b3b5b680000 from 0xffff800010000000
[ 390.516829] PHYS_OFFSET: 0xffff9189c0000000
[ 390.521130] CPU features: 0x08040006,4a80aa38
[ 390.525610] Memory Limit: none
[ 390.532858] —[ end Kernel panic - not syncing: Oops: Fatal exception ]—
*

@deaz 多半是 sensor 的问题。

大概排查一下

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 2 > /sys/kernel/debug/camrtc/log-level
echo 1 > /sys/kernel/debug/tracing/events/camera_common/enable

然后执行

v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=frame.raw --stream-count=1

查看日志
cat /sys/kernel/debug/tracing/trace

执行那个以后会出现卡死的问题,上面贴的日志就是从执行这个命令到内核崩溃的日志信息,我查了下max9296相关的寄存器发现是gmsl的链路和时钟没有lock成功,请问我该如何去解决这个问题?

需要再执行 cat /sys/kernel/debug/tracing/trace 将 trace 的日志粘贴出来。

v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=frame.raw --stream-count=1执行这个的时候会出现内核崩溃的情况,该怎么解决

内核崩溃的时候我没办法再去执行任何命令

这是我们在英文论坛上类似的问题,您可以参考上面的步骤排查

好的感谢,我会按照上面的去排查一下

你好,按照这个贴子我还是没能找到问题所在,不过我再查看max9296的寄存器信息时发现gmsl链路没有锁定,时钟频率也没有锁定是不是因为这个原因造成的呢?而且我该如何去解决这个问题

先查看一下官方文档

https://docs.nvidia.com/jetson/archives/r35.6.0/DeveloperGuide/SD/CameraDevelopment.html


你好我有查看解串码和相机的驱动都已经成功了,但是使用相机的时候还是会出现这些报错,显示绿屏并且会造成内核崩溃请问这应该如何解决