Cameras aren't detected by argus but v4l2-ctl works

Argus can’t seem to record with the tegra mmapi samples, i’m not sure whats going wrong, any help will be great!

Media device information
------------------------
driver          tegra-camrtc-ca
model           NVIDIA Tegra Video Input Device
serial          
bus info        
hw revision     0x3
driver version  5.10.104

Device topology
- entity 1: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
        pad0: Sink
                <- "ox08b40 0-0030":0 [ENABLED]
        pad1: Source
                -> "vi-output, ox08b40 0-0030":0 [ENABLED]

- entity 4: 13e40000.host1x:nvcsi@15a00000- (2 pads, 2 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev1
        pad0: Sink
                <- "ox08b40 0-0031":0 [ENABLED]
        pad1: Source
                -> "vi-output, ox08b40 0-0031":0 [ENABLED]

- entity 91: ox08b40 0-0030 (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev2
        pad0: Source
                [fmt:SBGGR12_1X12/3840x2160 field:none colorspace:srgb]
                -> "13e40000.host1x:nvcsi@15a00000-":0 [ENABLED]

- entity 93: vi-output, ox08b40 0-0030 (1 pad, 1 link)
             type Node subtype V4L flags 0
             device node name /dev/video0
        pad0: Sink
                <- "13e40000.host1x:nvcsi@15a00000-":1 [ENABLED]

- entity 107: ox08b40 0-0031 (1 pad, 1 link)
              type V4L2 subdev subtype Sensor flags 0
              device node name /dev/v4l-subdev3
        pad0: Source
                [fmt:SBGGR12_1X12/3840x2160 field:none colorspace:srgb]
                -> "13e40000.host1x:nvcsi@15a00000-":0 [ENABLED]

- entity 109: vi-output, ox08b40 0-0031 (1 pad, 1 link)
              type Node subtype V4L flags 0
              device node name /dev/video1
        pad0: Sink
                <- "13e40000.host1x:nvcsi@15a00000-":1 [ENABLED]

Argus

p2-compute-orin:~$ sudo nvargus-daemon 
=== NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== argus_camera_recording[4890]: Connection established (FFFFAAC5B840)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module1
NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
NvPclHwGetModuleList: No module data found
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 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 689)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 333)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 505)
---- 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 689)
SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 333)
SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 505)
=== argus_camera_recording[4890]: CameraProvider initialized (0xffffa46fa900)=== argus_camera_recording[4890]: CameraProvider destroyed (0xffffa46fa900)=== argus_camera_recording[4890]: Connection closed (FFFFAAC5B840)=== argus_camera_recording[4890]: Connection cleaned up (FFFFAAC5B840)

V4l2 Works:

p2-compute-orin:~$ sudo v4l2-ctl --list-devices --verbose
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
        /dev/media0

vi-output, ox08b40 0-0030 (platform:tegra-capture-vi:0):
        /dev/video0

vi-output, ox08b40 0-0031 (platform:tegra-capture-vi:2):
        /dev/video1

VIDIOC_QUERYCAP: ok
 39     tegra-camera-platform {                                                                                                                                                                                    
 38         compatible = "nvidia, tegra-camera-platform";                                                                                                                                                          
 37         num_csi_lanes = <8>; /* 3 cameras * 2 lanes each */                                                                                                                                                    
 36         max_lane_speed = <2500000>; /* MIPI lanes are set up for 2208 Mbps (field is in Kbps) */                                                                                                               
 35         // TODO: Is this for one camera, or all 3? Probably all 3.                                                                                                                                             
 34         // Overridden to a general value seen in other nvidia drivers for now                                                                                                                                  
 33         max_pixel_rate = <7500000>; /* ((3840 * 2160 * 30) * 2) + (1920 * 1280 * 30) rounded up, in kpixels/s */                                                                                               
 32         min_bits_per_pixel = <12>;                                                                                                                                                                             
 31         /* Don't really know what the rest of these do, and there is minimal/no documentation. */                                                                                                              
 30         /* So we copy-pasta from the imx334 device tree for now. */                                                                                                                                            
 29         vi_peak_byte_per_pixel = <5>;                                                                                                                                                                          
 28         vi_bw_margin_pct = <25>;                                                                                                                                                                               
 27         isp_peak_byte_per_pixel = <5>;                                                                                                                                                                         
 26         isp_bw_margin_pct = <25>;                                                                                                                                                                              
 25                                                                                                                                                                                                                
 24         modules {                                                                                                                                                                                              
 23             module0 {                                                                                                                                                                                          
 22                 badge = "ox08b40_bottom_zipox08b40";                                                                                                                                                           
 21                 /* nvidia doesn't give many naming choices here, so we pick the closest thing we can to left/center/right */                                                                                   
 20                 /* https://docs.nvidia.com/jetson/archives/r34.1/DeveloperGuide/text/SD/CameraDevelopment/SensorSoftwareDriverProgramming.html#module-properties */                                            
 19                 position = "bottom";                                                                                                                                                                           
 18                 orientation = "0";                                                                                                                                                                             
 17                 drivernode0 {                                                                                                                                                                                  
 16                     pcl_id = "v4l2_sensor";                                                                                                                                                                    
 15                     devname = "ox08b40 2-0030";                                                                                                                                                                
 14                     proc-device-tree = "/proc/device-tree/i2c@3160000/ox08b40_a@30";                                                                                                                           
 13                 };                                                                                                                                                                                             
 12             };                                                                                                                                                                                                 
 11             module1 {                                                                                                                                                                                          
 10                 badge = "ox08b40_top_zipox08b40";                                                                                                                                                              
  9                 position = "top";                                                                                                                                                                              
  8                 orientation = "0";                                                                                                                                                                             
  7                 drivernode0 {                                                                                                                                                                                  
  6                     pcl_id = "v4l2_sensor";                                                                                                                                                                    
  5                     devname = "ox08b40 2-0031";                                                                                                                                                                
  4                     proc-device-tree = "/proc/device-tree/i2c@3160000/ox08b40_c@31";                                                                                                                           
  3                 };                                                                                                                                                                                             
  2             };                                                                                                                                                                                                 
  1         };                                                                                                                                                                                                     
516     };                                                                                                                                                                                                         
  1 };                                                            

I think I see it

devnames become

ox08b40 0-0030
ox08b40 0-0031

when flashed, vs

ox08b40 2-0030
ox08b40 2-0031

in tegra-camera-platform dts

Why would the devname get reassigned?

For posterity, that fixed it

(I would still like to know what the right values are)

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