JetPack4.5 using gst to open raw camera "nvarguscamerasrc0 reported: TIMEOUT "

Dear NV_Team,

We upgraded our devices software version from JetPack4.4 to JetPack4.5.
We use the same method to open the four GMSL2 cameras at the same time (imx390.4x.camera.sh shell script) the four cameras can display at the same time, but in JetPack4.5 just one camera dispaly on the screen.
We get an error on the terminal :“/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: TIMEOUT”

BTW, the four cameras can be opened successfully one by one.

nvidia@xavier:~$ vi ./wks/imx390.4x.camera.sh
gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw,
 format=(string)I420' ! xvimagesink -e &
sleep 10

gst-launch-1.0 nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw,
 format=(string)I420' ! xvimagesink -e &
sleep 10

gst-launch-1.0 nvarguscamerasrc sensor-id=2 ! 'video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw,
 format=(string)I420' ! xvimagesink -e &

sleep 10

gst-launch-1.0 nvarguscamerasrc sensor-id=3 ! 'video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw,
 format=(string)I420' ! xvimagesink -e &
sleep 10

nvidia@xavier:~$ ./wks/imx390.4x.camera.sh 
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 = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 31.622776; Exposure Range min 59000, max 33333000;

GST_ARGUS: Running with following settings:
   Camera index = 1 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
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 = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 31.622776; Exposure Range min 59000, max 33333000;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: TIMEOUT
Additional debug info:
Argus Error Status
EOS on shutdown enabled -- waiting for EOS after Error
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:11.085085707
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
Setting pipeline to NULL ...
Freeing pipeline ...
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 = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 31.622776; Exposure Range min 59000, max 33333000;

GST_ARGUS: Running with following settings:
   Camera index = 3 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: TIMEOUT
Additional debug info:
Argus Error Status
EOS on shutdown enabled -- waiting for EOS after Error
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:11.138749794
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
Setting pipeline to NULL ...
Freeing pipeline ...
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 = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 31.622776; Exposure Range min 59000, max 33333000;

GST_ARGUS: Running with following settings:
   Camera index = 2 
   Camera mode  = 0 
   Output Stream W = 1920 H = 1080 
   seconds to Run    = 0 
   Frame Rate = 29.999999 
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: TIMEOUT
Additional debug info:
Argus Error Status
EOS on shutdown enabled -- waiting for EOS after Error
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:11.156064689
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
Setting pipeline to NULL ...
Freeing pipeline ...

Is this a bug of JetPack4.5 or my gst shell need to upgrade ?
Thanks.

Hi,
We run the attached script and does not hit the issue:

nvidia@dhcp-10-19-107-82:~$ cat camera.sh
#!/bin/bash

export DISPLAY=:0

gst-launch-1.0 nvarguscamerasrc sensor-id=0 num-buffers=1800 ! 'video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw,
 format=(string)I420' ! xvimagesink -e &
sleep 10

gst-launch-1.0 nvarguscamerasrc sensor-id=1 num-buffers=1800 ! 'video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw,
 format=(string)I420' ! xvimagesink -e &
sleep 10

gst-launch-1.0 nvarguscamerasrc sensor-id=2 num-buffers=1800 ! 'video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw,
 format=(string)I420' ! xvimagesink -e &

sleep 10

gst-launch-1.0 nvarguscamerasrc sensor-id=3 num-buffers=1800 ! 'video/x-raw(memory:NVMM), width=(int)1920,height=(int)1080' ! nvvidconv flip-method=0 ! 'video/x-raw,
 format=(string)I420' ! xvimagesink -e &
sleep 10

Looks like it may be specific to the camera module. Please provide information about the camera board, such as brand and model ID, for our reference.

Hi DaneLLL,

We are using IMX390/Leopard GMSL2 camera module (with VC)

Thanks.

Hi DaneLLL,

We find the same problem occured when we use the FPDLINK-III cameras (UB954+UB953, Camera module: Leopard AR0231 FPDLINK).
If we change JetPack4.5 to JetPack4.4 there is no such problem.

But if I use /usr/src/jetson_multimedia_api/samples/13_multi_camera to preview all the four cameras, the four cameras preivew works fine.

Can you help to check about this ?

Hi,
By default the timeout is 1 second:

static const uint64_t ACQUIRE_FRAME_TIMEOUT = 1000000000;

Please extend it to 5 seconds for a try. Probably the default value is not enough in certain multi-camera case. The source code of nvarguscamerasrc is in
https://developer.nvidia.com/embedded/l4t/r32_release_v5.1/r32_release_v5.1/sources/t186/public_sources.tbz2
Please download it to rebuild/replace

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

Hi DaneLLL,

After modify “ACQUIRE_FRAME_TIMEOUT from 1000000000 to 5000000000”, the problem fixed, thanks so much.

I looked in public_source and do not see nvarguscamerasrc, which gzip file contains for nvarguscamerasrc

Thanks,
Terry

Hi,
The package is gst-nvarguscamera_src.tbz2.