I can see both camera inputs using gst-launch… command but video apps (cheese, guvcview) are unable to show video. I am including my system diagnostic commands and responses below. Been on this for days now and would appreciate any guidance to get cameras working.
Camera(s) Qty(2) ArduCam 8MP IMX219 Autofocus Lens
Computer Jetson Orin Nano Developer kit
History New system installation on new Jetson with new cameras
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
NVIDIA NVIDIA Jetson Orin Nano Engineering Reference Developer Kit Super
L4T 36.4.7 [ JetPack UNKNOWN ]
Ubuntu 22.04.5 LTS
Kernel Version: 5.15.148-tegra
CUDA 12.6.68
CUDA Architecture: 8.7
OpenCV version: 4.8.0
OpenCV Cuda: NO
CUDNN: ii libcudnn9
TensorRT: 10.3.0.30
Vision Works: NOT_INSTALLED
VPI: 3.2.4
Vulcan: 1.3.204
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Check I2C Bus for Sensor (10 for CAM0 and bus 9 for CAM1)
sudo i2cdetect -y -r 9
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: UU – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
sudo i2cdetect -y -r 10
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – – – – – – – –
10: UU – – – – – – – – – – – – – – –
20: – – – – – – – – – – – – – – – –
30: – – – – – – – – – – – – – – – –
40: – – – – – – – – – – – – – – – –
50: – – – – – – – – – – – – – – – –
60: – – – – – – – – – – – – – – – –
70: – – – – – – – –
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
System finds the cameras :)
ls /dev/video*
/dev/video0 /dev/video1
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
/dev/media0
vi-output, imx219 10-0010 (platform:tegra-capture-vi:1):
/dev/video1
vi-output, imx219 9-0010 (platform:tegra-capture-vi:2):
/dev/video0
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
show camera permissions
ls -l /dev/video0
crw-rw----+ 1 root video 81, 0 Feb 8 22:12 /dev/video0
ls -l /dev/video1
crw-rw----+ 1 root video 81, 4 Feb 8 22:12 /dev/video1
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
lsmod | grep video
videobuf2_dma_contig 24576 1 tegra_camera
videobuf2_memops 20480 1 videobuf2_dma_contig
videobuf2_v4l2 28672 1 tegra_camera
videobuf2_common 61440 4 videobuf2_dma_contig,videobuf2_v4l2,tegra_camera,videobuf2_memops
videodev 249856 4 v4l2_async,videobuf2_v4l2,tegra_camera,videobuf2_common
mc 57344 4 videodev,videobuf2_v4l2,tegra_camera,videobuf2_common
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
camera configuration
xrandr --query
Screen 0: minimum 8 x 8, current 3840 x 2160, maximum 32767 x 32767
DP-0 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 607mm x 345mm
3840x2160 30.00*+
2560x1440 59.95
1920x1080 60.00 59.94
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
640x480 75.00 72.81 59.94
DP-1 disconnected (normal left inverted right x axis y axis)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
I can see both cameras working properly with this command :)
gst-launch-1.0 -e \
multiqueue sync-by-running-time=true name=mqueue \
nvarguscamerasrc sensor-id=0 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,format=NV12,framerate=30/1' ! mqueue.sink_0 \
nvarguscamerasrc sensor-id=1 ! 'video/x-raw(memory:NVMM),width=1920,height=1080,format=NV12,framerate=30/1' ! mqueue.sink_1 \
mqueue.src_0 ! nv3dsink \
mqueue.src_1 ! nv3dsink
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
This command fails
gst-launch-1.0 nvarguscamerasrc ! ‘video/x-raw(memory:NVMM), width=1280, height=720, framerate=30/1’ ! nvvidconv ! nvegltransform ! nveglglessink -e
Setting pipeline to PAUSED …
Using winsys: x11
Pipeline is live and does not need PREROLL …
Got context from element ‘eglglessink0’: gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
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: 3280 x 2464 FR = 21.000000 fps Duration = 47619048 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 3280 x 1848 FR = 28.000001 fps Duration = 35714284 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1640 x 1232 FR = 29.999999 fps Duration = 33333334 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 10.625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 4
Output Stream W = 1280 H = 720
seconds to Run = 0
Frame Rate = 59.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
Redistribute latency…
WARNING: from element /GstPipeline:pipeline0/GstEglGlesSink:eglglessink0: Pipeline construction is invalid, please add queues.
Additional debug info:
../libs/gst/base/gstbasesink.c(1249): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstEglGlesSink:eglglessink0:
Not enough buffering available for the processing deadline of 0:00:00.015000000, add enough queues to buffer 0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
WARNING: from element /GstPipeline:pipeline0/GstEglGlesSink:eglglessink0: Pipeline construction is invalid, please add queues.
Additional debug info:
../libs/gst/base/gstbasesink.c(1249): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstEglGlesSink:eglglessink0:
Not enough buffering available for the processing deadline of 0:00:00.015000000, add enough queues to buffer 0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
ERROR: from element /GstPipeline:pipeline0/GstEglGlesSink:eglglessink0: Output window was closed
Additional debug info:
/dvs/git/dirty/git-master_linux/3rdparty/gst/gst-nveglglessink/ext/eglgles/gsteglglessink.c(914): gst_eglglessink_event_thread (): /GstPipeline:pipeline0/GstEglGlesSink:eglglessink0
Execution ended after 0:00:06.636369983
Setting pipeline to NULL …
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
Freeing pipeline …
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Try to see camera with cheese - fails :(
cheese
** Message: 08:11:18.904: cheese-application.vala:222: Error during camera setup: No device found
(cheese:11874): cheese-CRITICAL **: 08:11:18.921: cheese_camera_device_get_name: assertion ‘CHEESE_IS_CAMERA_DEVICE (device)’ failed
(cheese:11874): GLib-CRITICAL **: 08:11:18.921: g_variant_new_string: assertion ‘string != NULL’ failed
(cheese:11874): GLib-CRITICAL **: 08:11:18.921: g_variant_ref_sink: assertion ‘value != NULL’ failed
(cheese:11874): GLib-GIO-CRITICAL **: 08:11:18.921: g_settings_schema_key_type_check: assertion ‘value != NULL’ failed
(cheese:11874): GLib-CRITICAL **: 08:11:18.921: g_variant_get_type_string: assertion ‘value != NULL’ failed
(cheese:11874): GLib-GIO-CRITICAL **: 08:11:18.921: g_settings_set_value: key ‘camera’ in ‘org.gnome.Cheese’ expects type ‘s’, but a GVariant of type ‘(null)’ was given
(cheese:11874): GLib-CRITICAL **: 08:11:18.921: g_variant_unref: assertion ‘value != NULL’ failed
** (cheese:11874): CRITICAL **: 08:11:18.921: cheese_preferences_dialog_setup_resolutions_for_device: assertion ‘device != NULL’ failed
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Try to see video in gucview - fails :(
guvcview -d /dev/video0
Opening in O_NONBLOCKING MODE
libv4l2: error getting capabilities: Inappropriate ioctl for device
V4L2_CORE: ERROR opening V4L2 interface for /dev/v4l-subdev0
Opening in O_NONBLOCKING MODE
libv4l2: error getting capabilities: Inappropriate ioctl for device
V4L2_CORE: ERROR opening V4L2 interface for /dev/v4l-subdev1
Opening in O_NONBLOCKING MODE
libv4l2: error getting capabilities: Inappropriate ioctl for device
V4L2_CORE: ERROR opening V4L2 interface for /dev/v4l-subdev3
Opening in O_NONBLOCKING MODE
libv4l2: error getting capabilities: Inappropriate ioctl for device
V4L2_CORE: ERROR opening V4L2 interface for /dev/v4l-subdev2
Opening in O_NONBLOCKING MODE
Opening in BLOCKING MODE
Available Sensor modes :
Resolution: 3280 x 2464 ; Framerate = 21.000000; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 3280 x 1848 ; Framerate = 28.000001; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1920 x 1080 ; Framerate = 29.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1640 x 1232 ; Framerate = 29.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1280 x 720 ; Framerate = 59.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
V4L2_CORE: Unable to find parent usb device.Opening in O_NONBLOCKING MODE
Opening in BLOCKING MODE
Available Sensor modes :
Resolution: 3280 x 2464 ; Framerate = 21.000000; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 3280 x 1848 ; Framerate = 28.000001; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1920 x 1080 ; Framerate = 29.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1640 x 1232 ; Framerate = 29.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1280 x 720 ; Framerate = 59.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
V4L2_CORE: Unable to find parent usb device.GUVCVIEW: version 2.0.7
GUVCVIEW: couldn’t open /home/patrick/.config/guvcview2/video0 for read: No such file or directory
Opening in O_NONBLOCKING MODE
Opening in BLOCKING MODE
Available Sensor modes :
Resolution: 3280 x 2464 ; Framerate = 21.000000; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 3280 x 1848 ; Framerate = 28.000001; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1920 x 1080 ; Framerate = 29.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1640 x 1232 ; Framerate = 29.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
Resolution: 1280 x 720 ; Framerate = 59.999999; Analog Gain Range Min 1.000000, Max 10.625000, Exposure Range Min 13000, Max 683709000
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
DEFAULT no IOCTL called
V4L2_CORE: (UVCIOC_CTRL_MAP) Error: Invalid argument
V4L2_CORE: Error opening device /dev/video0: video capture not supported.
GUVCVIEW (1): Guvcview error
no video device (/dev/video0) found
(guvcview:11219): Gtk-WARNING **: 08:01:20.488: Theme parsing error: :1:17: not a number
(guvcview:11219): Gtk-WARNING **: 08:01:20.488: Theme parsing error: :1:31: Using Pango syntax for the font: style property is deprecated; please use CSS syntax
(guvcview:11219): Gtk-WARNING **: 08:01:20.488: Theme parsing error: :1:17: not a number
(guvcview:11219): Gtk-WARNING **: 08:01:20.488: Theme parsing error: :1:32: Using Pango syntax for the font: style property is deprecated; please use CSS syntax
(guvcview:11219): Gtk-WARNING **: 08:01:20.488: Theme parsing error: :1:17: not a number
(guvcview:11219): Gtk-WARNING **: 08:01:20.488: Theme parsing error: :1:26: Using Pango syntax for the font: style property is deprecated; please use CSS syntax