Hi Jetson experts,
I’m working on bring-up of Arducam IMX477 camera over a custom board with
DS90UB953 serializer, and D3 Engineering board with DS90UB960 deserializer.
The development board is Jetson AGX. My current platform is based on L4T
32.6.1 release, and the integrated imx477.c driver with some minor
modifications.
I managed to capture frames in bayer format from the sensor using plain v4l2
with the v4l2-ctl --stream-mmap
command.
I’m now struggling with Argus integration. Simple gstreamer command like:
gst-launch-1.0 nvarguscamerasrc
gives this error:
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:725 No cameras available
It turns out that nvarguscamerasrc connects to nvargus-daemon to get camera
capture data. But nvargus-daemon encounters some error in the process. The
logs do not reveal the reason. Since sources for nvargus-daemon are not
publicly available I have no idea what is going on. Here is what the log
shows:
Sep 01 16:15:53 ubuntu nvargus-daemon[6561]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 305)
Sep 01 16:15:53 ubuntu nvargus-daemon[6561]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 471)
Sep 01 16:51:31 ubuntu nvargus-daemon[6561]: Acquiring SCF Camera device source via index 0 has failed. === gst-launch-1.0[8037]: CameraProvider initialized (0x7f7480fed0)=== gst-launch-1.0[8037]: CameraProvider destroyed (0x7f7480fed0)=== gst-launch-1.0[8037]: Connection closed (7F7C0F31D0)=== gst-launch-1.0[8037]: Connection cleaned up (7F7C0F31D0)=== gst-launch-1.0[8191]: Connection established (7F7C0F31D0)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
Sep 01 16:51:31 ubuntu nvargus-daemon[6561]: NvPclHwGetModuleList: No module data found
Sep 01 16:51:32 ubuntu nvargus-daemon[6561]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
Sep 01 16:51:32 ubuntu nvargus-daemon[6561]: ---- imager: Found override file [/var/nvidia/nvcam/settings/camera_overrides.isp]. ----
Sep 01 16:51:32 ubuntu nvargus-daemon[6561]: SCF: Error BadParameter: (propagating from src/services/capture/CaptureServiceDeviceSensor.cpp, function open(), line 139)
Sep 01 16:51:32 ubuntu nvargus-daemon[6561]: SCF: Error BadParameter: (propagating from src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 579)
Sep 01 16:51:32 ubuntu nvargus-daemon[6561]: SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
Sep 01 16:51:32 ubuntu nvargus-daemon[6561]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 305)
Sep 01 16:51:32 ubuntu nvargus-daemon[6561]: SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 471)
I have a similar working setup using Leopard Imaging IMX477 camera, based on
older L4T 32.5.1. The strange thing is that I see similar nvargus-daemon error
messages on the log of the working setup.
I noticed that in the working setup nvargus-daemon created nvcam_cache_*.bin
files under /var/nvidia/nvcam/settings/. In the non-working setup no files are
created.
Any idea what I might be missing?
Thanks.