I ported my driver (https://github.com/DaxBot/daxc02) over to the TX2 and everything is almost working. The board we use has two camera modules, one on CSI-A and one on CSI-C. The camera on C works great, no problems at all, but the one on CSI-A quits immediately with:
Setting pipeline to PAUSED ... Socket read error. Camera Daemon stopped functioning..... gst_nvcamera_open() failed ret=0 ERROR: Pipeline doesn't want to pause. Setting pipeline to NULL ... Freeing pipeline ...
NvCameraDeamon reports the following block of errors:
(NvOdmDevice) Error ModuleNotPresent: V4L2Device not available (in dvs/git/dirty/git-master_linux/camera-partner/imager/src/V4L2Device.cpp, function findDevice(), line 245) (NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/V4L2Device.cpp, function initialize(), line 55) (NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 103) NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor NvPclStartPlatformDrivers: Failed to start module drivers NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0xA000E) NvPclOpen: PCL Open Failed. Error: 0xf SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 598) SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 781) SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 276) SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 439) ./debug_daemon.sh: line 7: 2231 Segmentation fault (core dumped) sudo /usr/sbin/nvcamera-daemon
Recording directly with v4l2-ctl works fine, v4l2-compliance passes.
It seems like a class device tree issue. The part about “Unable to initialize driver v4l2_sensor” and references to modules makes me think it’s my the tegra-camera-platform node that has an issue. But I don’t see anything different between the module that works and the module that doesn’t.
Here’s the DTSI:
What causes the “ModuleNotPresent” error?