I’m having trouble getting video from a raspberry pi camera attached to my Jetson Nano. It had been working, but now seem to be almost totally inoperable.
A reproduction of the basic error:
- enabled userspace logs with
export enableCamPclLogs=5
export enableCamScfLogs=5
- ran
sudo /usr/sbin/nvargus-daemon
- ran, in another terminal :
nvgstcapture-1.0
Looking back at the nvargus-daemon window I saw (in part):
=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections...=== nvgstcapture-1.0[23812]: Connection established (7F97D311D0)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- imager: No override file found. ----
LSC: LSC surface is not based on full res!
---- imager: No override file found. ----
(NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 256)
(NvCamV4l2) Error ModuleNotPresent: (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 60)
(NvOdmDevice) Error ModuleNotPresent: (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 106)
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 0. (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 582)
SCF: Error BadParameter: (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 437)
SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 295)
SCF: Error BadParameter: (propagating from src/api/CameraDriver.cpp, function getSource(), line 458)
Acquiring SCF Camera device source via index 1 has failed. === nvgstcapture-1.0[23812]: CameraProvider initialized (0x7f908432f0)LSC: LSC surface is not based on full res!
Here’s my device tree:
tegra-camera-platform {
isp_bw_margin_pct = <0x19>;
compatible = "nvidia, tegra-camera-platform";
max_pixel_rate = <0x3a980>;
num_csi_lanes = <0x2>;
vi_peak_byte_per_pixel = <0x2>;
status = "okay";
max_lane_speed = <0x16e360>;
phandle = <0xc4>;
vi_bw_margin_pct = <0x19>;
linux,phandle = <0xc4>;
min_bits_per_pixel = <0xa>;
isp_peak_byte_per_pixel = <0x5>;
modules {
module0 {
badge = "porg_front_RBPCV2";
status = "okay";
phandle = <0xba>;
position = "front";
linux,phandle = <0xba>;
orientation = [31 00];
drivernode1 {
pcl_id = "v4l2_lens";
status = "okay";
proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
phandle = <0xbc>;
linux,phandle = <0xbc>;
};
drivernode0 {
devname = "imx219 6-0010";
pcl_id = "v4l2_sensor";
status = "okay";
proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/rbpcv2_imx219_a@10";
phandle = <0xbb>;
linux,phandle = <0xbb>;
};
};
module1 {
badge = "porg_rear_RBPCV2";
phandle = <0xca>;
position = "rear";
linux,phandle = <0xca>;
orientation = [31 00];
drivernode1 {
pcl_id = "v4l2_lens";
proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
phandle = <0xcc>;
linux,phandle = <0xcc>;
};
drivernode0 {
devname = "imx219 8-0010";
pcl_id = "v4l2_sensor";
proc-device-tree = "/proc/device-tree/cam_i2cmux/i2c@1/rbpcv2_imx219_e@10";
phandle = <0xcb>;
linux,phandle = <0xcb>;
};
};
};
};
This seems similar to https://devtalk.nvidia.com/default/topic/1055422/jetson-agx-xavier/v4l2-ctl-succeed-gst-launch-1-0-fail-/1, but perhaps not the same root cause?
Note that I’m using a Nano image grabbed from https://developer.nvidia.com/embedded/learn/get-started-jetson-nano-devkit#write
Help would be appreciated! Thanks.