Sensor driver doesn't work with nvarguscamerasrc (SCF: Error Timeout: ISP Stats timed out!)


I have created a driver for a sensor camera which is working with v4l2-ctl

v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=120
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 34.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.77 fps

But when I have tried to capture using nvarguscamerasrc the pipeline fails.

vidia@nvidia:~$ DISPLAY=:0 gst-launch-1.0 nvarguscamerasrc sensor-id=0 num-buffers=10 ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)21/1' ! nvvidconv ! queue ! xvimagesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 33,000000 fps Duration = 30303030 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 25000, max 683709000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 33,000000 
GST_ARGUS: PowerService: requested_clock_Hz=9525600
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:50.555278337
Setting pipeline to PAUSED ...
Setting pipeline to READY ...

I have enabled nvargus-daemon logs from user-space for more details and I have seen there are several errors reported but several of those errors are also reported by the imx219 sensor (Debug messages for imx219:, that works correctly in Jetson Nano.

Discarding the error messages that are common between IMX219 and my driver I have these messages:

. . .
LSC: LSC surface is not based on full res!
. . .
SCF: Error Timeout: ISP Stats timed out! (in src/services/capture/NvIspHw.cpp, function waitIspStatsFinished(), line 561)
SCF: Error Timeout: ISP port 0 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 478)
SCF: Error Timeout:  (propagating from src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 519)
SCF: Error Timeout:  (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error Timeout: Worker thread IspHw frameComplete failed (in src/common/Utils.cpp, function workerThread(), line 133)
. . .

This is the complete log:

Do you know what could be the cause of these messages?


Have a try modify the discontinuous_clk in DT to opposite value to try.

I have changed the discontinuous_clk to “no” and now I can capture video and also the pipeline is closed correctly.

Thanks for your help