Camera streaming stops suddenly and can not restart camera.

I am using a custom board developed with jetson TX2. The camera streaming stops after 2 hrs of working and gets error
tegra_channel_error_recovery: attempting to reset the capture channel
PXL_SOF syncpt timeout! err = -11

May I know how to solve this issue.
We are using L4T 28.1

@seerag.ag
What command do you running?
28.1 have litter older, could you migrate to r32.2.1 to verify?

Sorry I can’t directly migrate to higher version of linux.
Can I get any relevant patch file?

Need to root out the case to give solution.
From your case it could be the signal unstable or OOM issue.

When I enable the log got an error like this.

kworker/1:0-29914 [001] …1 56004.090007: rtcpu_vinotify_handle_msg: tstamp:1750336288535 tag:CHANSEL_PXL_SOF channel:0x02 frame:33012 vi_tstamp:2284598515 data:0x00000001
kworker/1:0-29914 [001] …1 56004.090007: rtcpu_vinotify_handle_msg: tstamp:1750336288679 tag:ATOMP_FS channel:0x02 frame:33012 vi_tstamp:2284598525 data:0x00000000
kworker/1:0-29914 [001] …1 56004.138005: rtcpu_vinotify_handle_msg: tstamp:1750337081369 tag:CHANSEL_PXL_EOF channel:0x02 frame:33012 vi_tstamp:2285391312 data:0x04370002
kworker/1:0-29914 [001] …1 56004.138006: rtcpu_vinotify_handle_msg: tstamp:1750337081470 tag:ATOMP_FE channel:0x02 frame:33012 vi_tstamp:2285391332 data:0x00000000
kworker/1:0-29914 [001] …1 56004.189992: rtos_queue_peek_from_isr_failed: tstamp:1750339319897 queue:0x0b4a3c58
kworker/1:0-29914 [001] …1 56004.345987: rtos_queue_peek_from_isr_failed: tstamp:1750344320389 queue:0x0b4a3c58
kworker/1:0-29914 [001] …1 56004.501986: rtos_queue_peek_from_isr_failed: tstamp:1750349320885 queue:0x0b4a3c58
kworker/1:0-29914 [001] …1 56004.657987: rtos_queue_peek_from_isr_failed: tstamp:1750354321378 queue:0x0b4a3c58
kworker/1:0-29914 [001] …1 56004.813982: rtos_queue_peek_from_isr_failed: tstamp:1750359321870 queue:0x0b4a3c58
kworker/1:0-29914 [001] …1 56004.917999: rtos_queue_peek_from_isr_failed: tstamp:1750361460007 queue:0x0b4a3c58

How could we know whether a valid data is not in MIPI bus or no data in the MIPI bus?

I think I didn’t say no valid data on the bus?
This trace log can’t tell what’s happened.

So how can I debug on the camera?

What’s command do you run?

For camera streaming I run the following command which is used in openCV

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=(string)UYVY,width=(int)1280,height=(int)1080,framerate=(fraction) 30/1 ! nvvidconv ! video/x-raw(memory:NVMM) , width=(int)1280 , height=(int)1080 , format=(string)BGRx ! nvvidconv ! video/x-raw,format=(string)BGRx,width=(int)1280,height=(int)1080,framerate=( fraction)30/1 ! videoconvert ! video/x-raw, format=(string)BGR ! appsink

You can try to reduce the element to narrow down the problem first.

We have to get the video frames in NV12 format for further operations in our openCV program.
Is there any command other than this to get the video frame with NV12 format from the pipeline?

Have a try this command.

gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, width=1280, height=1080, framerate=30/1, format=UYVY' ! nvvidconv ! 'video/x-raw(memory:NVMM), width=3840, height=2160, framerate=30/1, format=I420' ! nvoverlaysink sync=false

Thank you for the reply. But sorry to say that we need BGR/RGB converted output for the application.
What can I do for that in the pipeline?

You can make sure this pipeline first. If without problem you can add convert to RGB pipeline. Maybe like below.

gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=(string)UYVY,width=(int)1280,height=(int)1080,framerate=(fraction) 30/1 ! nvvidconv ! video/x-raw(memory:NVMM) , width=(int)1280 , height=(int)1080 , format=(string)BGRx ! nvvidconv ! video/x-raw,format=(string)BGRx,width=(int)1280,height=(int)1080,framerate=( fraction)30/1 ! fakesink