jetson nano problems with new camera sensor.

Hi,

I’m trying to interface Teledyne e2v 5Mpixel snappy sensor to a board
based on an emmc jetson nano module (single sensor instance, for the moment).

v4l2 seems ok:

root@localhost:~# v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=/tmp/frame.raw --stream-count=-1
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 33.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 32.83 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 32.78 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 32.75 fps
....

v4l2-compliance says:

v4l2-compliance SHA   : not available

Driver Info:
	Driver name   : tegra-video
	Card type     : vi-output, e2v 6-0010
	Bus info      : platform:54080000.vi:2
	Driver version: 4.9.140
	Capabilities  : 0x84200001
		Video Capture
		Streaming
		Extended Pix Format
		Device Capabilities
	Device Caps   : 0x04200001
		Video Capture
		Streaming
		Extended Pix Format

Compliance test for device /dev/video0 (not using libv4l2):

Required ioctls:
	test VIDIOC_QUERYCAP: OK

Allow for multiple opens:
	test second video open: OK
	test VIDIOC_QUERYCAP: OK
	test VIDIOC_G/S_PRIORITY: OK
	test for unlimited opens: OK

Debug ioctls:
	test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
	test VIDIOC_LOG_STATUS: OK

Input ioctls:
	test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
	test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
	test VIDIOC_ENUMAUDIO: OK (Not Supported)
	test VIDIOC_G/S/ENUMINPUT: OK
	test VIDIOC_G/S_AUDIO: OK (Not Supported)
	Inputs: 1 Audio Inputs: 0 Tuners: 0

Output ioctls:
	test VIDIOC_G/S_MODULATOR: OK (Not Supported)
	test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
	test VIDIOC_ENUMAUDOUT: OK (Not Supported)
	test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
	test VIDIOC_G/S_AUDOUT: OK (Not Supported)
	Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
	test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
	test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
	test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
	test VIDIOC_G/S_EDID: OK (Not Supported)

Test input 0:

	Control ioctls:
		test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
		test VIDIOC_QUERYCTRL: OK
		test VIDIOC_G/S_CTRL: OK
		test VIDIOC_G/S/TRY_EXT_CTRLS: OK
		test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
		test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
		Standard Controls: 1 Private Controls: 13

	Format ioctls:
		test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
		fail: v4l2-test-formats.cpp(1184): ret && node->has_frmintervals
		[bold]test VIDIOC_G/S_PARM: FAIL[/bold]
		test VIDIOC_G_FBUF: OK (Not Supported)
		test VIDIOC_G_FMT: OK
		test VIDIOC_TRY_FMT: OK
		test VIDIOC_S_FMT: OK
		test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
		test Cropping: OK (Not Supported)
		test Composing: OK (Not Supported)
		test Scaling: OK (Not Supported)

	Codec ioctls:
		test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
		test VIDIOC_G_ENC_INDEX: OK (Not Supported)
		test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

	Buffer ioctls:
		test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
		test VIDIOC_EXPBUF: OK

Test input 0:


Total: 43, Succeeded: 42, Failed: 1, Warnings: 0

As I try to acquire from the sensor:

nvgstcapture-1.0 --camsrc=1 --mode=2 --cap-dev-node=0

nvargus-daemon (logs enabled) says:

=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections...=== nvgstcapture-1.0[16697]: Connection established (7F778C81D0)Thread 1 getting next capture
Thread 1 is waiting
Thread 2 getting next capture
Thread 2 is waiting
Thread 3 getting next capture
Thread 3 is waiting
Thread 4 getting next capture
Thread 4 is waiting
Thread 6 getting next capture
Thread 6 is waiting
Thread 5 getting next capture
Thread 5 is waiting
Thread 7 getting next capture
Thread 7 is waiting
Thread 8 getting next capture
Thread 8 is waiting
Thread 9 getting next capture
Thread 9 is waiting
Thread 10 getting next capture
Thread 10 is waiting
Thread 11 getting next capture
Thread 11 is waiting
Thread 12 getting next capture
Thread 12 is waiting
Starting services...
Worker thread IspHw statsComplete start
Worker thread IspHw frameComplete start
Worker thread IspHw statsComplete start
Worker thread IspHw frameComplete start
Worker thread CaptureScheduler checkFramePending start
Worker thread CaptureScheduler frameStart start
Worker thread V4L2CaptureScheduler checkCaptureComplete start
Worker thread V4L2CaptureScheduler issueCaptures start
Worker thread PS handleRequests start
getInstance: s_instance(0x7f707f0c90)
getInstance: s_instance(0x7f707f0c90)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0x7f707f3290)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0x7f707f8700)
AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
Services are started
NvPclSetHotplugCallback: ++++++++++++++++++++++
---- Imager: Calibration blob file handling supported in this build ----
NvPclHwGetModuleList: OFParserListModules Succeeded
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
NvPclHwPrintModuleDefinition -- Name: porg_front_e2v
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: 
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: e2v-5M 6-0010
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: porg_front_e2v position1
NvPclModuleListInitialize: No plugable modules on platform
getHotplugMonitor: Getting hotplug monitor instance
 initializeHotplug++
 hotPlugfunc ++ 
 addWatch: Watch added wd='1'
CheckProcDTExists: INFO: accessing /proc/device-tree/tegra-virtual-camera-platform/modules; No such file or directory
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
setHotplugCallback: Registered new callback client
NvPclSetHotplugCallback: ----------------------
NvPclOpen: ++++++++++++++++++++++
 hotPlugfunc: reading from inotify FD, Thread waiting 
NvPclStateControllerOpen: Found GUID 1 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f707382a0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f70780da0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f704e3710
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f707418d0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7084a850
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7084a8e0
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16
CheckOverridesPermissions: stat(/Calib/camera_override.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/camera_overrides.isp] 2/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/camera_overrides.isp] 5/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/porg_front_e2v.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/porg_front_e2v.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/porg_front_e2v.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/porg_front_e2v.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/porg_front_e2v.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/porg_front_e2v.isp) call failed
---- imager: No override file found. ----
Imager: looking for override file [/mnt/factory/camera/factory.bin] 1/16
Imager: looking for override file [/Calib/factory.bin] 2/16
Imager: looking for override file [/Calib/calibration.bin] 3/16
Imager: looking for override file [(null)] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
Imager: looking for override file [/data/vendor/nvcam/settings/factory.bin] 1/16
Imager: looking for override file [/data/vendor/nvcam/settings/porg_front_e2v.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/porg_front_e2v.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/porg_front_e2v.bin] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_lens)
NvPclCreateDriver: Found a Driver name match (v4l2_lens)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_lens ++++++++++++++++++
initialize WARNING: No focuser object, allocating for lens
OFDPropertyCopyToLong: could not read property [maxslewrate]
loadLensMetadata: maxslewrate not set in driver
NvPclInitializeDrivers: NvOdmLensStub ------------------
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
(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
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f707418d0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f7084a850
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f7084a8e0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f707382a0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f70780da0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f704e3710
NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0xA000E)
NvPclStateControllerClose: Module porg_front_e2v closed
NvPclOpen: PCL Open Failed. Error: 0xf
NvPclClose: ++++++++++++++++++++++
NvPclClose: ----------------------
NvPclOpen: ----------------------
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 0 has failed. === nvgstcapture-1.0[16697]: CameraProvider initialized (0x7f708470b0)

Here’s the “interesting” part of the devicetree:

/dts-v1/;

/memreserve/	0x0000000080000000 0x0000000000020000;
/ {
	compatible = "nvidia,jetson-nano\0nvidia,tegra210";
	interrupt-parent = <0x01>;
	#address-cells = <0x02>;
	#size-cells = <0x02>;
	nvidia,dtbbuildtime = "Feb  3 2020\017:49:31";
	nvidia,boardids = "3448";
	nvidia,proc-boardid = "3448";
	nvidia,pmu-boardid = "3448";
	nvidia,fastboot-usb-pid = <0xb442>;
	model = "Vigilate A2 5M";
	nvidia,dtsfilename = "../arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t210/porg/kernel-dts/tegra210-p3448-0000-p3449-0000-b00-vigilate-a2-5M.dts";

	.....

	host1x {
		compatible = "nvidia,tegra210-host1x\0simple-bus";
		power-domains = <0x23>;
		wakeup-capable;
		reg = <0x00 0x50000000 0x00 0x34000>;
		interrupts = <0x00 0x41 0x04 0x00 0x43 0x04>;
		iommus = <0x2b 0x06>;
		#address-cells = <0x02>;
		#size-cells = <0x02>;
		status = "okay";
		ranges;
		clocks = <0x21 0x1f2 0x21 0x77>;
		clock-names = "host1x\0actmon";
		resets = <0x21 0x1c>;
		nvidia,ch-base = <0x00>;
		nvidia,nb-channels = <0x0c>;
		nvidia,nb-hw-pts = <0xc0>;
		nvidia,pts-base = <0x00>;
		nvidia,nb-pts = <0xc0>;
		assigned-clocks = <0x21 0x7a 0x21 0x92 0x21 0x91 0x21 0x90 0x21 0xd0 0x21 0x166 0x21 0xe4 0x21 0x142 0x21 0x03>;
		assigned-clock-parents = <0x21 0xf3 0x21 0xf3 0x21 0xf3 0x21 0xf3 0x21 0xf3 0x21 0x7a 0x21 0xed 0x21 0xed 0x21 0x142>;
		assigned-clock-rates = <0x16e3600 0x6146580 0x6146580 0x6146580 0x6146580 0x16e3600 0x18519600 0x18519600 0x00>;
		linux,phandle = <0x78>;
		phandle = <0x78>;

		vi {
			compatible = "nvidia,tegra210-vi\0simple-bus";
			power-domains = <0x59>;
			reg = <0x00 0x54080000 0x00 0x40000>;
			interrupts = <0x00 0x45 0x04>;
			iommus = <0x2b 0x12>;
			status = "okay";
			clocks = <0x21 0x210 0x21 0x34 0x21 0x90 0x21 0x91 0x21 0x92 0x21 0xd0 0x21 0x51 0x21 0xfa 0x21 0x133>;
			clock-names = "vi\0csi\0cilab\0cilcd\0cile\0vii2c\0i2cslow\0pll_d\0pll_d_dsi_out";
			resets = <0x21 0x14>;
			reset-names = "vi";
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			avdd_dsi_csi-supply = <0x36>;
			num-channels = <0x01>;
			linux,phandle = <0xbd>;
			phandle = <0xbd>;

			ports {
				#address-cells = <0x01>;
				#size-cells = <0x00>;

				port@0 {
					reg = <0x00>;
					linux,phandle = <0xbe>;
					phandle = <0xbe>;

					endpoint {
						port-index = <0x02>;
						bus-width = <0x04>;
						remote-endpoint = <0x5a>;
						linux,phandle = <0x75>;
						phandle = <0x75>;
					};
				};

				port@1 {
					reg = <0x01>;
					linux,phandle = <0xcd>;
					phandle = <0xcd>;

					endpoint {
						port-index = <0x04>;
						bus-width = <0x02>;
						remote-endpoint = <0x5b>;
						linux,phandle = <0x77>;
						phandle = <0x77>;
					};
				};
			};
		};

		vi-bypass {
			compatible = "nvidia,tegra210-vi-bypass";
			status = "okay";
		};

		.....

		i2c@546c0000 {
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			compatible = "nvidia,tegra210-vii2c";
			reg = <0x00 0x546c0000 0x00 0x34000>;
			iommus = <0x2b 0x12>;
			interrupts = <0x00 0x11 0x04>;
			scl-gpio = <0x56 0x92 0x00>;
			sda-gpio = <0x56 0x93 0x00>;
			status = "okay";
			clocks = <0x21 0xd0 0x21 0x51 0x21 0x1c>;
			clock-names = "vii2c\0i2cslow\0host1x";
			resets = <0x21 0xd0>;
			reset-names = "vii2c";
			clock-frequency = <0x61a80>;
			bus-pullup-supply = <0x42>;
			avdd_dsi_csi-supply = <0x36>;
			linux,phandle = <0xa8>;
			phandle = <0xa8>;

			rbpcv2_imx219_a@10 {
				compatible = "nvidia,imx219";
				reg = <0x10>;
				devnode = "video0";
				physical_w = "3.680";
				physical_h = "2.760";
				sensor_model = "imx219";
				use_sensor_mode_id = "true";
				status = "disabled";
				reset-gpios = <0x56 0x97 0x00>;
				linux,phandle = <0xb9>;
				phandle = <0xb9>;

				mode0 {
					mclk_khz = "24000";
					num_lanes = [32 00];
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = [30 00];
					active_w = "3264";
					active_h = "2464";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = [31 00];
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";
					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16";
					max_gain_val = "170";
					step_gain_val = [31 00];
					default_gain = "16";
					min_hdr_ratio = [31 00];
					max_hdr_ratio = [31 00];
					min_framerate = "2000000";
					max_framerate = "21000000";
					step_framerate = [31 00];
					default_framerate = "21000000";
					min_exp_time = "13";
					max_exp_time = "683709";
					step_exp_time = [31 00];
					default_exp_time = "2495";
					embedded_metadata_height = [32 00];
				};

				mode1 {
					mclk_khz = "24000";
					num_lanes = [32 00];
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = [30 00];
					active_w = "3264";
					active_h = "1848";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = [31 00];
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";
					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16";
					max_gain_val = "170";
					step_gain_val = [31 00];
					default_gain = "16";
					min_hdr_ratio = [31 00];
					max_hdr_ratio = [31 00];
					min_framerate = "2000000";
					max_framerate = "28000000";
					step_framerate = [31 00];
					default_framerate = "28000000";
					min_exp_time = "13";
					max_exp_time = "683709";
					step_exp_time = [31 00];
					default_exp_time = "2495";
					embedded_metadata_height = [32 00];
				};

				mode2 {
					mclk_khz = "24000";
					num_lanes = [32 00];
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = [30 00];
					active_w = "1920";
					active_h = "1080";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = [31 00];
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";
					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16";
					max_gain_val = "170";
					step_gain_val = [31 00];
					default_gain = "16";
					min_hdr_ratio = [31 00];
					max_hdr_ratio = [31 00];
					min_framerate = "2000000";
					max_framerate = "30000000";
					step_framerate = [31 00];
					default_framerate = "30000000";
					min_exp_time = "13";
					max_exp_time = "683709";
					step_exp_time = [31 00];
					default_exp_time = "2495";
					embedded_metadata_height = [32 00];
				};

				mode3 {
					mclk_khz = "24000";
					num_lanes = [32 00];
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = [30 00];
					active_w = "1280";
					active_h = "720";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = [31 00];
					mclk_multiplier = "9.33";
					pix_clk_hz = "182400000";
					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16";
					max_gain_val = "170";
					step_gain_val = [31 00];
					default_gain = "16";
					min_hdr_ratio = [31 00];
					max_hdr_ratio = [31 00];
					min_framerate = "2000000";
					max_framerate = "60000000";
					step_framerate = [31 00];
					default_framerate = "60000000";
					min_exp_time = "13";
					max_exp_time = "683709";
					step_exp_time = [31 00];
					default_exp_time = "2495";
					embedded_metadata_height = [32 00];
				};

				mode4 {
					mclk_khz = "24000";
					num_lanes = [32 00];
					tegra_sinterface = "serial_a";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = [30 00];
					active_w = "1280";
					active_h = "720";
					pixel_t = "bayer_rggb";
					readout_orientation = "90";
					line_length = "3448";
					inherent_gain = [31 00];
					mclk_multiplier = "9.33";
					pix_clk_hz = "169600000";
					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = "16";
					max_gain_val = "170";
					step_gain_val = [31 00];
					default_gain = "16";
					min_hdr_ratio = [31 00];
					max_hdr_ratio = [31 00];
					min_framerate = "2000000";
					max_framerate = "120000000";
					step_framerate = [31 00];
					default_framerate = "120000000";
					min_exp_time = "13";
					max_exp_time = "683709";
					step_exp_time = [31 00];
					default_exp_time = "2495";
					embedded_metadata_height = [32 00];
				};

				ports {
					#address-cells = <0x01>;
					#size-cells = <0x00>;

					port@0 {
						reg = <0x00>;

						endpoint {
							port-index = <0x00>;
							bus-width = <0x02>;
							remote-endpoint = <0x73>;
							linux,phandle = <0xc2>;
							phandle = <0xc2>;
						};
					};
				};
			};

			ina3221x@40 {
				compatible = "ti,ina3221x";
				reg = <0x40>;
				status = "okay";
				ti,trigger-config = <0x7003>;
				ti,continuous-config = <0x7607>;
				ti,enable-forced-continuous;
				#io-channel-cells = <0x01>;
				#address-cells = <0x01>;
				#size-cells = <0x00>;
				linux,phandle = <0xad>;
				phandle = <0xad>;

				channel@0 {
					reg = <0x00>;
					ti,rail-name = "POM_5V_GPU";
					ti,shunt-resistor-mohm = <0x05>;
				};

				channel@1 {
					reg = <0x01>;
					ti,rail-name = "POM_5V_IN";
					ti,shunt-resistor-mohm = <0x05>;
				};

				channel@2 {
					reg = <0x02>;
					ti,rail-name = "POM_5V_CPU";
					ti,shunt-resistor-mohm = <0x05>;
				};
			};

			rbpcv2_e2v_a@10 {
				compatible = "teledyne,e2v-5M";
				reg = <0x10>;
				status = "okay";
				devnode = "video0";
				physical_w = "7.24";
				physical_h = "5.49";
				sensor_model = "e2v-5M";
				use_sensor_mode_id = "false";
				reset-gpios = <0x56 0x97 0x01>;
				linux,phandle = <0x116>;
				phandle = <0x116>;

				mode0 {
					mclk_khz = "800000";
					num_lanes = [34 00];
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = [30 00];
					active_w = "2560";
					active_h = "1936";
					pixel_t = "bayer_rggb";
					readout_orientation = [30 00];
					line_length = "2600";
					inherent_gain = [31 00];
					mclk_multiplier = "1.00";
					pix_clk_hz = "50000000";
					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = [32 00];
					max_gain_val = "14";
					step_gain_val = [31 00];
					default_gain = [38 00];
					min_hdr_ratio = [31 00];
					max_hdr_ratio = [31 00];
					min_framerate = "60000000";
					max_framerate = "60000000";
					step_framerate = [31 00];
					default_framerate = "60000000";
					min_exp_time = "13";
					max_exp_time = "683709";
					step_exp_time = [31 00];
					default_exp_time = "2495";
					embedded_metadata_height = [32 00];
				};

				mode1 {
					mclk_khz = "800000";
					num_lanes = [34 00];
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = [30 00];
					active_w = "2560";
					active_h = "1936";
					pixel_t = "bayer_rggb";
					readout_orientation = [30 00];
					line_length = "2600";
					inherent_gain = [31 00];
					mclk_multiplier = "1.00";
					pix_clk_hz = "50000000";
					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = [32 00];
					max_gain_val = "14";
					step_gain_val = [31 00];
					default_gain = [38 00];
					min_hdr_ratio = [31 00];
					max_hdr_ratio = [31 00];
					min_framerate = "60000000";
					max_framerate = "60000000";
					step_framerate = [31 00];
					default_framerate = "60000000";
					min_exp_time = "13";
					max_exp_time = "683709";
					step_exp_time = [31 00];
					default_exp_time = "2495";
					embedded_metadata_height = [32 00];
				};

				mode2 {
					mclk_khz = "1200000";
					num_lanes = [34 00];
					tegra_sinterface = "serial_e";
					phy_mode = "DPHY";
					discontinuous_clk = "yes";
					dpcm_enable = "false";
					cil_settletime = [30 00];
					active_w = "2560";
					active_h = "1936";
					pixel_t = "bayer_rggb";
					readout_orientation = [30 00];
					line_length = "2600";
					inherent_gain = [31 00];
					mclk_multiplier = [31 00];
					pix_clk_hz = "50000000";
					gain_factor = "16";
					framerate_factor = "1000000";
					exposure_factor = "1000000";
					min_gain_val = [32 00];
					max_gain_val = "14";
					step_gain_val = [31 00];
					default_gain = [38 00];
					min_hdr_ratio = [31 00];
					max_hdr_ratio = [31 00];
					min_framerate = "60000000";
					max_framerate = "60000000";
					step_framerate = [31 00];
					default_framerate = "60000000";
					min_exp_time = "13";
					max_exp_time = "683709";
					step_exp_time = [31 00];
					default_exp_time = "2495";
					embedded_metadata_height = [32 00];
				};

				ports {
					#address-cells = <0x01>;
					#size-cells = <0x00>;

					port@0 {
						reg = <0x00>;

						endpoint {
							port-index = <0x02>;
							bus-width = <0x04>;
							remote-endpoint = <0x73>;
							linux,phandle = <0x74>;
							phandle = <0x74>;
						};
					};
				};
			};
		};

		nvcsi {
			num-channels = <0x01>;
			#address-cells = <0x01>;
			#size-cells = <0x00>;
			linux,phandle = <0xbf>;
			phandle = <0xbf>;

			channel@0 {
				reg = <0x00>;
				linux,phandle = <0xc0>;
				phandle = <0xc0>;

				ports {
					#address-cells = <0x01>;
					#size-cells = <0x00>;

					port@0 {
						reg = <0x00>;
						linux,phandle = <0xc1>;
						phandle = <0xc1>;

						endpoint@0 {
							port-index = <0x02>;
							bus-width = <0x04>;
							remote-endpoint = <0x74>;
							linux,phandle = <0x73>;
							phandle = <0x73>;
						};
					};

					port@1 {
						reg = <0x01>;
						linux,phandle = <0xc3>;
						phandle = <0xc3>;

						endpoint@1 {
							remote-endpoint = <0x75>;
							linux,phandle = <0x5a>;
							phandle = <0x5a>;
						};
					};
				};
			};

			channel@1 {
				reg = <0x01>;
				linux,phandle = <0xcf>;
				phandle = <0xcf>;

				ports {
					#address-cells = <0x01>;
					#size-cells = <0x00>;

					port@2 {
						reg = <0x00>;
						linux,phandle = <0xd0>;
						phandle = <0xd0>;

						endpoint@2 {
							port-index = <0x04>;
							bus-width = <0x02>;
							remote-endpoint = <0x76>;
							linux,phandle = <0xa9>;
							phandle = <0xa9>;
						};
					};

					port@3 {
						reg = <0x01>;
						linux,phandle = <0xd1>;
						phandle = <0xd1>;

						endpoint@3 {
							remote-endpoint = <0x77>;
							linux,phandle = <0x5b>;
							phandle = <0x5b>;
						};
					};
				};
			};
		};
	};

	.....

	chosen {
		nvidia,tegra-porg-sku;
		stdout-path = "/serial@70006000";
		nvidia,tegra-always-on-personality;
		bootargs = "kmemleak=on earlycon=uart8250,mmio32,0x70006000";
		nvidia,bootloader-xusb-enable;
		nvidia,bootloader-vbus-enable = <0x01>;
		nvidia,fastboot_without_usb;
		nvidia,gpu-disable-power-saving;
		board-has-eeprom;
		firmware-blob-partition = "RP4";

		verified-boot {
			poweroff-on-red-state;
		};
	};

	.....

};

I’ve been stuck on this for some days now, any hints ?

Thanks a lot in advance for your help !

Regards
Davide Ciminaghi

Have a check the content of the tegra-camera-platform.
Use dtc to dump the /proc/device-tree to check would be great.

@ShaneCCC: yes sorry, that was missing.

root@localhost:~# dtc -I fs -O dts /proc/device-tree
.....

tegra-camera-platform {
                isp_bw_margin_pct = <0x19>;
                compatible = "nvidia, tegra-camera-platform";
                max_pixel_rate = <0x3a980>;
                num_csi_lanes = <0x4>;
                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 = <0x8>;
                isp_peak_byte_per_pixel = <0x5>;

                modules {

                        module0 {
                                badge = "porg_front_RBPCV2";
                                phandle = <0xba>;
                                position = "front";
                                linux,phandle = <0xba>;
                                orientation = [31 00];

                                drivernode1 {
                                        pcl_id = "v4l2_lens";
                                        proc-device-tree = "/proc/device-tree/lens_imx219@RBPCV2/";
                                        phandle = <0xbc>;
                                        linux,phandle = <0xbc>;
                                };

                                drivernode0 {
                                        devname = "e2v-5M 6-0010";
                                        pcl_id = "v4l2_sensor";
                                        proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/rbpcv2_e2v_a@10";
                                        phandle = <0xbb>;
                                        linux,phandle = <0xbb>;
                                };
                        };

                        module1 {
                                badge = "porg_rear_RBPCV2";
                                status = "disabled";
                                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>;
                                };
                        };
                };
        };
....

root@localhost:~# ls /proc/device-tree/lens_imx219@RBPCV2/
aperture  f_number  focal_length  hyper_focal  min_focus_distance  name
root@localhost:~# ls /proc/device-tree/host1x/i2c@546c0000/rbpcv2_e2v_a@10
compatible     mode0  name        physical_w  reset-gpios   use_sensor_mode_id
devnode        mode1  phandle     ports       sensor_model
linux,phandle  mode2  physical_h  reg         status

I had no clue about the lens driver and dts, so just took it from imx219 (names are still there, as
you can see).

please let me know if you need more details.

Thanks and regards
Davide

Does the kernel driver name the same with devname? Should it be e2v instead of “e2v-5M” ?

devname = “e2v-5M 6-0010”

I’ve written one driver for two very similar sensors (e2v, 2Mpixel and 5Mpixel).
That’s why the device got the -5M postfix.
I’ll try to fix it, but as far as I know this should only have to do with
automatic module loading. Does it also affect the argus camera source gstreamer plugin ?

Thanks a lot for your help
Davide

ok, I temporarily renamed the driver as e2v-5M and now I have:

root@localhost:~# ls /sys/bus/i2c/drivers/e2v-5M/                               
6-0010  bind  module  uevent  unbind
root@localhost:~# cat /sys/bus/i2c/devices/6-0010/name                          
e2v-5M

devicetree fragment:

............
           drivernode0 {
                                        devname = "e2v-5M 6-0010";
                                        pcl_id = "v4l2_sensor";
                                        proc-device-tree = "/proc/device-tree/host1x/i2c@546c0000/rbpcv2_e2v_a@10";
            ............

Here’s the daemon log at the moment, as I try to start video capture:

=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections...=== nvgstcapture-1.0[16646]: Connection established (7F758151D0)Thread 1 getting next capture
Thread 1 is waiting
Thread 2 getting next capture
Thread 2 is waiting
Thread 3 getting next capture
Thread 3 is waiting
Thread 4 getting next capture
Thread 4 is waiting
Thread 5 getting next capture
Thread 5 is waiting
Thread 6 getting next capture
Thread 6 is waiting
Thread 7 getting next capture
Thread 7 is waiting
Thread 8 getting next capture
Thread 10 getting next capture
Thread 11 getting next capture
Thread 9 getting next capture
Thread 8 is waiting
Thread 10 is waiting
Thread 11 is waiting
Thread 9 is waiting
Thread 12 getting next capture
Thread 12 is waiting
Starting services...
Worker thread IspHw statsComplete start
Worker thread IspHw frameComplete start
Worker thread IspHw statsComplete start
Worker thread IspHw frameComplete start
Worker thread CaptureScheduler checkFramePending start
Worker thread CaptureScheduler frameStart start
Worker thread V4L2CaptureScheduler checkCaptureComplete start
Worker thread V4L2CaptureScheduler issueCaptures start
Worker thread PS handleRequests start
getInstance: s_instance(0x7f707f0d50)
getInstance: s_instance(0x7f707f0d50)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0x7f707f3350)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0x7f707f87c0)
AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
Services are started
NvPclSetHotplugCallback: ++++++++++++++++++++++
---- Imager: Calibration blob file handling supported in this build ----
NvPclHwGetModuleList: OFParserListModules Succeeded
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
NvPclHwMatchPartNum: Found calibration Part#: RBPCV2:"RBPCV2"
NvPclHwPrintModuleDefinition -- Name: porg_front_RBPCV2
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: 
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: e2v-5M 6-0010
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: porg_front_RBPCV2 position1
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
getHotplugMonitor: Getting hotplug monitor instance
 initializeHotplug++
 hotPlugfunc ++ 
 addWatch: Watch added wd='1'
CheckProcDTExists: INFO: accessing /proc/device-tree/tegra-virtual-camera-platform/modules; No such file or directory
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
setHotplugCallback: Registered new callback client
NvPclSetHotplugCallback: ----------------------
 hotPlugfunc: reading from inotify FD, Thread waiting 
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 1 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f707382a0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f707665c0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f704e3710
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f70766530
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f70847ea0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f70848240
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16
CheckOverridesPermissions: stat(/Calib/camera_override.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/camera_overrides.isp] 2/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/camera_overrides.isp] 5/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/porg_front_RBPCV2.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/porg_front_RBPCV2.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/porg_front_RBPCV2.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/porg_front_RBPCV2.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/porg_front_RBPCV2.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/porg_front_RBPCV2.isp) call failed
---- imager: No override file found. ----
Imager: looking for override file [/mnt/factory/camera/factory.bin] 1/16
Imager: looking for override file [/Calib/factory.bin] 2/16
Imager: looking for override file [/Calib/calibration.bin] 3/16
Imager: looking for override file [(null)] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
Imager: looking for override file [/data/vendor/nvcam/settings/factory.bin] 1/16
Imager: looking for override file [/data/vendor/nvcam/settings/porg_front_RBPCV2.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/porg_front_RBPCV2.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/porg_front_RBPCV2.bin] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_lens)
NvPclCreateDriver: Found a Driver name match (v4l2_lens)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_lens ++++++++++++++++++
initialize WARNING: No focuser object, allocating for lens
OFDPropertyCopyToLong: could not read property [maxslewrate]
loadLensMetadata: maxslewrate not set in driver
NvPclInitializeDrivers: NvOdmLensStub ------------------
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
OFDPropertyGetString: could not read property [use_decibel_gain]
OFDPropertyGetString: could not read property [delayed_gain]
OFDPropertyCopyToLong: could not read property [has-eeprom]
checkDriverVersion: Mixed or missing V4L2 controls!
checkDriverVersion: Make sure your kernel driver implements either
checkDriverVersion: V4L2_m_cidFrameLength + V4L2_m_cidCoarseTime(_SHORT)
checkDriverVersion:      or  
checkDriverVersion: V4L2_m_cidFrameRate + V4L2_m_cidExposure
(NvOdmDevice) Error BadParameter:  (in dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function checkDriverVersion(), line 401)
(NvOdmDevice) Error BadParameter:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function findCustomCids(), line 330)
(NvOdmDevice) Error BadParameter:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initializeV4L2Items(), line 241)
(NvOdmDevice) Error BadParameter:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 116)
NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
NvPclStartPlatformDrivers: Failed to start module drivers
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f70766530
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f70847ea0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f70848240
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f707382a0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f707665c0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f704e3710
NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0x4)
NvPclStateControllerClose: Module porg_front_RBPCV2 closed
NvPclOpen: PCL Open Failed. Error: 0xf
NvPclClose: ++++++++++++++++++++++
NvPclClose: ----------------------
NvPclOpen: ----------------------
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 0 has failed. === nvgstcapture-1.0[16646]: CameraProvider initialized (0x7f70847610)

Looks like the original error log, at first glance.

Thanks
Davide

Your driver are implemented the mixed V4L2 controls. Please remove the auto_exposure and exposure controls to verify it.

Mixed or missing V4L2 controls!

https://devtalk.nvidia.com/default/topic/993852/jetson-tx1/mt9m021-streaming/post/5111306/#5111306

Following your suggestion I can see the following:

root@localhost:~# nvgstcapture-1.0 --camsrc=1 --mode=2 --cap-dev-node=0 
.....
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4 
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 2560 x 1936 FR = 59.999999 fps Duration = 16666667 ; Analog Gain ran;

GST_ARGUS: 2560 x 1936 FR = 59.999999 fps Duration = 16666667 ; Analog Gain ran;

GST_ARGUS: 2560 x 1936 FR = 59.999999 fps Duration = 16666667 ; Analog Gain ran;

GST_ARGUS: Running with following settings:
   Camera index = 0 
   Camera mode  = 2 
   Output Stream W = 2560 H = 1936 
   seconds to Run    = 0 
   Frame Rate = 59.999999 
GST_ARGUS: PowerService: requested_clock_Hz=2016000
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.

After this, the nvargus-daemon is spitting out tons of errors, apparently.

I’m trying to understand the logs, will let you know if more help is needed.

Thanks a lot again for the moment and regards

Davide

Hi,

now we have 2M and 5M working fine with v4l2 (we had a problem on the 5M sensor), so we’re back to
argus. When I start an acquisition like this:

root@localhost:~# killall nvargus-daemon 
root@localhost:~# export enableCamScfLogs=5
root@localhost:~# export enableCamPclLogs=5
root@localhost:~# /usr/sbin/nvargus-daemon 2>&1 | tee daemon_log

and:

nvgstcapture-1.0 --camsrc=1 --mode=2 --cap-dev-node=0

I get the following log from the daemon:

=== NVIDIA Libargus Camera Service (0.97.3)=== Listening for connections...=== nvgstcapture-1.0[16988]: Connection established (7F83FC11D0)Thread 1 getting next capture
Thread 1 is waiting
Thread 2 getting next capture
Thread 2 is waiting
Thread 3 getting next capture
Thread 3 is waiting
Thread 4 getting next capture
Thread 4 is waiting
Thread 5 getting next capture
Thread 5 is waiting
Thread 6 getting next capture
Thread 6 is waiting
Thread 7 getting next capture
Thread 7 is waiting
Thread 8 getting next capture
Thread 8 is waiting
Thread 9 getting next capture
Thread 9 is waiting
Thread 10 getting next capture
Thread 10 is waiting
Thread 11 getting next capture
Thread 11 is waiting
Thread 12 getting next capture
Thread 12 is waiting
Starting services...
Worker thread IspHw statsComplete start
Worker thread IspHw frameComplete start
Worker thread IspHw statsComplete start
Worker thread IspHw frameComplete start
Worker thread CaptureScheduler checkFramePending start
Worker thread CaptureScheduler frameStart start
Worker thread V4L2CaptureScheduler checkCaptureComplete start
Worker thread V4L2CaptureScheduler issueCaptures start
Worker thread PS handleRequests start
getInstance: s_instance(0x7f7c7f0da0)
getInstance: s_instance(0x7f7c7f0da0)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0x7f7c7572c0)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0x7f7c7f8760)
AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
Services are started
NvPclSetHotplugCallback: ++++++++++++++++++++++
---- Imager: Calibration blob file handling supported in this build ----
NvPclHwGetModuleList: OFParserListModules Succeeded
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
NvPclHwMatchPartNum: Found calibration Part#: RBPCV2:"RBPCV2"
NvPclHwPrintModuleDefinition -- Name: porg_front_RBPCV2
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_lens
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: 
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[1].DevName: e2v 6-0010
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: porg_front_RBPCV2 position1
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
NvPclHwScanExternalCameras -- adding video0 to discover list
getHotplugMonitor: Getting hotplug monitor instance
 initializeHotplug++
 hotPlugfunc ++ 
 addWatch: Watch added wd='1'
CheckProcDTExists: INFO: accessing /proc/device-tree/tegra-virtual-camera-platform/modules; No such file or directory
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
 hotPlugfunc: reading from inotify FD, Thread waiting 
setHotplugCallback: Registered new callback client
NvPclSetHotplugCallback: ----------------------
NvPclOpen: ++++++++++++++++++++++
NvPclStateControllerOpen: Found GUID 1 match at index[0]
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7c7382a0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7c78a2f0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7c748770
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7c4e3710
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7c73cdd0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f7c73cd40
LoadOverridesFile: looking for override file [/Calib/camera_override.isp] 1/16
CheckOverridesPermissions: stat(/Calib/camera_override.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/camera_overrides.isp] 2/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/camera_overrides.isp] 3/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/camera_overrides.isp] 4/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/camera_overrides.isp] 5/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/camera_overrides.isp) call failed
LoadOverridesFile: looking for override file [/data/vendor/nvcam/settings/porg_front_RBPCV2.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/porg_front_RBPCV2.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/porg_front_RBPCV2.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/porg_front_RBPCV2.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/porg_front_RBPCV2.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/porg_front_RBPCV2.isp) call failed
---- imager: No override file found. ----
Imager: looking for override file [/mnt/factory/camera/factory.bin] 1/16
Imager: looking for override file [/Calib/factory.bin] 2/16
Imager: looking for override file [/Calib/calibration.bin] 3/16
Imager: looking for override file [(null)] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
Imager: looking for override file [/data/vendor/nvcam/settings/factory.bin] 1/16
Imager: looking for override file [/data/vendor/nvcam/settings/porg_front_RBPCV2.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/porg_front_RBPCV2.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/porg_front_RBPCV2.bin] 4/16
Imager: looking for override file [(null)] 5/16
Imager: looking for override file [(null)] 6/16
Imager: looking for override file [(null)] 7/16
Imager: looking for override file [(null)] 8/16
Imager: looking for override file [(null)] 9/16
Imager: looking for override file [(null)] 10/16
Imager: looking for override file [(null)] 11/16
Imager: looking for override file [(null)] 12/16
Imager: looking for override file [(null)] 13/16
Imager: looking for override file [(null)] 14/16
Imager: looking for override file [(null)] 15/16
Imager: looking for override file [(null)] 16/16
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_lens)
NvPclCreateDriver: Found a Driver name match (v4l2_lens)
NvPclCreateDriver: Found NvPcl Driver Hal dev_name match (v4l2_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
NvPclInitializeDrivers: v4l2_lens ++++++++++++++++++
initialize WARNING: No focuser object, allocating for lens
OFDPropertyCopyToLong: could not read property [maxslewrate]
loadLensMetadata: maxslewrate not set in driver
NvPclInitializeDrivers: NvOdmLensStub ------------------
NvPclInitializeDrivers: v4l2_sensor ++++++++++++++++++
OFDPropertyGetString: could not read property [devnode-bus]
OFDPropertyGetString: could not read property [use_decibel_gain]
OFDPropertyGetString: could not read property [delayed_gain]
OFDPropertyCopyToLong: could not read property [has-eeprom]
OFDPropertyGetString: could not read property [type]
loadSubType: Sensor type missing in DT, 206
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode0.vc_id]
OFDPropertyCopyToLong: could not read property [mode0.csi_pixel_bit_depth]
OFDPropertyCopyToLong: could not read property [mode0.dynamic_pixel_bit_depth]
OFDPropertyGetString: could not read property [mode0.mode_type]
mode 0: Failed to load mode type
OFDPropertyGetString: could not read property [mode0.pixel_phase]
mode 0: Failed to load pixel phase
OFDPropertyCopyToLongLong: could not read property [mode0.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode0.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode0.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode0.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode0.x_start]
OFDPropertyGetString: could not read property [mode0.y_start]
OFDPropertyGetString: could not read property [mode0.x_end]
OFDPropertyGetString: could not read property [mode0.y_end]
OFDPropertyGetString: could not read property [mode0.h_scaling]
OFDPropertyGetString: could not read property [mode0.v_scaling]
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode1.vc_id]
OFDPropertyCopyToLong: could not read property [mode1.csi_pixel_bit_depth]
OFDPropertyCopyToLong: could not read property [mode1.dynamic_pixel_bit_depth]
OFDPropertyGetString: could not read property [mode1.mode_type]
mode 1: Failed to load mode type
OFDPropertyGetString: could not read property [mode1.pixel_phase]
mode 1: Failed to load pixel phase
OFDPropertyCopyToLongLong: could not read property [mode1.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode1.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode1.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode1.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode1.x_start]
OFDPropertyGetString: could not read property [mode1.y_start]
OFDPropertyGetString: could not read property [mode1.x_end]
OFDPropertyGetString: could not read property [mode1.y_end]
OFDPropertyGetString: could not read property [mode1.h_scaling]
OFDPropertyGetString: could not read property [mode1.v_scaling]
OFDPropertyCopyToLong: could not read property [set_mode_delay_ms]
OFDPropertyCopyToLong: could not read property [mode2.vc_id]
OFDPropertyCopyToLong: could not read property [mode2.csi_pixel_bit_depth]
OFDPropertyCopyToLong: could not read property [mode2.dynamic_pixel_bit_depth]
OFDPropertyGetString: could not read property [mode2.mode_type]
mode 2: Failed to load mode type
OFDPropertyGetString: could not read property [mode2.pixel_phase]
mode 2: Failed to load pixel phase
OFDPropertyCopyToLongLong: could not read property [mode2.serdes_pix_clk_hz]
OFDPropertyCopyToLongLong: could not read property [mode2.exp_time_1h]
OFDPropertyCopyToFloat: could not read property [mode2.gain_step_pitch]
OFDPropertyCopyToLong: could not read property [mode2.embedded_metadata_width]
OFDPropertyGetString: could not read property [mode2.x_start]
OFDPropertyGetString: could not read property [mode2.y_start]
OFDPropertyGetString: could not read property [mode2.x_end]
OFDPropertyGetString: could not read property [mode2.y_end]
OFDPropertyGetString: could not read property [mode2.h_scaling]
OFDPropertyGetString: could not read property [mode2.v_scaling]
initialize: Loaded Driver: 3 Modes Available--------------
NvPclInitializeDrivers: v4l2_sensor ------------------
NvPclOpen: ----------------------
LSC: LSC surface is not based on full res!
=== nvgstcapture-1.0[16988]: CameraProvider initialized (0x7f7c847560)sourceRegistry[0] assigned

ispRegistry[1] assigned

Using Source GUID 1
Worker thread ViCsiHw frameComplete start
Worker thread ViCsiHw frameStart start
NvPclPowerOn: +++++++++++
NvPclPowerOn: -----------
Using ISP B
NvPHSSendThroughputHints: sensorId=1, m_usecase=4, m_type=2, m_value=4294967295, m_timeout_ms=1000

SCF: Error BadValue: NvPHSSendThroughputHints (in src/common/CameraPowerHint.cpp, function sendCameraPowerHint(), line 56)
LSC: LSC surface is not based on full res!
AC plugin not present: dlopen "acplugin.so", acplugin.so: cannot open shared object file: No such file or directory
No library found, disabling AC plugin.
Worker thread CaptureDispatcher start
Must retain AR: in=2560x1936 out=640x480 enclosing=(0.00,0.00, 1.00,1.00) firstClip=(0.00,0.00, 1.01,1.00)
No output buffers for 2
InstructionList:
  + GraphSettings
      | SensorMode: 2560x1936 BayerS16RGGB 60.0fps
      | output 0: 640x480 BL U8_V8_ER 420SP
      | inputClipRect 0: (0.00,0.00, 1.00,1.00)

  + Instruction List
      | id: 0
      +  0: CCDataSetupStage
          | EstimatedIspOutLatencyFrames: 5
          | NumConcurrentCaptures: 1
          | UnprocessedYuvBufferMask: 0
      +  1: ACSynchronizeStage
      +  2: AeAfApplyStage
      +  3: AcPluginStage
          | operation: opApply
      +  4: AcMergeStage
          | IspIn: [2560, 1936]
          | IspOut0: [2560, 1936]
          | IspOut1: [0, 0]
          | IspOut2: [0, 0]
      +  5: TempBufferAcquireStage
          | Buffer Index: 2
          | BufferRequirements: 2560x1936 BL U8_V8_ER 420SP
      +  6: TempBufferAcquireStage
          | Buffer Index: 3
          | BufferRequirements: 2560x1 Pitch NonColor8
      +  7: TempBufferAcquireStage
          | Buffer Index: 4
          | BufferRequirements: 524288x1 Pitch NonColor8
      +  8: SensorISPCaptureStage
          | Source GUID: 1
          | Output A Buffer: 2
          | SensorMetadata Buffer: 3
          | Output IspStats Buffer: 4
      +  9: StatsBufferAcquireStage
          | Buffer Index: 1
          | BufferRequirements: 640x484 Pitch Y8_ER 420
      + 10: BlitStage
          | Input Buffer: 2
          | Output Buffer: 1
          | Filter: Nearest
          | Transform: None
          | Src Rect: Not used
          | Dst Rect: Not used
      + 11: StatsUpdateStage
          | Output Meta Buffer: 3
          | Output IspStats Buffer: 4
      + 12: BufferReturnStage
          | Output A Buffer: 3
      + 13: BufferReturnStage
          | Output A Buffer: 4
      + 14: AcPluginStage
          | operation: opAnalyze
      + 15: AfAnalysisStage
      + 16: BlitStage
          | Input Buffer: 2
          | Output Buffer: 0
          | Filter: Smart
          | Transform: None
          | Src Rect: [0, 0, 2560, 1936]
          | Dst Rect: Not used
      + 17: MonitorStage
      + 18: ExifStage
      + 19: MakerNoteStage
      + 20: BufferReturnStage
          | Output A Buffer: 2
      + 21: BufferReturnStage
          | Output A Buffer: 0
      + 22: MetadataReturnStage
      + 23: PerfStatsStage

Created fiber 0x7f28000b20 for CC 101 globalID 101 session 1
Thread 1 is working on CC 101 session 1 globalID 101 step 0
CC 101 session 1 completed step 0 in fiber 0x7f28000b20
cc 101(1) session 1 runCount=0 runIspOut=0, latest ccId=0
CC 101 session 1 completed step 1 in fiber 0x7f28000b20
NV AE and AfApply algorithms are active.
CC 101 session 1 completed step 2 in fiber 0x7f28000b20
CC 101 session 1 completed step 3 in fiber 0x7f28000b20
CC 101 session 1 completed step 4 in fiber 0x7f28000b20
Created fiber 0x7f28000dd0 for CC 102 globalID 102 session 1
Thread 2 is working on CC 102 session 1 globalID 102 step 0
CC 102 session 1 completed step 0 in fiber 0x7f28000dd0
cc 102(2) session 1 runCount=1 runIspOut=0, latest ccId=0
CC 102 session 1 completed step 1 in fiber 0x7f28000dd0
NV AE and AfApply algorithms are active.
CC 102 session 1 completed step 2 in fiber 0x7f28000dd0
CC 102 session 1 completed step 3 in fiber 0x7f28000dd0
CC 102 session 1 completed step 4 in fiber 0x7f28000dd0
CC 101 session 1 completed step 5 in fiber 0x7f28000b20
CC 101 session 1 completed step 6 in fiber 0x7f28000b20
CC 101 session 1 completed step 7 in fiber 0x7f28000b20
CC 101 session 1 processing step 8 in fiber 0x7f28000b20
FiberScheduler: cc 101, session 1, fiber 0x7f28000b20 in progress...

Thread 1 getting next capture
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeMode: Target mode Id(2): Resolution 2560x1936
Thread 3 is waiting
Thread 1 is waiting
CC 102 session 1 completed step 5 in fiber 0x7f28000dd0
CC 102 session 1 completed step 6 in fiber 0x7f28000dd0
CC 102 session 1 completed step 7 in fiber 0x7f28000dd0
CC 102 session 1 processing step 8 in fiber 0x7f28000dd0
FiberScheduler: cc 102, session 1, fiber 0x7f28000dd0 in progress...

Thread 2 getting next capture
Thread 2 is waiting
Thread 4 is waiting
writeFrameRate:	INPUT frameRate:60.000000
writeGain:	INPUT gainCtrl:2 analogGain:1.000000
updateOutputSettings:	OUTPUT frameRate:60.000000
updateOutputSettings:	OUTPUT analogGain:1.000000
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
writeExposure:	INPUT expTime:0.033330
updateOutputSettings:	OUTPUT expTime:0.033330
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
PowerServiceHw:addRequest: table size: before: 0, after:1
	request table for ISP 1:
	req[0]: output1 width=0, output1 height=0, output1 Bpp=0
	req[0]: output2 width=0, output2 height=0, output2 Bpp=0
	req[0]: input width=2560, input height=1936, input Bpp=10
	req[0]: output width=172, output height=130, output Bpp=16
	req[0]: input fps=60
	req[0]: guID=1, stage type=SensorIspCapture
	req[0]: clock=0 Hz, iso bw=37281 KB/s, non-iso bw=0 KB/s
	req[450]: timeout=0
PowerServiceHwIsp:setLaBw: m_bwVal_Iso=37281 and m_bwVal_NonIso=0 KBpS

PowerServiceCore:setCameraBw: totalIsoBw=37281
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
apply:+++++++++++++++++++++++
apply:-----------------------
NvPclSettingsApply: Reading PCL settings
PowerServiceHw:addRequest: table size: before: 1, after:2
	request table for ISP 1:
	req[0]: output1 width=0, output1 height=0, output1 Bpp=0
	req[0]: output2 width=0, output2 height=0, output2 Bpp=0
	req[0]: input width=2560, input height=1936, input Bpp=10
	req[0]: output width=172, output height=130, output Bpp=16
	req[0]: input fps=60
	req[0]: guID=1, stage type=SensorIspCapture
	req[0]: clock=0 Hz, iso bw=37281 KB/s, non-iso bw=0 KB/s
	req[432]: timeout=0
	req[1]: output1 width=0, output1 height=0, output1 Bpp=0
	req[1]: output2 width=0, output2 height=0, output2 Bpp=0
	req[1]: input width=2560, input height=1936, input Bpp=10
	req[1]: output width=2560, output height=1936, output Bpp=12
	req[1]: input fps=60
	req[1]: guID=1, stage type=SensorIspCapture
	req[1]: clock=0 Hz, iso bw=128376 KB/s, non-iso bw=0 KB/s
	req[450]: timeout=0
PowerServiceHw:updateRequests: table size: before: 2, after:2
	request table for ISP 1:
	req[0]: output1 width=0, output1 height=0, output1 Bpp=0
	req[0]: output2 width=0, output2 height=0, output2 Bpp=0
	req[0]: input width=2560, input height=1936, input Bpp=10
	req[0]: output width=172, output height=130, output Bpp=16
	req[0]: input fps=60
	req[0]: guID=1, stage type=SensorIspCapture
	req[0]: clock=0 Hz, iso bw=37281 KB/s, non-iso bw=0 KB/s
	req[431]: timeout=0
	req[1]: output1 width=0, output1 height=0, output1 Bpp=0
	req[1]: output2 width=0, output2 height=0, output2 Bpp=0
	req[1]: input width=2560, input height=1936, input Bpp=10
	req[1]: output width=2560, output height=1936, output Bpp=12
	req[1]: input fps=60
	req[1]: guID=1, stage type=SensorIspCapture
	req[1]: clock=0 Hz, iso bw=128376 KB/s, non-iso bw=0 KB/s
	req[449]: timeout=0
PowerServiceHwIsp:setLaBw: m_bwVal_Iso=128376 and m_bwVal_NonIso=0 KBpS

PowerServiceCore:setCameraBw: totalIsoBw=128376
SCF: Error Timeout: ISP port 0 timed out! (in src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 478)
SCF: Error Timeout:  (propagating from src/services/capture/NvIspHw.cpp, function waitIspFrameEnd(), line 519)
SCF: Error Timeout:  (propagating from src/common/Utils.cpp, function workerThread(), line 116)
SCF: Error Timeout: Worker thread IspHw frameComplete failed (in src/common/Utils.cpp, function workerThread(), line 133)
SCF: Error Timeout: ISP Stats timed out! (in src/services/capture/NvIspHw.cpp, function waitIspStatsFinished(), line 561)
Error: waitCsiFrameStart timeout guid 1
************VI/CSI Debug Registers**********
VI_CFG_INTERRUPT_MASK_0 = 0x00000000
VI_CFG_INTERRUPT_STATUS_0 = 0x00000000
VI_CSI_0_ERROR_STATUS_0 = 0x00000000
VI_CSI_0_ERROR_INT_MASK_0 = 0x00000000
VI_CSI_1_ERROR_STATUS_0 = 0x00000000
VI_CSI_1_ERROR_INT_MASK_0 = 0x00000000
CSI_CSI_PIXEL_PARSER_A_INTERRUPT_MASK_0 = 0x00000000
CSI_CSI_PIXEL_PARSER_A_STATUS_0 = 0x00000000
CSI_CSI_PIXEL_PARSER_B_INTERRUPT_MASK_0 = 0x00000000
CSI_CSI_PIXEL_PARSER_B_STATUS_0 = 0x00000000
CSI_CSI_CIL_A_INTERRUPT_MASK_0 = 0x00000000
CSI_CSI_CIL_A_STATUS_0 = 0x00000000
CSI_CSI_CILA_STATUS_0 = 0x00000000
CSI_CSI_CIL_B_INTERRUPT_MASK_0 = 0x00000000
CSI_CSI_CIL_B_STATUS_0 = 0x00000000
CSI_CSI_CILB_STATUS_0 = 0x00000000
CSI_CSI_READONLY_STATUS_0 = 0x00000000
CSI_DEBUG_CONTROL_0 = 0x37742800
CSI_DEBUG_COUNTER_0_0 = 0x00000000
CSI_DEBUG_COUNTER_1_0 = 0x00000000
CSI_DEBUG_COUNTER_2_0 = 0x00000000
*****************************************
Error: waitCsiFrameStart Something went wrong with waiting on frame start
Error: waitCsiFrameStart Something went wrong with waiting on frame start
Created fiber 0x7f28000f70 for CC 103 globalID 103 session 1
Thread 5 is working on CC 103 session 1 globalID 103 step 0
CC 103 session 1 completed step 0 in fiber 0x7f28000f70
cc 103(3) session 1 runCount=2 runIspOut=0, latest ccId=0
CC 103 session 1 completed step 1 in fiber 0x7f28000f70
NV AE and AfApply algorithms are active.
NvPclSettingsUpdate: Sending Updated Settings through PCL
NvPclSettingsApply: Applying last settings through PCL
CC 103 session 1 completed step 2 in fiber 0x7f28000f70
apply:+++++++++++++++++++++++CC 103 session 1 completed step 3 in fiber 0x7f28000f70
CC 103 session 1 completed step 4 in fiber 0x7f28000f70
CC 103 session 1 completed step 5 in fiber 0x7f28000f70
CC 103 session 1 completed step 6 in fiber 0x7f28000f70
CC 103 session 1 completed step 7 in fiber 0x7f28000f70
CC 103 session 1 processing step 8 in fiber 0x7f28000f70
FiberScheduler: cc 103, session 1, fiber 0x7f28000f70 in progress...

Thread 6 is waiting
Thread 5 getting next capture
Thread 5 is waiting

apply:-----------------------
NvPclSettingsApply: Reading PCL settings
PowerServiceCore:handleRequests: timePassed = 1521
SCF: Error Timeout: ISP Stats timed out! (in src/services/capture/NvIspHw.cpp, function waitIspStatsFinished(), line 561)
Error: waitCsiFrameStart timeout guid 1
************VI/CSI Debug Registers**********
VI_CFG_INTERRUPT_MASK_0 = 0x00000000
VI_CFG_INTERRUPT_STATUS_0 = 0x00000000
VI_CSI_0_ERROR_STATUS_0 = 0x00000000
VI_CSI_0_ERROR_INT_MASK_0 = 0x00000000
VI_CSI_1_ERROR_STATUS_0 = 0x00000000
VI_CSI_1_ERROR_INT_MASK_0 = 0x00000000
CSI_CSI_PIXEL_PARSER_A_INTERRUPT_MASK_0 = 0x00000000
CSI_CSI_PIXEL_PARSER_A_STATUS_0 = 0x00000000
CSI_CSI_PIXEL_PARSER_B_INTERRUPT_MASK_0 = 0x00000000
CSI_CSI_PIXEL_PARSER_B_STATUS_0 = 0x00000000
CSI_CSI_CIL_A_INTERRUPT_MASK_0 = 0x00000000
CSI_CSI_CIL_A_STATUS_0 = 0x00000000
CSI_CSI_CILA_STATUS_0 = 0x00000000
CSI_CSI_CIL_B_INTERRUPT_MASK_0 = 0x00000000
CSI_CSI_CIL_B_STATUS_0 = 0x00000000
CSI_CSI_CILB_STATUS_0 = 0x00000000
CSI_CSI_READONLY_STATUS_0 = 0x00000000
CSI_DEBUG_CONTROL_0 = 0x37742800
CSI_DEBUG_COUNTER_0_0 = 0x00000000
CSI_DEBUG_COUNTER_1_0 = 0x00000000
CSI_DEBUG_COUNTER_2_0 = 0x00000000
*****************************************
SCF: Error Timeout: Sending critical error event (in src/api/Session.cpp, function sendErrorEvent(), line 990)
Created fiber 0x7f28001110 for CC 104 globalID 104 session 1
Thread 7 is working on CC 104 session 1 globalID 104 step 0
CC 104 session 1 completed step 0 in fiber 0x7f28001110
cc 104(4) session 1 runCount=3 runIspOut=0, latest ccId=0
CC 104 session 1 completed step 1 in fiber 0x7f28001110
NV AE and AfApply algorithms are active.
CC 104 session 1 completed step 2 in fiber 0x7f28001110
CC 104 session 1 completed step 3 in fiber 0x7f28001110
CC 104 session 1 completed step 4 in fiber 0x7f28001110
SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
(Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
(Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
(Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
....
SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
(Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
CC 104 session 1 completed step 5 in fiber 0x7f28001110
CC 104 session 1 completed step 6 in fiber 0x7f28001110
CC 104 session 1 completed step 7 in fiber 0x7f28001110
CC 104 session 1 processing step 8 in fiber 0x7f28001110
FiberScheduler: cc 104, session 1, fiber 0x7f28001110 in progress...

Thread 8 is waiting
Thread 7 getting next capture
Thread 7 is waiting
SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
(Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
(Argus) Error InvalidState:  (propagating from src/api/ScfCaptureThread.cpp, function run(), line 109)
SCF: Error InvalidState: Session has suffered a critical failure (in src/api/Session.cpp, function capture(), line 667)
....
< SAME ERROR MESSAGE FOR SECONDS, UNTIL I KILL THE DAEMON >

Any hints on what’s going wrong ?

Thanks a lot
Davide

Looks like the VI didn’t receive data from the sensor.
Have a try to set the discontinuous_clk = “yes” or opposite value.

Hi,

solved: we needed two changes:

  1. discontinuous_clk = “no”.
  2. tegra_sinterface was wrong (correct value should have been serial_c).

Everything’s fine now. The only thing I can’t explain is how in the world could it work with v4l2
if tegra_sinterface was wrong.

Thanks a lot and regards
Davide