Nvargus_nvraw --lps does not detect any cameras

Running in jAXi with BSP 35.6.2.

Seems like the nvargus_nvraw --lps does not detect any cameras, despite them being there and working with v4l2-ctl.

xxx@vpm004:~$ sudo modprobe nv_ar1335
xxx@vpm004:~$ sudo modprobe nv_imx565
xxx@vpm004:~$ sudo nvargus_nvraw --lps
nvargus_nvraw version 1.15.0
Number of supported sensor entries 0
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
sen@vpm004:~$ v4l2-ctl --list-devices
NVIDIA Tegra Video Input Device (platform:tegra-camrtc-ca):
        /dev/media0

vi-output, ar1335 5-0036 (platform:tegra-capture-vi:0):
        /dev/video0

vi-output, imx565 3-001a (platform:tegra-capture-vi:2):
        /dev/video2

xxx@vpm004:~$ 

I have searched the forum and all it is said in a few topics is some error in the DTB that is never mentioned (people seem to figure the problem by themselves, but never say what it was).

The DTB for my system is attached.
tegra194-p2888-0008-p2822-0000-stv-3.dts.log (263.9 KB)

The log from nvargus-daemon is this:

xxx@vpm004:~$ journalctl -b -t nvargus-daemon --no-tail -f
-- Logs begin at Sat 2000-01-01 01:00:45 GMT. --
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: === NVIDIA Libargus Camera Service (0.99.33)=== Listening for connections...=== nvargus_nvraw[2084]: Connection established (FFFFA6979900)OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module0
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module2
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module4
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: OFParserListModules: module list: /proc/device-tree/tegra-camera-platform/modules/module5
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclHwGetModuleList: No module data found
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclHwGetModuleList: No module data found
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclHwGetModuleList: No module data found
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclHwGetModuleList: WARNING: Could not map module to ISP config string
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclHwGetModuleList: No module data found
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: OFParserGetVirtualDevice: NVIDIA Camera virtual enumerator not found in proc device-tree
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: ---- imager: No override file found. ----
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 257)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 61)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 112)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclStartPlatformDrivers: Failed to start module drivers
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclStateControllerOpen: Failed ImagerGUID 56. (error 0xA000E)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclOpen: PCL Open Failed. Error: 0xf
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: ---- imager: No override file found. ----
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 257)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 61)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 112)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclStartPlatformDrivers: Failed to start module drivers
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclStateControllerOpen: Failed ImagerGUID 62. (error 0xA000E)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclOpen: PCL Open Failed. Error: 0xf
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: ---- imager: No override file found. ----
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 257)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 61)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 112)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclStartPlatformDrivers: Failed to start module drivers
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclStateControllerOpen: Failed ImagerGUID 56. (error 0xA000E)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclOpen: PCL Open Failed. Error: 0xf
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: ---- imager: No override file found. ----
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvCamV4l2) Error ModuleNotPresent: V4L2Device not available (in /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function findDevice(), line 257)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvCamV4l2) Error ModuleNotPresent:  (propagating from /dvs/git/dirty/git-master_linux/camera/utils/nvcamv4l2/v4l2_device.cpp, function initialize(), line 61)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: (NvOdmDevice) Error ModuleNotPresent:  (propagating from dvs/git/dirty/git-master_linux/camera-partner/imager/src/devices/V4L2SensorViCsi.cpp, function initialize(), line 112)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclDriverInitializeData: Unable to initialize driver v4l2_sensor
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclInitializeDrivers: error: Failed to init camera sub module v4l2_sensor
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclStartPlatformDrivers: Failed to start module drivers
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclStateControllerOpen: Failed ImagerGUID 62. (error 0xA000E)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: NvPclOpen: PCL Open Failed. Error: 0xf
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter: Sensor could not be opened. (in src/services/capture/CaptureServiceDeviceSensor.cpp, function getSourceFromGuid(), line 726)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/services/capture/CaptureService.cpp, function addSourceByGuid(), line 453)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function addSourceByIndex(), line 347)
Jan 01 01:06:23 vpm004 nvargus-daemon[1133]: SCF: Error BadParameter:  (propagating from src/api/CameraDriver.cpp, function getSource(), line 519)

As with other similar cases, I cannot see anything wrong in the DTB… all my camera definitions are done manually, with no plugin-manager/overlay. Comparing the DTB to the standard jAXi DTB generated by the tools, it seems pretty similar (only some handles differ, and some enabled/disabled devices).

If there are sources for nvargus_nvraw and underlying libraries, I could try to debug the problem… but otherwise it would be great to know what thing it is looking for is not found or mismatches.

Let me know if you need any additional information.

What’s below command shows.

v4l2-ctl --all

Hi @ShaneCCC,

Here you are:

xxx@vpm004:~$ sudoa modprobe nv_ar1335
xxx@vpm004:~$ sudoa modprobe nv_imx565
xxx@vpm004:~$ v4l2-ctl --all
Driver Info:
        Driver name      : tegra-video
        Card type        : vi-output, ar1335 5-0036
        Bus info         : platform:tegra-capture-vi:0
        Driver version   : 5.10.216
        Capabilities     : 0x84200001
                Video Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : tegra-camrtc-ca
        Model            : NVIDIA Tegra Video Input Device
        Serial           : 
        Bus info         : 
        Media version    : 5.10.216
        Hardware revision: 0x00000003 (3)
        Driver version   : 5.10.216
Interface Info:
        ID               : 0x03000011
        Type             : V4L Video
Entity Info:
        ID               : 0x0000000f (15)
        Name             : vi-output, ar1335 5-0036
        Function         : V4L2 I/O
        Pad 0x01000010   : 0: Sink
          Link 0x02000015: from remote pad 0x1000003 of entity '13e10000.host1x:nvcsi@15a00000-': Data, Enabled
Priority: 2
Video input : 0 (Camera 0: ok)
Format Video Capture:
        Width/Height      : 4208/3120
        Pixel Format      : 'BA10' (10-bit Bayer GRGR/BGBG)
        Field             : None
        Bytes per Line    : 8448
        Size Image        : 26357760
        Colorspace        : sRGB
        Transfer Function : Default (maps to sRGB)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)
        Flags             : 

Camera Controls

                     group_hold 0x009a2003 (bool)   : default=0 value=0 flags=execute-on-write
                    sensor_mode 0x009a2008 (int64)  : min=0 max=6 step=1 default=0 value=0 flags=slider
                           gain 0x009a2009 (int64)  : min=100 max=2400 step=25 default=100 value=100 flags=slider
                       exposure 0x009a200a (int64)  : min=2 max=660000 step=1 default=10000 value=2 flags=update, slider
                     frame_rate 0x009a200b (int64)  : min=1500000 max=28000000 step=1 default=28000000 value=1500000 flags=update, slider
           sensor_configuration 0x009a2032 (u32)    : min=0 max=4294967295 step=1 default=0 [22] flags=read-only, volatile, has-payload
         sensor_mode_i2c_packet 0x009a2033 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
      sensor_control_i2c_packet 0x009a2034 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
                    bypass_mode 0x009a2064 (intmenu): min=0 max=1 default=0 value=0
                                0: 0 (0x0)
                                1: 1 (0x1)
                override_enable 0x009a2065 (intmenu): min=0 max=1 default=0 value=0
                                0: 0 (0x0)
                                1: 1 (0x1)
                   height_align 0x009a2066 (int)    : min=1 max=16 step=1 default=1 value=1
                     size_align 0x009a2067 (intmenu): min=0 max=2 default=0 value=0
                                0: 1 (0x1)
                                1: 65536 (0x10000)
                                2: 131072 (0x20000)
               write_isp_format 0x009a2068 (int)    : min=1 max=1 step=1 default=1 value=1
       sensor_signal_properties 0x009a2069 (u32)    : min=0 max=4294967295 step=1 default=0 [30][18] flags=read-only, has-payload
        sensor_image_properties 0x009a206a (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
      sensor_control_properties 0x009a206b (u32)    : min=0 max=4294967295 step=1 default=0 [30][36] flags=read-only, has-payload
              sensor_dv_timings 0x009a206c (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
               low_latency_mode 0x009a206d (bool)   : default=0 value=0
               preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0
    override_capture_timeout_ms 0x009a206f (int)    : min=-1 max=2147483647 step=1 default=2500 value=2500
                   test_pattern 0x009a2071 (menu)   : min=0 max=3 default=0 value=0
                                0: No pattern
                                1: Solid color
                                2: 100% color bar Pattern
                                3: Fade to grey color bar Pattern
                 operation_mode 0x009a2072 (menu)   : min=0 max=1 default=0 value=0
                                0: Master Mode
                                1: Slave Mode
                    black_level 0x009a2075 (int64)  : min=0 max=1023 step=1 default=42 value=42 flags=slider, execute-on-write
                    flip_mirror 0x009a207a (menu)   : min=0 max=3 default=0 value=0
                                0: No Flip/Mirror
                                1: Vertical Flip
                                2: Horizontal Mirror
                                3: Vertical + Horizontal Flip/Mirr
                   sensor_modes 0x009a2082 (int)    : min=0 max=30 step=1 default=30 value=6 flags=read-only
                    sensor_temp 0x009a2095 (int)    : min=-2147483648 max=2147483647 step=1 default=0 value=-999999 flags=read-only, volatile
sen@vpm004:~$ sudoa nvargus_nvraw --lps
nvargus_nvraw version 1.15.0
Number of supported sensor entries 0
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
xxx@vpm004:~$ 
sen@vpm004:~$ v4l2-ctl -d 2 --all
Driver Info:
        Driver name      : tegra-video
        Card type        : vi-output, imx565 3-001a
        Bus info         : platform:tegra-capture-vi:2
        Driver version   : 5.10.216
        Capabilities     : 0x84200001
                Video Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : tegra-camrtc-ca
        Model            : NVIDIA Tegra Video Input Device
        Serial           : 
        Bus info         : 
        Media version    : 5.10.216
        Hardware revision: 0x00000003 (3)
        Driver version   : 5.10.216
Interface Info:
        ID               : 0x03000025
        Type             : V4L Video
Entity Info:
        ID               : 0x00000023 (35)
        Name             : vi-output, imx565 3-001a
        Function         : V4L2 I/O
        Pad 0x01000024   : 0: Sink
          Link 0x02000029: from remote pad 0x1000006 of entity '13e10000.host1x:nvcsi@15a00000-': Data, Enabled
Priority: 2
Video input : 0 (Camera 2: ok)
Format Video Capture:
        Width/Height      : 4128/3008
        Pixel Format      : 'RG12' (12-bit Bayer RGRG/GBGB)
        Field             : None
        Bytes per Line    : 8448
        Size Image        : 25411584
        Colorspace        : sRGB
        Transfer Function : Default (maps to sRGB)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)
        Flags             : 

Camera Controls

                     group_hold 0x009a2003 (bool)   : default=0 value=0 flags=execute-on-write
                    sensor_mode 0x009a2008 (int64)  : min=0 max=9 step=1 default=0 value=0 flags=slider
                           gain 0x009a2009 (int64)  : min=0 max=480 step=1 default=0 value=0 flags=slider
                       exposure 0x009a200a (int64)  : min=11 max=660000 step=1 default=10000 value=11 flags=update, slider
                     frame_rate 0x009a200b (int64)  : min=1500000 max=29000000 step=1 default=29000000 value=1500000 flags=update, slider
           sensor_configuration 0x009a2032 (u32)    : min=0 max=4294967295 step=1 default=0 [22] flags=read-only, volatile, has-payload
         sensor_mode_i2c_packet 0x009a2033 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
      sensor_control_i2c_packet 0x009a2034 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
                    bypass_mode 0x009a2064 (intmenu): min=0 max=1 default=0 value=0
                                0: 0 (0x0)
                                1: 1 (0x1)
                override_enable 0x009a2065 (intmenu): min=0 max=1 default=0 value=0
                                0: 0 (0x0)
                                1: 1 (0x1)
                   height_align 0x009a2066 (int)    : min=1 max=16 step=1 default=1 value=1
                     size_align 0x009a2067 (intmenu): min=0 max=2 default=0 value=0
                                0: 1 (0x1)
                                1: 65536 (0x10000)
                                2: 131072 (0x20000)
               write_isp_format 0x009a2068 (int)    : min=1 max=1 step=1 default=1 value=1
       sensor_signal_properties 0x009a2069 (u32)    : min=0 max=4294967295 step=1 default=0 [30][18] flags=read-only, has-payload
        sensor_image_properties 0x009a206a (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
      sensor_control_properties 0x009a206b (u32)    : min=0 max=4294967295 step=1 default=0 [30][36] flags=read-only, has-payload
              sensor_dv_timings 0x009a206c (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
               low_latency_mode 0x009a206d (bool)   : default=0 value=0
               preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0
    override_capture_timeout_ms 0x009a206f (int)    : min=-1 max=2147483647 step=1 default=2500 value=2500
                      data_rate 0x009a2070 (menu)   : min=0 max=2 default=0 value=0
                                0: 1188 Mbps/lane
                                1: 891 Mbps/lane
                                2: 594 Mbps/lane
                   test_pattern 0x009a2071 (menu)   : min=0 max=3 default=0 value=0
                                0: No pattern
                                1: Sequence Pattern 1
                                2: Sequence Pattern 2
                                3: Gradation Pattern
                 operation_mode 0x009a2072 (menu)   : min=0 max=1 default=0 value=0
                                0: Master Mode
                                1: Slave Mode
                    black_level 0x009a2075 (int64)  : min=0 max=4095 step=1 default=240 value=240 flags=slider, execute-on-write
            global_shutter_mode 0x009a207b (menu)   : min=0 max=2 default=0 value=0
                                0: Normal Mode
                                1: Sequential Trigger Mode
                                2: Fast Trigger Mode
                   sensor_modes 0x009a2082 (int)    : min=0 max=30 step=1 default=30 value=9 flags=read-only
[   96.931252] imx565 3-001a: imx565_get_priv_ctrls: cannot be read if not streaming !
                    sensor_temp 0x009a2095 (int)    : min=-2147483648 max=2147483647 step=1 default=0 value=-999999 flags=read-only, volatile
sen@vpm004:~$ 

Interestingly, it only shows the first camera… (but adding -d 2 shows the other one… ok) I have 4 cameras defined in the DT, but only two connected.

Modify the position to “front” or “rear” also set the status to okay in the drivernode1{}

		module0 {
			status = "okay";
			badge = "ar1335_horizon1_framos";
			position = "horizon1";
			orientation = [31 00];
			phandle = <0x18b>;

			drivernode0 {
				status = "okay";
				pcl_id = "v4l2_sensor";
				devname = "ar1335 5-0036";
				proc-device-tree = "/proc/device-tree/i2c@31b0000/ar1335_a@36";
				phandle = <0x18c>;
			};

			drivernode1 {
				status = "disabled";
				pcl_id = "v4l2_lens";
				phandle = <0x18d>;
			};
		};

Hi @ShaneCCC,

Changed the drivernode1 status to okay in all cameras (I was told by somebody else at nVidia to disable it when debugging some gstreamer problem), and changed the position for the first two cameras to front and rear (I believe that should be irrelevant, other than to load isp override files).

Apparently no difference.

Find attached the changed DT:
tegra194-p2888-0008-p2822-0000-stv-3.dts.log (263.9 KB)

Here you are the console output (including v4l2-ctl -d X --all for both cameras)

xxx@vpm004:~$ sudoa modprobe nv_ar1335
xxx@vpm004:~$ sudoa modprobe nv_imx565
xxx@vpm004:~$ nvargus_nvraw --lps
nvargus_nvraw version 1.15.0
Number of supported sensor entries 0
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
xxx@vpm004:~$ v4l2-ctl -d 1 --all
Driver Info:
        Driver name      : tegra-video
        Card type        : vi-output, ar1335 5-0036
        Bus info         : platform:tegra-capture-vi:0
        Driver version   : 5.10.216
        Capabilities     : 0x84200001
                Video Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : tegra-camrtc-ca
        Model            : NVIDIA Tegra Video Input Device
        Serial           : 
        Bus info         : 
        Media version    : 5.10.216
        Hardware revision: 0x00000003 (3)
        Driver version   : 5.10.216
Interface Info:
        ID               : 0x03000011
        Type             : V4L Video
Entity Info:
        ID               : 0x0000000f (15)
        Name             : vi-output, ar1335 5-0036
        Function         : V4L2 I/O
        Pad 0x01000010   : 0: Sink
          Link 0x02000015: from remote pad 0x1000003 of entity '13e10000.host1x:nvcsi@15a00000-': Data, Enabled
Priority: 2
Video input : 0 (Camera 0: ok)
Format Video Capture:
        Width/Height      : 4208/3120
        Pixel Format      : 'BA10' (10-bit Bayer GRGR/BGBG)
        Field             : None
        Bytes per Line    : 8448
        Size Image        : 26357760
        Colorspace        : sRGB
        Transfer Function : Default (maps to sRGB)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)
        Flags             : 

Camera Controls

                     group_hold 0x009a2003 (bool)   : default=0 value=0 flags=execute-on-write
                    sensor_mode 0x009a2008 (int64)  : min=0 max=6 step=1 default=0 value=0 flags=slider
                           gain 0x009a2009 (int64)  : min=100 max=2400 step=25 default=100 value=100 flags=slider
                       exposure 0x009a200a (int64)  : min=2 max=660000 step=1 default=10000 value=2 flags=update, slider
                     frame_rate 0x009a200b (int64)  : min=1500000 max=28000000 step=1 default=28000000 value=1500000 flags=update, slider
           sensor_configuration 0x009a2032 (u32)    : min=0 max=4294967295 step=1 default=0 [22] flags=read-only, volatile, has-payload
         sensor_mode_i2c_packet 0x009a2033 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
      sensor_control_i2c_packet 0x009a2034 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
                    bypass_mode 0x009a2064 (intmenu): min=0 max=1 default=0 value=0
                                0: 0 (0x0)
                                1: 1 (0x1)
                override_enable 0x009a2065 (intmenu): min=0 max=1 default=0 value=0
                                0: 0 (0x0)
                                1: 1 (0x1)
                   height_align 0x009a2066 (int)    : min=1 max=16 step=1 default=1 value=1
                     size_align 0x009a2067 (intmenu): min=0 max=2 default=0 value=0
                                0: 1 (0x1)
                                1: 65536 (0x10000)
                                2: 131072 (0x20000)
               write_isp_format 0x009a2068 (int)    : min=1 max=1 step=1 default=1 value=1
       sensor_signal_properties 0x009a2069 (u32)    : min=0 max=4294967295 step=1 default=0 [30][18] flags=read-only, has-payload
        sensor_image_properties 0x009a206a (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
      sensor_control_properties 0x009a206b (u32)    : min=0 max=4294967295 step=1 default=0 [30][36] flags=read-only, has-payload
              sensor_dv_timings 0x009a206c (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
               low_latency_mode 0x009a206d (bool)   : default=0 value=0
               preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0
    override_capture_timeout_ms 0x009a206f (int)    : min=-1 max=2147483647 step=1 default=2500 value=2500
                   test_pattern 0x009a2071 (menu)   : min=0 max=3 default=0 value=0
                                0: No pattern
                                1: Solid color
                                2: 100% color bar Pattern
                                3: Fade to grey color bar Pattern
                 operation_mode 0x009a2072 (menu)   : min=0 max=1 default=0 value=0
                                0: Master Mode
                                1: Slave Mode
                    black_level 0x009a2075 (int64)  : min=0 max=1023 step=1 default=42 value=42 flags=slider, execute-on-write
                    flip_mirror 0x009a207a (menu)   : min=0 max=3 default=0 value=0
                                0: No Flip/Mirror
                                1: Vertical Flip
                                2: Horizontal Mirror
                                3: Vertical + Horizontal Flip/Mirr
                   sensor_modes 0x009a2082 (int)    : min=0 max=30 step=1 default=30 value=6 flags=read-only
                    sensor_temp 0x009a2095 (int)    : min=-2147483648 max=2147483647 step=1 default=0 value=-999999 flags=read-only, volatile
xxx@vpm004:~$ v4l2-ctl -d 2 --all
Driver Info:
        Driver name      : tegra-video
        Card type        : vi-output, imx565 3-001a
        Bus info         : platform:tegra-capture-vi:2
        Driver version   : 5.10.216
        Capabilities     : 0x84200001
                Video Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : tegra-camrtc-ca
        Model            : NVIDIA Tegra Video Input Device
        Serial           : 
        Bus info         : 
        Media version    : 5.10.216
        Hardware revision: 0x00000003 (3)
        Driver version   : 5.10.216
Interface Info:
        ID               : 0x03000025
        Type             : V4L Video
Entity Info:
        ID               : 0x00000023 (35)
        Name             : vi-output, imx565 3-001a
        Function         : V4L2 I/O
        Pad 0x01000024   : 0: Sink
          Link 0x02000029: from remote pad 0x1000006 of entity '13e10000.host1x:nvcsi@15a00000-': Data, Enabled
Priority: 2
Video input : 0 (Camera 2: ok)
Format Video Capture:
        Width/Height      : 4128/3008
        Pixel Format      : 'RG12' (12-bit Bayer RGRG/GBGB)
        Field             : None
        Bytes per Line    : 8448
        Size Image        : 25411584
        Colorspace        : sRGB
        Transfer Function : Default (maps to sRGB)
        YCbCr/HSV Encoding: Default (maps to ITU-R 601)
        Quantization      : Default (maps to Full Range)
        Flags             : 

Camera Controls

                     group_hold 0x009a2003 (bool)   : default=0 value=0 flags=execute-on-write
                    sensor_mode 0x009a2008 (int64)  : min=0 max=9 step=1 default=0 value=0 flags=slider
                           gain 0x009a2009 (int64)  : min=0 max=480 step=1 default=0 value=0 flags=slider
                       exposure 0x009a200a (int64)  : min=11 max=660000 step=1 default=10000 value=11 flags=update, slider
                     frame_rate 0x009a200b (int64)  : min=1500000 max=29000000 step=1 default=29000000 value=1500000 flags=update, slider
           sensor_configuration 0x009a2032 (u32)    : min=0 max=4294967295 step=1 default=0 [22] flags=read-only, volatile, has-payload
         sensor_mode_i2c_packet 0x009a2033 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
      sensor_control_i2c_packet 0x009a2034 (u32)    : min=0 max=4294967295 step=1 default=0 [1026] flags=read-only, volatile, has-payload
                    bypass_mode 0x009a2064 (intmenu): min=0 max=1 default=0 value=0
                                0: 0 (0x0)
                                1: 1 (0x1)
                override_enable 0x009a2065 (intmenu): min=0 max=1 default=0 value=0
                                0: 0 (0x0)
                                1: 1 (0x1)
                   height_align 0x009a2066 (int)    : min=1 max=16 step=1 default=1 value=1
                     size_align 0x009a2067 (intmenu): min=0 max=2 default=0 value=0
                                0: 1 (0x1)
                                1: 65536 (0x10000)
                                2: 131072 (0x20000)
               write_isp_format 0x009a2068 (int)    : min=1 max=1 step=1 default=1 value=1
       sensor_signal_properties 0x009a2069 (u32)    : min=0 max=4294967295 step=1 default=0 [30][18] flags=read-only, has-payload
        sensor_image_properties 0x009a206a (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
      sensor_control_properties 0x009a206b (u32)    : min=0 max=4294967295 step=1 default=0 [30][36] flags=read-only, has-payload
              sensor_dv_timings 0x009a206c (u32)    : min=0 max=4294967295 step=1 default=0 [30][16] flags=read-only, has-payload
               low_latency_mode 0x009a206d (bool)   : default=0 value=0
               preferred_stride 0x009a206e (int)    : min=0 max=65535 step=1 default=0 value=0
    override_capture_timeout_ms 0x009a206f (int)    : min=-1 max=2147483647 step=1 default=2500 value=2500
                      data_rate 0x009a2070 (menu)   : min=0 max=2 default=0 value=0
                                0: 1188 Mbps/lane
                                1: 891 Mbps/lane
                                2: 594 Mbps/lane
                   test_pattern 0x009a2071 (menu)   : min=0 max=3 default=0 value=0
                                0: No pattern
                                1: Sequence Pattern 1
                                2: Sequence Pattern 2
                                3: Gradation Pattern
                 operation_mode 0x009a2072 (menu)   : min=0 max=1 default=0 value=0
                                0: Master Mode
                                1: Slave Mode
                    black_level 0x009a2075 (int64)  : min=0 max=4095 step=1 default=240 value=240 flags=slider, execute-on-write
            global_shutter_mode 0x009a207b (menu)   : min=0 max=2 default=0 value=0
                                0: Normal Mode
                                1: Sequential Trigger Mode
                                2: Fast Trigger Mode
                   sensor_modes 0x009a2082 (int)    : min=0 max=30 step=1 default=30 value=9 flags=read-only
                    sensor_temp 0x009a2095 (int)    : min=-2147483648 max=2147483647 step=1 default=0 value=-999999 flags=read-only, volatile
xxx@vpm004:~$ 

Does below command show the sensor mode match the device tree?

v4l2-ctl --list-formats-ext

Hi @ShaneCCC,

Seems that they do:

xxx@vpm004:~$ sudoa modprobe nv_ar1335
xxx@vpm004:~$ sudoa modprobe nv_imx565
xxx@vpm004:~$ nvargus_nvraw --lps
nvargus_nvraw version 1.15.0
Number of supported sensor entries 0
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
xxx@vpm004:~$ v4l2-ctl -d 1 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'GRBG' (8-bit Bayer GRGR/BGBG)
                Size: Discrete 4208x3120
                        Interval: Discrete 0.037s (27.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.026s (39.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.013s (79.000 fps)
        [1]: 'BA10' (10-bit Bayer GRGR/BGBG)
                Size: Discrete 4208x3120
                        Interval: Discrete 0.037s (27.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.026s (39.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.013s (79.000 fps)
xxx@vpm004:~$ v4l2-ctl -d 2 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'RGGB' (8-bit Bayer RGRG/GBGB)
                Size: Discrete 4128x3008
                        Interval: Discrete 0.024s (42.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.017s (58.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.005s (205.000 fps)
        [1]: 'RG10' (10-bit Bayer RGRG/GBGB)
                Size: Discrete 4128x3008
                        Interval: Discrete 0.024s (42.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.017s (58.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.005s (205.000 fps)
        [2]: 'RG12' (12-bit Bayer RGRG/GBGB)
                Size: Discrete 4128x3008
                        Interval: Discrete 0.024s (42.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.017s (58.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.005s (205.000 fps)
xxx@vpm004:~$ 

You shouldn’t not report multiple pixel format in the sensor driver.

Remove to leave only BA10 to verify it.

Hi @ShaneCCC,

Those drivers have been working fine in BSP 32.7.1 reporting multiple formats. In fact, the kernel documentation for v4l2 drivers allows it.

At the moment both the DT and the driver have the same modes, with both 8 bit and 10 bit pixels.

Anyway, I’ll remove it from the DT (I guess that is what you are saying), to see what happens.

Hi @ShaneCCC,

Remove the extra modes from the DT… nothing changes:

sen@vpm004:~$ sudoa modprobe nv_ar1335
sen@vpm004:~$ sudoa modprobe nv_imx565
sen@vpm004:~$ nvargus_nvraw --lps
nvargus_nvraw version 1.15.0
Number of supported sensor entries 0
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
sen@vpm004:~$ v4l2-ctl -d 1 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'BA10' (10-bit Bayer GRGR/BGBG)
                Size: Discrete 4208x3120
                        Interval: Discrete 0.037s (27.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.026s (39.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.013s (79.000 fps)
sen@vpm004:~$ v4l2-ctl -d 2 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
        Type: Video Capture

        [0]: 'RG12' (12-bit Bayer RGRG/GBGB)
                Size: Discrete 4128x3008
                        Interval: Discrete 0.024s (42.000 fps)
                Size: Discrete 3840x2160
                        Interval: Discrete 0.017s (58.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.005s (205.000 fps)
sen@vpm004:~$ 

DT attached:
tegra194-p2888-0008-p2822-0000-stv-3.dts.log (254.7 KB)

Hi @ShaneCCC,

Since you have not responded, I have been playing a bit with the modules area, and I got it working.

This is what I found.

  1. The v4l_lens drivernode has to be disabled, not as you suggested (I have seen that you can define lens properties in a section, then enable that drivernode… no idea of how that works).
  2. The position strings have to be very specific, not arbitrary, as I thought:
    • Some positions appear not to work at all, as “front” or “top” (I know they appear in some provided camera definitions).
    • Some positions cause one sensor to be duplicated with different source indexes, like using “bottom” and “rear”.
    • Using positions like “bottomleft”, “bottomright”, “centerleft”, “centerright”, when defining 4 camras, as I do in my DT, make them work.
  3. Modes with different bit depths can be used as I thought.

Given that we do not have sources for nvargus-daemon or nvargus_nvraw, it makes very difficult to debug these problems… and the documentation not being clear in what strings are a requirement, rather than a user presented description, makes things worse.

Do you think an explanation on what is the deal with those position strings can be provided, if not the sources for nvargus-daemon and nvargus_nvraw?

Console output for the working case:

xxx@vpm005:~$ sudoa modprobe nv_ar1335
xxx@vpm005:~$ sudoa modprobe nv_imx565
xxx@vpm005:~$ nvargus_nvraw --lps
nvargus_nvraw version 1.15.0
Number of supported sensor entries 15
Entry  Source Mode      Uniquename             Resolution   FR  BitDepth  Mode
Index  Index  Index                                             CSI Dyn   Type
  0      0      0    ar1335_bottomleft_framos   4208x3120   28  10  10    Bayer       
  1      0      1    ar1335_bottomleft_framos   3840x2160   40  10  10    Bayer       
  2      0      2    ar1335_bottomleft_framos   1920x1080   77  10  10    Bayer       
  3      0      3    ar1335_bottomleft_framos   4208x3120   28   8   8    Bayer       
  4      0      4    ar1335_bottomleft_framos   3840x2160   40   8   8    Bayer       
  5      0      5    ar1335_bottomleft_framos   1920x1080   77   8   8    Bayer       
  6      1      0   imx565_bottomright_framos   4128x3008   28  12  12    Bayer       
  7      1      1   imx565_bottomright_framos   3840x2160   40  12  12    Bayer       
  8      1      2   imx565_bottomright_framos   1920x1080  146  12  12    Bayer       
  9      1      3   imx565_bottomright_framos   4128x3008   34  10  10    Bayer       
 10      1      4   imx565_bottomright_framos   3840x2160   46  10  10    Bayer       
 11      1      5   imx565_bottomright_framos   1920x1080  169  10  10    Bayer       
 12      1      6   imx565_bottomright_framos   4128x3008   41   8   8    Bayer       
 13      1      7   imx565_bottomright_framos   3840x2160   57   8   8    Bayer       
 14      1      8   imx565_bottomright_framos   1920x1080  204   8   8    Bayer       
xxx@vpm005:~$ 

Cheers.

I think the document tell how the position define for 2/4/6 cameras.

Thanks