NvPclOpen: PCL Open Failed. Error: 0xf

I am trying to port a DTS from TX2 to TX2NX. I got it partially working, but when I use nvargus-daemon I get this:

Acquiring SCF Camera device source via index 0 has failed. === gst-plugin-scanner[376509]: CameraProvider initialized (0x7f9c820380)=== gst-plugin-scanner[376509]: CameraProvider destroyed (0x7f9c820380)=== gst-plugin-scanner[376509]: Connection closed (7FA255F0E0)=== gst-plugin-scanner[376509]: Connection cleaned up (7FA255F0E0)=== python3[376460]: Connection established (7FA255F0E0)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
OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
---- 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 107)
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 593)
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 305)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 471)
Acquiring SCF Camera device source via index 0 has failed. === python3[376460]: CameraProvider initialized (0x7f9d88e190)^C

Also, I get nothing from nvraw:

$ nvargus_nvraw  --lps
nvargus_nvraw version 1.11.0
Number of supported sensor entries 0
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type

Some dmesg logs:

[   21.097835] imx334 0-001a: probing v4l2 sensor
[   21.098095] Board GPIO ctrl [0]
[   21.104218] 	 Message RAM Configuration
               	| base addr   |0x0c312000|
               	| sidfc_flssa |0x00000000|
               	| xidfc_flesa |0x00000040|
               	| rxf0c_f0sa  |0x000000c0|
               	| rxf1c_f1sa  |0x000009c0|
               	| rxbc_rbsa   |0x000009c0|
               	| txefc_efsa  |0x000009c0|
               	| txbc_tbsa   |0x00000a40|
               	| tmc_tmsa    |0x00000ec0|
[   21.104399] Release 3.2.0 from 19.12.2014
[   21.107885] net can0: mttcan device registered (regs=000000000e80bfa2, irq=385)
[   21.108691] imx334 0-001a: tegracam sensor driver:imx334_v2.0.6
[   21.120478] proc: unrecognized mount option "hidepid=invisible" or missing value
[   21.180507] tegra-vi4 15700000.vi: subdev imx334 0-001a bound
[   21.181454] imx334 0-001a: Detected imx334 sensor
...
[276844.980278] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[276844.986726] tegra-vi4 15700000.vi: tegra_channel_error_recovery: attempting to reset the capture channel

Have you seen something like this before?
My DTS looks like this:

/ {
	tcp: tegra-camera-platform {
		compatible = "nvidia, tegra-camera-platform";
		num_csi_lanes = <4>;
		max_lane_speed = <1500000>;
		min_bits_per_pixel = <10>;
		vi_peak_byte_per_pixel = <2>;
		vi_bw_margin_pct = <25>;
        max_pixel_rate = <240000>;
		isp_peak_byte_per_pixel = <5>;
		isp_bw_margin_pct = <25>;
		modules {
			cam_module0: module0 {
				badge = "imx334_front_framos";
				position = "front";
				orientation = "1";
				cam_module0_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx334 2-001a";
					proc-device-tree = "/proc/device-tree/i2c@3160000/imx334_a@1a";
				};
			};
		};
	};
};

And also:

#include <dt-bindings/media/camera.h>

/ {
	host1x {
		vi_base: vi@15700000 {
			num-channels = <1>;
			ports {
				#address-cells = <1>;
				#size-cells = <0>;
				vi_port0: port@0 {
					reg = <0>;
					imx334_vi_in0: endpoint {
						port-index = <0>;
						bus-width = <4>;
						remote-endpoint = <&imx334_csi_out0>;
					};
				};
			};
		};

		csi_base: nvcsi@150c0000 {
			num-channels = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			csi_chan0: channel@0 {
				reg = <0>;
				ports {
					#address-cells = <1>;
					#size-cells = <0>;
					csi_chan0_port0: port@0 {
						reg = <0>;
						imx334_csi_in0: endpoint@0 {
							port-index = <0>;
							bus-width = <4>;
							remote-endpoint = <&imx334_out0_0>;
						};
					};
					csi_chan0_port1: port@1 {
						reg = <1>;
						imx334_csi_out0: endpoint@1 {
							remote-endpoint = <&imx334_vi_in0>;
						};
					};
				};
			};
            
		};
    };

    i2c@3160000 {
        imx334_a@1a {
	        compatible = "framos,imx334";
	        reg = <0x1a>;

	        devnode = "video0";

	        physical_w = "15.00";
	        physical_h = "12.50";

	        sensor_model ="imx334";
and so on.....

Is there any feedback you can provide on how to address this issue? I am running r32.7.5

Thanks in advance

More debug:

# export enableCamPclLogs=5
# export enableCamScfLogs=5
# /usr/sbin/nvargus-daemon
=== NVIDIA Libargus Camera Service (0.98.3)=== Listening for connections...=== nvargus_nvraw[388483]: Connection established (7F77D1F0E0)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 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(0x7f7083a560)
getInstance: s_instance(0x7f7083a560)
subscribe: SensorType(gyroscope)
subscribe: create SensorType(gyroscope) sensor(0x7f7083cb60)
subscribe: SensorType(accelerometer)
subscribe: create SensorType(accelerometer) sensor(0x7f708420c0)
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: imx334_front_framos
NvPclHwPrintModuleDefinition -- Position: 1
NvPclHwPrintModuleDefinition -- CalibrationData Found: 1
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].Name: v4l2_sensor
NvPclHwPrintCameraSubModule -- HwCamSubModule[0].DevName: imx334 2-001a
NvPclHwGetModuleList: OFParserListModules Succeeded
NvPclModuleListInitialize: NvPclModule list[0]: imx334_front_framos 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 @ 0x7f707575a0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f707a0b40
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f70760030
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f70438ad0
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f70764d90
NvPclHwInitializeModule: allocate overrides pathname @ 0x7f70764d00
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/imx334_front_framos.isp] 6/16
CheckOverridesPermissions: stat(/data/vendor/nvcam/settings/imx334_front_framos.isp) call failed
LoadOverridesFile: looking for override file [/opt/nvidia/nvcam/settings/imx334_front_framos.isp] 7/16
CheckOverridesPermissions: stat(/opt/nvidia/nvcam/settings/imx334_front_framos.isp) call failed
LoadOverridesFile: looking for override file [/var/nvidia/nvcam/settings/imx334_front_framos.isp] 8/16
CheckOverridesPermissions: stat(/var/nvidia/nvcam/settings/imx334_front_framos.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/imx334_front_framos.bin] 2/16
Imager: looking for override file [/opt/nvidia/nvcam/settings/imx334_front_framos.bin] 3/16
Imager: looking for override file [/var/nvidia/nvcam/settings/imx334_front_framos.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_sensor)
NvPclCreateDriver: Found a Driver name match (v4l2_sensor)
NvPclConnectDrivers: hImager was NULL, creating new imager
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 107)
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 @ 0x7f70438ad0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f70764d90
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f70764d00
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f707575a0
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f707a0b40
NvPclCloseModuleDrivers: deallocate/free overrides pathname @ 0x7f70760030
NvPclStateControllerOpen: Failed ImagerGUID 1. (error 0xA000E)
NvPclStateControllerClose: Module imx334_front_framos 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 593)
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 305)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 471)
Acquiring SCF Camera device source via index 0 has failed. === nvargus_nvraw[388483]: CameraProvider initialized (0x7f7079e4b0)=== nvargus_nvraw[388483]: CameraProvider destroyed (0x7f7079e4b0)Stopping services...
Worker thread CaptureScheduler frameStart stop
Worker thread CaptureScheduler checkFramePending stop
Worker thread IspHw statsComplete stop
Worker thread IspHw frameComplete stop
Worker thread V4L2CaptureScheduler issueCaptures stop
Worker thread V4L2CaptureScheduler checkCaptureComplete stop
NvPclShutdown: ++++++++++++++++++++++
NvPclModuleListShutdown: Client still conntected, skipping shutdown
NvPclShutdown: ----------------------
Worker thread PS handleRequests stop
unsubscribe: SensorType(gyroscope)
unsubscribe: gyroscope sensor(0x7f7083cb60)
unsubscribe: SensorType(accelerometer)
unsubscribe: accelerometer sensor(0x7f708420c0)
Services are stopped
closeInstance: ms_instance((nil))
NvPclRemoveHotplugCallback: ++++++++++++++++++++++
getHotplugMonitor: Getting hotplug monitor instance
 shutdownHotplug: Requesting thread exit
 hotPlugfunc: Read 16 bytes from inotify FD
 hotPlugfunc: A File was Modified 00008000 NAME :  CREATE : 00000100, DELETE : 00000200 IGNORED : 00008000 CLOSE_WRITE : 00000008
 hotPlugfunc: Exit thread
 hotPlugfunc: close failure error: 'Bad file descriptor' (9)
 hotPlugfunc -- 
 shutdownHotplug -- : shutdown of hotplug is complete 
Removed callback client
NvPclRemoveHotplugCallback: ----------------------
FiberScheduler: shutting down; 0 fibers still in map

FiberScheduler: thread 4 exiting
FiberScheduler: thread 3 exiting
FiberScheduler: thread 2 exiting
FiberScheduler: thread 10 exiting
FiberScheduler: thread 7 exiting
FiberScheduler: thread 9 exiting
FiberScheduler: thread 6 exiting
FiberScheduler: thread 11 exiting
FiberScheduler: thread 1 exiting
FiberScheduler: thread 5 exiting
FiberScheduler: thread 8 exiting
FiberScheduler: thread 12 exiting
FiberScheduler: thread 12 has been joined
FiberScheduler: thread 11 has been joined
FiberScheduler: thread 10 has been joined
FiberScheduler: thread 9 has been joined
FiberScheduler: thread 7 has been joined
FiberScheduler: thread 6 has been joined
FiberScheduler: thread 5 has been joined
FiberScheduler: thread 4 has been joined
FiberScheduler: thread 8 has been joined
FiberScheduler: thread 3 has been joined
FiberScheduler: thread 2 has been joined
FiberScheduler: thread 1 has been joined
=== nvargus_nvraw[388483]: Connection closed (7F77D1F0E0)=== nvargus_nvraw[388483]: Connection cleaned up (7F77D1F0E0)
# v4l2-ctl --list-devices
vi-output, imx334 0-001a (platform:15700000.vi:0):
	/dev/video0

NVIDIA Tegra Video Input Device (platform:tegra-vi4):
	/dev/media0

We can close this issue.

I figured that I had to go from:

modules {
			cam_module0: module0 {
				badge = "imx334_front_framos";
				position = "front";
				orientation = "1";
				cam_module0_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx334 2-001a";
					proc-device-tree = "/proc/device-tree/i2c@3160000/imx334_a@1a";
				};
			};
		};

to:

modules {
			cam_module0: module0 {
				badge = "imx334_front_framos";
				position = "front";
				orientation = "1";
				cam_module0_drivernode0: drivernode0 {
					pcl_id = "v4l2_sensor";
					devname = "imx334 0-001a";
					proc-device-tree = "/proc/device-tree/i2c@3160000/imx334_a@1a";
				};
			};
		};

Why?

Because I noticed v4l2-ctl was listing another devname:

$ v4l2-ctl --list-devices
vi-output, imx334 0-001a (platform:15700000.vi:0):
	/dev/video0

Now I see this

$ nvargus_nvraw --lps
nvargus_nvraw version 1.11.0
Number of supported sensor entries 5
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
  0      0      0         imx334_front_framos   3864x2180   59  10  10    Bayer       
  1      0      1         imx334_front_framos   1920x1080  120  10  10    Bayer       
  2      0      2         imx334_front_framos   1944x1080   59  12  12    Bayer       
  3      0      3         imx334_front_framos   3864x2180   59  12  12    Bayer       
  4      0      4         imx334_front_framos   1920x1080  120  12  12    Bayer

And that fixed that issue

1 Like

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