Cannot use gstreamer with CSI camera. V4L works fine

We bring up a camera for an AGX Xavier system and we encountered a strange issue.
The camera is working and we can stream with it using v4l-ctl. Tried to capture RAW and visualized it - all seems good.

However when I try to open a stream with Gstreamer, I get error and the stream wont start.

These are the messages I get in syslog:

Dec 2 19:58:28 localhost nvargus-daemon[1205]: === gst-launch-1.0[3251]: CameraProvider initialized (0xffff8487cfa0)=== gst-launch-1.0[3251]: CameraProvider destroyed (0xffff8487cfa0)=== gst-launch-1.0[3251]: Connection closed (FFFF8AEAD900)=== gst-launch-1.0[3251]: Connection cleaned up (FFFF8AEAD900)=== gst-launch-1.0[3293]: Connection established (FFFF8AEAD900)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
Dec 2 19:58:28 localhost nvargus-daemon[1205]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
Dec 2 19:58:28 localhost nvargus-daemon[1205]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
Dec 2 19:58:29 localhost nvargus-daemon[1205]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module3
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclHwGetModuleList: No module data found
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclHwGetModuleList: No module data found
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclHwGetModuleList: No module data found
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclHwGetModuleList: No module data found
Dec 2 19:58:29 localhost nvargus-daemon[1205]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
Dec 2 19:58:29 localhost nvargus-daemon[1205]: ---- imager: No override file found. ----
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 111)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclStartPlatformDrivers: Failed to start module drivers
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclStateControllerOpen: Failed ImagerGUID 0. (error 0xA000E)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclOpen: PCL Open Failed. Error: 0xf
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: ---- imager: No override file found. ----
Dec 2 19:58:29 localhost nvargus-daemon[1205]: LSC: LSC surface is not based on full res!
Dec 2 19:58:29 localhost nvargus-daemon[1205]: ---- imager: No override file found. ----
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 111)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclStartPlatformDrivers: Failed to start module drivers
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0xA000E)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclOpen: PCL Open Failed. Error: 0xf
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: ---- imager: No override file found. ----
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: (NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 111)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclStartPlatformDrivers: Failed to start module drivers
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclStateControllerOpen: Failed ImagerGUID 2. (error 0xA000E)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: NvPclOpen: PCL Open Failed. Error: 0xf
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
Dec 2 19:58:29 localhost nvargus-daemon[1205]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)

Any ideas why this might be happening?
I am using Jetson AGX Xavier with L4T 35.4.1

How have you connected your camera to the jetson device?
What is the interface frame grabber card you have used on the carrier board?

I am using Leopard Imaging carrier board with GMSL link.
It’s based on this system, but using a different camera module:

Have you installed the drivers successfully for this card?

Yes, as far as I am concerned.

Running this command:

v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=240 --set-fmt-video=width=2592,height=1944

I get the sensor to stream

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 29.83 fps

I can grab a raw frame like this:

v4l2-ctl -d /dev/video0 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=test.raw --verbose --set-fmt-video=width=2592,height=1944

And this reads a valid frame (example below of cropped part of the frame):
image

So I am a bit puzzled why gst-launch fails in this situation.

hello alexander.soklev,

is your device tree settings has identical settings with your physical camera connections?
please also check tegra-camera-platform{}, you may review Module Properties settings.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.