Hardware trigger error timeout

1.Which seller did you purchase the product(s) from?

2.The Model number of the product(s) you have purchased?
OV2311
3.Which Platform are you using the product(s) on?
Jetson NX
4.Which instruction are you following?

5.Has your product ever worked properly?
quit working
6.What problems are you experiencing?
Hi, I’m using two OV2311 mipi cameras with Jetson NX connected on develop kit(with R32.4.3) mipi port. I want to get two camera frame by hardware trigger at same time. I used C++ and python with OpenCV 4 and threading to get frame.

I can set every config I want and is working fine with program start in free run.

But when I set trigger mode to the Hardware trigger, I saw something error.

First, after I change mode to HW trigger, it will get last frame after timeout.(I think is OpenCV buffer issue, because your website mentions that.), so I used OPenCV cap.read() func serval times to clear buffer before I start trigger. It’s workaround but is there any solution to solve that because the buffer count is not same every time.

Second, after serval times hardware-trigge about 10 Hz and trigger 20 times on one loop. Got frame fine at start but failed after about 50 times loop. The error message shows

[ 三 23 09:34] arducam-csi2: arducam_s_ctrl: cid = (0x980911), value = (3000).
[ +0.033222] arducam-csi2: arducam_s_ctrl: cid = (0x981902), value = (1).
[ +0.024985] arducam-csi2: arducam_s_ctrl: cid = (0x981901), value = (1).
[ +0.024546] arducam-csi2: arducam_s_ctrl: cid = (0x980911), value = (3000).
[ +0.026206] arducam-csi2: arducam_s_ctrl: cid = (0x981902), value = (1).
[ +0.023257] arducam-csi2: arducam_s_ctrl: cid = (0x981901), value = (1).
[ +2.624907] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000196] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000156] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.000195] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000116] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000148] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.002106] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +0.001743] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +2.555270] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000012] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000016] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000018] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.000526] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000187] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.002511] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +0.000220] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +2.556473] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000165] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000175] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.000161] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000140] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000200] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.006639] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +0.000188] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +2.552284] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000157] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000171] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.000154] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000115] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000212] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.004807] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +0.000187] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +2.554164] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000158] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000155] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.000158] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000114] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000143] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.002524] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +0.000285] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +2.556405] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000011] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000016] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000019] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.000557] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000163] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.001627] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +0.001495] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +2.556069] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000011] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000016] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000027] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.000549] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000166] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.003970] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +0.000163] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel
[ +9.722926] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000006] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000015] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000015] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.000535] tegra194-vi5 15c10000.vi: uncorr_err: request timed out after 2500 ms
[ +0.000156] tegra194-vi5 15c10000.vi: err_rec: attempting to reset the capture channel
[ +0.001589] channel context at 0 is busy
[ +0.000065] ------------[ cut here ]------------
[ +0.000113] WARNING: CPU: 3 PID: 12143 at /home/wang/Arducam/Jetson/l4t-32.4.3-NX/Linux_for_Tegra/source/public/kernel_src/kernel/nvidia/drivers/platform/tegra/rtcpu/capture-ivc.c:229 tegra_capture_ivc_notify_chan_id+0x184/0x1a0
[ +0.000355] Modules linked in: fuse zram overlay bnep rtk_btusb btusb btrtl btbcm btintel cdc_acm spidev rtl8822ce cfg80211 nvgpu bluedroid_pm ip_tables x_tables

[ +0.000095] CPU: 3 PID: 12143 Comm: vi-output, ardu Not tainted 4.9.140-tegra #6
[ +0.000005] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ +0.000006] task: ffffffc1f29c0000 task.stack: ffffffc082cc4000
[ +0.000008] PC is at tegra_capture_ivc_notify_chan_id+0x184/0x1a0
[ +0.000005] LR is at tegra_capture_ivc_notify_chan_id+0x184/0x1a0
[ +0.000006] pc : [<ffffff8008c9cc34>] lr : [<ffffff8008c9cc34>] pstate: 60c00045
[ +0.000004] sp : ffffffc082cc7b00
[ +0.000005] x29: ffffffc082cc7b00 x28: 0000000000000000
[ +0.000011] x27: ffffffc1f100e048 x26: ffffff8027aee000
[ +0.000011] x25: 0000000000001043 x24: ffffffc1f0e3e020
[ +0.000010] x23: 0000000000000000 x22: ffffffc1f0e3e818
[ +0.000010] x21: 0000000000000040 x20: 0000000000000800
[ +0.000010] x19: ffffffc1f0e3e018 x18: 0000000000000000
[ +0.000011] x17: 0000007f839ea0a0 x16: 0000000000000000
[ +0.000009] x15: ffffffffffffffff x14: ffffff800a15a1e0
[ +0.000010] x13: ffffff800a159e14 x12: 0000000000000000
[ +0.000010] x11: 0000000000000400 x10: 00000000000012b7
[ +0.000012] x9 : ffffffc082cc7900 x8 : 20747865746e6f63
[ +0.000010] x7 : 206c656e6e616863 x6 : ffffff800a1590bc
[ +0.000010] x5 : 0000000000000000 x4 : 0000000000000000
[ +0.000010] x3 : ffffffffffffffff x2 : 00000041f6520000
[ +0.000010] x1 : ffffffc1f29c0000 x0 : 000000000000001c

[ +0.000014] —[ end trace eccd79b24b613449 ]—
[ +0.000111] Call trace:
[ +0.000009] [<ffffff8008c9cc34>] tegra_capture_ivc_notify_chan_id+0x184/0x1a0
[ +0.000010] [<ffffff8008b4a5e8>] vi_capture_setup+0x340/0x4d0
[ +0.000007] [<ffffff8008b4be60>] tegra_channel_capture_setup+0xf0/0x228
[ +0.000006] [<ffffff8008b4cf90>] vi5_channel_error_recover+0x108/0x1d8
[ +0.000009] [<ffffff8008b41b58>] tegra_channel_error_recover+0x58/0x90
[ +0.000007] [<ffffff8008b4c79c>] tegra_channel_kthread_capture_dequeue+0x26c/0x4a8
[ +0.000008] [<ffffff80080dbe64>] kthread+0xec/0xf0
[ +0.000008] [<ffffff80080838a0>] ret_from_fork+0x10/0x30
[ +0.000041] tegra194-vi5 15c10000.vi: failed to update control callback
[ +0.005553] tegra194-vi5 15c10000.vi: err_rec: successfully reset the capture channel

[ +1.015072] tegra194-vi5 15c10000.vi: no reply from camera processor
[ +0.000183] tegra194-vi5 15c10000.vi: vi capture setup failed
[ +0.000133] tegra194-vi5 15c10000.vi: fatal: error recovery failed

 

[ +0.343522] Unable to handle kernel NULL pointer dereference at virtual address 00000000
[ +0.000218] Mem abort info:
[ +0.000057] ESR = 0x96000005
[ +0.000095] Exception class = DABT (current EL), IL = 32 bits
[ +0.000114] SET = 0, FnV = 0
[ +0.000060] EA = 0, S1PTW = 0
[ +0.000059] Data abort info:
[ +0.000056] ISV = 0, ISS = 0x00000005
[ +0.000073] CM = 0, WnR = 0
[ +0.000064] user pgtable: 4k pages, 39-bit VAs, pgd = ffffffc09ffbb000
[ +0.000150] [0000000000000000] *pgd=0000000000000000, *pud=0000000000000000
[ +0.000154] Internal error: Oops: 96000005 [#1] PREEMPT SMP
[ +0.000101] Modules linked in: fuse zram overlay bnep rtk_btusb btusb btrtl btbcm btintel cdc_acm spidev rtl8822ce cfg80211 nvgpu bluedroid_pm ip_tables x_tables
[ +0.000418] CPU: 1 PID: 12178 Comm: Camera_Show Tainted: G W 4.9.140-tegra #6
[ +0.000509] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ +0.000499] task: ffffffc0d6e18e00 task.stack: ffffffc15f8cc000
[ +0.000482] PC is at exit_creds+0x2c/0x78
[ +0.001630] LR is at __put_task_struct+0x4c/0x140
[ +0.004895] pc : [<ffffff80080deefc>] lr : [<ffffff80080b012c>] pstate: 60400045
[ +0.007437] sp : ffffffc15f8cfa10
[ +0.003412] x29: ffffffc15f8cfa10 x28: 0000000000000008
[ +0.005422] x27: ffffff8008f72000 x26: ffffffc15f8cfde8
[ +0.005599] x25: ffffffc168123168 x24: ffffffc1f0dfe278
[ +0.005250] x23: 0000000000000001 x22: ffffffc1f297c018
[ +0.005250] x21: ffffffc1f29c0030 x20: 0000000000000000
[ +0.005338] x19: ffffffc1f29c0000 x18: 0000000000000400
[ +0.005526] x17: 000000000000000e x16: 0000000000000000
[ +0.005688] x15: 0000000000000336 x14: 0000000000000df2
[ +0.005935] x13: 00000000000012be x12: 000000000000082f
[ +0.005512] x11: 0000000000000000 x10: 0000000000000a10
[ +0.005526] x9 : ffffffc15f8cf860 x8 : ffffffc0d6e19870
[ +0.005774] x7 : 0000000000000001 x6 : 000000125800bee4
[ +0.003248] x5 : 0000000000000800
[ +0.000003] x4 : 0000000000000000
[ +0.000009] x3 : 00000000000000c2 x2 : 0000000000000000
[ +0.000007] x1 : 0000000000000000 x0 : 00000000ffffffff

[ +0.000027] Process Camera_Show (pid: 12178, stack limit = 0xffffffc15f8cc000)
[ +0.000003] Call trace:
[ +0.000015] [<ffffff80080deefc>] exit_creds+0x2c/0x78
[ +0.000008] [<ffffff80080b012c>] __put_task_struct+0x4c/0x140
[ +0.000006] [<ffffff80080dc9bc>] kthread_stop+0x1e4/0x1e8
[ +0.000008] [<ffffff8008b4c030>] vi5_channel_stop_kthreads+0x40/0x58
[ +0.000012] [<ffffff8008b4c0d4>] vi5_channel_stop_streaming+0x8c/0xa8
[ +0.000007] [<ffffff8008b3ea04>] tegra_channel_stop_streaming+0x34/0x48
[ +0.000006] [<ffffff8008b36d14>] __vb2_queue_cancel+0x34/0x188
[ +0.000005] [<ffffff8008b3823c>] vb2_core_queue_release+0x2c/0x58
[ +0.000004] [<ffffff8008b3a8bc>] _vb2_fop_release+0x84/0xa0
[ +0.000006] [<ffffff8008b403b4>] tegra_channel_close+0x64/0x140
[ +0.000007] [<ffffff8008b13e70>] v4l2_release+0x48/0xa0
[ +0.000007] [<ffffff800825ebd0>] __fput+0x90/0x1d0
[ +0.000005] [<ffffff800825ed88>] ____fput+0x20/0x30
[ +0.000008] [<ffffff80080d9b74>] task_work_run+0xbc/0xd8
[ +0.000007] [<ffffff80080b95f4>] do_exit+0x2c4/0xa08
[ +0.000005] [<ffffff80080b9dc8>] do_group_exit+0x40/0xa8
[ +0.000006] [<ffffff80080c76c4>] get_signal+0x26c/0x578
[ +0.000007] [<ffffff800808b150>] do_signal+0x130/0x500
[ +0.000005] [<ffffff800808b698>] do_notify_resume+0x90/0xb0
[ +0.000005] [<ffffff800808379c>] work_pending+0x8/0x10
[ +0.000009] —[ end trace eccd79b24b61344a ]—
[ +0.012910] Fixing recursive fault but reboot is needed!

nvidia@nx:~/project/solscan_linux/build$ v4l2-ctl -d 0 -l

User Controls

exposure 0x00980911 (int) : min=0 max=65535 step=1 default=1466 value=3000
gain 0x00980913 (int) : min=0 max=255 step=1 default=0 value=0
trigger_mode 0x00981901 (bool) : default=0 value=1
disable_frame_timeout 0x00981902 (bool) : default=0 value=1
frame_timeout 0x00981903 (int) : min=100 max=12000 step=1 default=2000 value=2000

Camera Controls

sensor_configuration 0x009a2032 (u32) : min=0 max=4294967295 step=1 default=0 [22] flags=read-only, volatile, has-payload
sensor_mode_i2c_packet 0x009a2033 (u32) : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
sensor_control_i2c_packet 0x009a2034 (u32) : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
bypass_mode 0x009a2064 (intmenu): min=0 max=1 default=0 value=0
override_enable 0x009a2065 (intmenu): min=0 max=1 default=0 value=0
height_align 0x009a2066 (int) : min=1 max=16 step=1 default=1 value=1
size_align 0x009a2067 (intmenu): min=0 max=2 default=0 value=0
write_isp_format 0x009a2068 (int) : min=1 max=1 step=1 default=1 value=1
sensor_signal_properties 0x009a2069 (u32) : min=0 max=4294967295 step=1 default=0 [30][18] flags=read-only, has-payload
sensor_image_properties 0x009a206a (u32) : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
sensor_control_properties 0x009a206b (u32) : min=0 max=4294967295 step=1 default=0 [30][36] flags=read-only, has-payload
sensor_dv_timings 0x009a206c (u32) : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
low_latency_mode 0x009a206d (bool) : default=0 value=0
preferred_stride 0x009a206e (int) : min=0 max=65535 step=1 default=0 value=0
sensor_modes 0x009a2082 (int) : min=0 max=30 step=1 default=30 value=1 flags=read-only

 

Is there anything setting can help? Because after that I can’t control camera and only can reboot Jetson NX.
7.What attempts at troubleshooting have you already made?

8.How would you like us to help you?