I am testing different frame rates on a custom MIPI CSI-2 camera with a Jetson Orin Nano Developer Kit running Jetson Linux R36.3.0. gst-launch-1.0
only fails when I push the frame rate to 180 fps (terminal log attached) while v4l2-ctl
still works under the same configuration. What can be the issue here?
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Pipeline is PREROLLED ...
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: 2616 x 1964 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 980 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 652 FR = 90.000001 fps Duration = 11111111 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 484 FR = 120.000005 fps Duration = 8333333 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 388 FR = 150.000015 fps Duration = 6666666 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: 2616 x 324 FR = 180.000018 fps Duration = 5555555 ; Analog Gain range min 0.000000, max 72.000000; Exposure Range min 33321000, max 66580000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 5
Output Stream W = 2616 H = 324
seconds to Run = 0
Frame Rate = 180.000018
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadExecute:732 NvBufSurfaceFromFd Failed.
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:243 (propagating)
Redistribute latency...
Got EOS from element "pipeline0".
Execution ended after 0:00:04.006995161
Setting pipeline to NULL ...
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success
Freeing pipeline ...
- Boost the clocks to try.
sudo su
echo 1 > /sys/kernel/debug/bpmp/debug/clk/vi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/isp/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/nvcsi/mrq_rate_locked
echo 1 > /sys/kernel/debug/bpmp/debug/clk/emc/mrq_rate_locked
cat /sys/kernel/debug/bpmp/debug/clk/vi/max_rate |tee /sys/kernel/debug/bpmp/debug/clk/vi/rate
cat /sys/kernel/debug/bpmp/debug/clk/isp/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/isp/rate
cat /sys/kernel/debug/bpmp/debug/clk/nvcsi/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/nvcsi/rate
cat /sys/kernel/debug/bpmp/debug/clk/emc/max_rate | tee /sys/kernel/debug/bpmp/debug/clk/emc/rate
- Get the daemon log if more clue.
Jetson/l4t/Camera BringUp - eLinux.org
- Boosting the clocks didn’t help, which makes sense to me since the bit rate across different modes is consistent.
- Whenever I try to run
nvargus-daemon
and gst-launch-1.0
side by side, I always receive a segmentation fault from both even from modes that are previously working. Any help on this end is appreciated!
sudo service nvargus-daemon stop
sudo su
export enableCamPclLogs=5
export enableCamScfLogs=5
/usr/sbin/nvargus-daemon
Get the log by below command instead of stop the daemon.
journalctl -u nvargus-daemon -f
I got the following error:
Module_id 30 Severity 2 : (fusa) Error: Timeout propagating from:/capture/sr/fusaViHandler.cpp 820
How should I interpret this error?
It turns out that there was an issue with register settings on the image sensor which I fixed and I am getting a new error:
Module_id 30 Severity 2 : (fusa) Error: BadParameter Cannot compute slice height. in:/capture/src/fusaViHandler.cpp 1054
which seems to originate from
===gst-launch-1.0[4148]: CameraProvider initialized (0xffff8ca02cf0)(Autocontrol) Error BadParameter: NvIspAeSetUpLac1Settings: effective image region [2616x68] is too small (in src/algorithms/ae/ae_metering.cpp, function NvIsAeSetUpLac1Settings(), line 729)
Is it possible to disable auto exposure in the user space? In addtion, I have verified that the image sensor functions properly under this mode using v4l2-ctl
.
Suppose Argus support mini size is 640x480, not possible to disable AE.
Thanks
I see, do you by any chance know if there is a GStreamer source plugin that doesn’t have this limitation?
You can try v4l2scr with bayer2rgb element instead of argus.
I see, can v4l2src
handle RAW10 monochromatic video sources?
You can check by below command.
gst-inspect-1.0 v4l2src