"ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: TIMEOUT"

Are you able bypass the GMSL to verify the problem?

Hi ShaneCCC,

Sorry, the hardware design only support GMSL2, I can’t by pass GMSL to verify it.
This hardware we use JetPack4.4/4.4.1 all the GMSL2 cameras works fine, there is no such problems.

Another customer report the same problem the same symptom as your and fixed by configure the GMSL chip configure. I don’t have any idea for it now.

Hi ShaneCCC,

Can you ask the other customer more details about it.
Now I copy the JetPack4.4 libs to JetPack4.5 and the two camera can be opened at the same time using gstreamer-nvarguscamera. But the two camera preview only one frame and then both freezed at the frame.

/usr/lib/aarch64-linux-gnu/tegra/
libnvbuf_utils.so.1.0.0 
libnvbufsurftransform.so.1.0.0 
libnvbufsurface.so.1.0.0
libnvrm.so		
libnvos.so             
libnvrm_graphics.so    
libnvcamlog.so         
libnvfnetstoredefog.so 
libnvfnet.so           
libnvfnetstorehdfx.so  
libnvddk_vic.so        
libnvddk_2d_v2.so      
libnvtvmr.so           
libnvjpeg.so           
libnvmm_utils.so       
libnvphs.so            
libcuda.so.1.1         
libnvscf.so                
libnvodm_imager.so          
libnvcapture.so            
libnvargus.so              
libnvargus_socketserver.so 
libnvargus_socketclient.so 
libnvcamerautils.so        
libnvcameratools.so 
/usr/lib/aarch64-linux-gnu/gstreamer-1.0/
libgstnvarguscamerasrc.so

Hi ShaneCCC,

I do the 4steps then use "gst-launch-1.0 nvarguscamerasrc " to open the two cameras, now both of the cameras preview fine at the same time .
But this is not a final solution for this issue.

Step1. Copy these libs from JetPack4.4 to /usr/lib/aarch64-linux-gnu/tegra/

/usr/lib/aarch64-linux-gnu/tegra/
libnvbuf_utils.so.1.0.0 
libnvbufsurftransform.so.1.0.0 
libnvbufsurface.so.1.0.0
libnvrm.so		
libnvos.so             
libnvrm_graphics.so    
libnvcamlog.so         
libnvfnetstoredefog.so 
libnvfnet.so           
libnvfnetstorehdfx.so  
libnvddk_vic.so        
libnvddk_2d_v2.so      
libnvtvmr.so           
libnvjpeg.so           
libnvmm_utils.so       
libnvphs.so            
libcuda.so.1.1         
libnvscf.so                
libnvodm_imager.so          
libnvcapture.so            
libnvargus.so              
libnvargus_socketserver.so 
libnvargus_socketclient.so 
libnvcamerautils.so        
libnvcameratools.so 

Step2. Copy these libs from JetPack4.4 to /usr/lib/aarch64-linux-gnu/gstreamer-1.0/

/usr/lib/aarch64-linux-gnu/gstreamer-1.0/
libgstnvarguscamerasrc.so

Step3. Restart nvargus-daemon

sudo service nvargus-daemon stop
sudo enableCamInfiniteTimeout=1 nvargus-daemon

Step4. Open cameras

gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1,format=NV12' ! nvvidconv ! fpsdisplaysink video-sink=xvimagesink sync=false \
& gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,framerate=30/1,format=NV12' ! nvvidconv ! fpsdisplaysink video-sink=xvimagesink sync=false

Does must restart nvagus-daemon by infinite timeout?

Hi ShaneCCC,

Yes, if not ‘restart nvagus-daemon by infinite timeout’ the two cameras preview is freezed .

BTW, must copy JetPack4.4 libs to JetPack4.5 then ‘restart nvagus-daemon by infinite timeout’, after these two steps gstnvarguscamera can preview the two cameras successfully.

Could you add set_mode_delay_ms in the dts in the sensor mode scope to try the nvargus normal mode.

https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%20Linux%20Driver%20Package%20Development%20Guide/camera_sensor_prog.html#wwpID0E0Q50HA

Hi ShaneCCC,

I have tried to add set_mode_delay_ms from 100 to 500ms in the dts, but not work.

	compatible = "nvidia,imx390";

	reg = <0x1b>;
	reg_mux = <0>;
	/* Physical dimensions of sensor */
	physical_w = "15.0";
	physical_h = "12.5";

	sensor_model ="imx390";

	/* Defines number of frames to be dropped by driver internally after applying */
	/* sensor crop settings. Some sensors send corrupt frames after applying */
	/* crop co-ordinates */
	post_crop_frame_drop = "0";

	/* Convert Gain to unit of dB (decibel) befor passing to kernel driver */
	use_decibel_gain = "true";

	/* enable CID_SENSOR_MODE_ID for sensor modes selection */
	use_sensor_mode_id = "true";
	set_mode_delay_ms="100";

Could you replace the libnvscf.so with attached lib base on r32.4 libs for nvargus-daemon with normal mode.

libnvscf.so_32.4.timeoutX3_1 (8.2 MB)

Hi ShaneCCC,

Use this ’ libnvscf.so_32.4.timeoutX3_1’ to replace JetPack4.4 libnvscf.so, then put all the JetPack4.4 libs to JetPack4.5 system (/usr/lib/aarch64-linux-gnu/tegra/).

If I use “sudo enableCamInfiniteTimeout=1 nvargus-daemon” the two cameras preview successfully.

If I don’t add “enableCamInfiniteTimeout=1” to run nvargus-daemon, “sudo nvargus-daemon”, the two camera preview only one frame and then both freezed at the frame too.

Thanks.

Please help to try this libs again.

Thanks

libnvscf.so_32.4.timeoutX3_2 (8.2 MB)

Hi ShaneCCC,

“libnvscf.so_32.4.timeoutX3_2” still not work, two cameras freezed, and I upload the nvargus-daemon runtime log for your reference.

nvargus-daemon.imx390.log (53.4 KB)

Thanks for trying.
Please help to try this again. I modify it as waiting for EOF inifintely.

libnvscf.so_32.4.timeout_inifint (8.2 MB)

Hi ShaneCCC,

I tried to use “libnvscf.so_32.4.timeout_inifint” but the result is same with X3_1/2, not worked.
I copied libnvscf.so to /usr/lib/aarch64-linux-gnu/tegra/, is there any log to check if your modification works?

I modify the waitCsiFrameEnd() for inifinte. Have a check the daemon log if still below message?

SCF: Error InvalidState: Capture error with status 14 (channel 0) (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 880)

Hi ShaneCCC,

Here is the daemon log:

SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc
SCF: Error Timeout:  (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc
NvCaptureStatusErrorDecode Stream 0.0 failed: sof_ts 75590917312 eof_ts 2419942874112 frame 0 error 14 data 0x00000040
NvCaptureStatusErrorDecode Capture-Error: FALCON_ERROR (0x0000000e)
SCF: Error InvalidState: Capture error with status 14 (channel 0) (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 880)
NvCaptureStatusErrorDecode Stream 0.0 failed: sof_ts 75624306912 eof_ts 2421011244032 frame 0 error 14 data 0x00000040
NvCaptureStatusErrorDecode Capture-Error: FALCON_ERROR (0x0000000e)
SCF: Error InvalidState: Capture error with status 14 (channel 0) (in src/services/capture/NvCaptureViCsiHw.cpp, function waitCsiFrameEnd(), line 880)
NvCaptureStatusErrorDecode Stream 0.0 failed: sof_ts 75657696512 eof_ts 2422079712256 frame 0 error 14 data 0x00000040

Could you increase set_mode_delay_ms to avoid below message.

SCF: Error Timeout: (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc
SCF: Error Timeout: (propagating from src/services/capture/CaptureServiceEvent.cpp, function wait(), line 59)
Error: Camera HwEvents wait, this may indicate a hardware timeout occured,abort current/incoming cc

Hi ShaneCCC,

I have tried to increase the value of "set_mode_delay_ms " from 100ms to 500ms, but no effect, what the value of "set_mode_delay_ms " you suggest?

Hi ShaneCCC,

I tried four different value of set_mode_delay_ms 100ms, 200ms, 500ms, 1000ms, but no one works fine without setting enableCamInfiniteTimeout=1.

sudo enableCamInfiniteTimeout=1 nvargus-daemon logs file:
nvargus-daemon.imx390.InfinteTime.log (192.9 KB)