No device block matching csi port D

DRIVE OS Version: 7.2.5

Issue Description:

I have four IMX623 200 degree FOV cameras connected to CSI port D on a Drive Thor AGX dev kit. When I try to record one of the cameras with the following configuration, I get an error. This was working on DriveOS 7.0.3.

{
    "rig": {
        "sensors": [
            {
                "name": "front:camera:200-d-3",
                "nominalSensor2Rig_FLU": {
                    "roll-pitch-yaw": [0.0, 0.0, 0.0],
                    "t": [0.0, 0.0, 0.0]
                },
                "parameter": "camera-name=V1SIM623MPRU8200ND1,interface=csi-d,link=3,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216",
                "protocol": "camera.gmsl"
            }
        ],
        "vehicle": {
            "valid": false
        }
    },
    "version":  2
}

On DriveOS 7.2.5 I see the following error:

[01-09-2026 16:07:07] No valid data file found for front:camera:200-d-3 in parameter string: camera-name=V1SIM623MPRU8200ND1,interface=csi-d,link=3,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216 (using configuration folder /home/may/)
[01-09-2026 16:07:07] createFromVehicleVIN: Failed to open a file '/tmp/car_vin' - file likely does not exist - skipping overlay
[01-09-2026 16:07:07] SensorFactory::createSensor() -> time.nvpps, nvpps-device=/dev/nvpps0
[01-09-2026 16:07:07] Found driver: time.nvpps
[01-09-2026 16:07:07] TimeSensorNVPPS: initialized with no UTC time reference.
[01-09-2026 16:07:07] output-timestamp parameter is deprecated and will be removed in next release[01-09-2026 16:07:07] SensorFactory: Override default timeSensor with the user passed one
[01-09-2026 16:07:07] EndpointNVPPS: started on /dev/nvpps0
[01-09-2026 16:07:07] SensorFactory::createSensor() -> camera.gmsl, camera-name=V1SIM623MPRU8200ND1,interface=csi-d,link=3,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216
[01-09-2026 16:07:07] Found driver: camera.gmsl
[01-09-2026 16:07:07] CameraBase: setPoolSize, setting pool size to 16
[01-09-2026 16:07:07] SensorFactory::createSensor() -> camera.gmsl.master, 
[01-09-2026 16:07:07] Found driver: camera.gmsl.master
[01-09-2026 16:07:08] CameraMaster::parseDevBlock Getting device info list.
[01-09-2026 16:07:08] CameraClient: isYUVCamera, m_cameraInfo is null
[01-09-2026 16:07:08] CameraClient: imageQueueTimeoutUs = 33333us for targetFps = 30
[01-09-2026 16:07:08] Adding blockId
[01-09-2026 16:07:08] CameraMaster::addBlockId: custom interfaces have been disabled
[01-09-2026 16:07:08] devBlock: 0 Passive = 0 Interface = csi-d Camera_name = V1SIM623MPRU8200ND1_CPHY_x4 Link = 3 GroupInit = 0 RecCfg = 0
[01-09-2026 16:07:08] SensorManager::addSensor DW_INVALID_ARGUMENT: CameraMaster: No DeviceBlock found matching csiPort for camera: V1SIM623MPRU8200ND1_CPHY_x4
[01-09-2026 16:07:08] SensorManager::addSensorsFromRig() failed to add sensor from rig: front:camera:200-d-3 camera.gmsl camera-name=V1SIM623MPRU8200ND1,interface=csi-d,link=3,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216 (Error: DW_INVALID_ARGUMENT)
terminate called after throwing an instance of 'dw::core::Exception'
  what():  DW_INVALID_ARGUMENT: SensorManager::SensorManager() Failed to add sensors from rig
Aborted

Is there a configuration I should try for csi-d to get this to work?

Dear @brad.pankow1 ,
Does the same rig configuration and command working on DOS 7.2.5? Do you see issue with other link values in csi-d? Is same behavior observed with other camera modules as well?

Does the same rig configuration and command working on DOS 7.2.5?

This rig configuration and command works in DriveOS 7.0.3, it fails in DriveOS 7.2.5. The error message I posted happens in DriveOS 7.2.5.

On DriveOS 7.0.3, I noticed that the Camera_name is different for the same rig file:

[01-09-2026 16:56:04] devBlock: 0 Passive = 0 Interface = csi-d Camera_name = V1SIM623MPRU8200ND1 Link = 3 GroupInit = 0 RecCfg = 0

Do you see issue with other link values in csi-d?

Yes, I see this with any link value I chose with csi-d. I think this error may be thrown before actually trying to query a camera link on csi-d.

Is same behavior observed with other camera modules as well?

Yes, I am also seeing this when I try with V1SIM728MPRU4070HD1 plugged into the same link and using the same parameters.

camera-name=V1SIM728MPRU4070HD1,interface=csi-d,link=3,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216

Thank you for bringing to attention. It could be a bug. Let me check internally and get back to you.

Patch is shared via private message. Could you please check.

Now I’m seeing similar issues with the 30 and 120 degree cameras (70 degree camera is working). The 200 degree camera is working with the rig I posted above, but now the following fails with the new shared library where it previously worked with the old shared library.

{
    "rig": {
        "sensors": [
            {
                "name": "camera:120-ab-0",
                "nominalSensor2Rig_FLU": {
                    "roll-pitch-yaw": [0.0, 0.0, 0.0],
                    "t": [0.0, 0.0, 0.0]
                },
                "parameter": "camera-name=V1SIM728MPRU4120HD1,interface=csi-ab,link=0,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216",
                "protocol": "camera.gmsl"
            },
            {
                "name": "camera:70-ab-1",
                "nominalSensor2Rig_FLU": {
                    "roll-pitch-yaw": [0.0, 0.0, 0.0],
                    "t": [0.0, 0.0, 0.0]
                },
                "parameter": "camera-name=V1SIM728MPRU4070HD1,interface=csi-ab,link=1,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216", 
                "protocol": "camera.gmsl"
            },
            {
                "name": "camera:70-ab-2",
                "nominalSensor2Rig_FLU": {
                    "roll-pitch-yaw": [0.0, 0.0, 0.0],
                    "t": [0.0, 0.0, 0.0]
                },
                "parameter": "camera-name=V1SIM728MPRU4070HD1,interface=csi-ab,link=2,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216",
                "protocol": "camera.gmsl"
            },
            {
                "name": "camera:30-ab-3",
                "nominalSensor2Rig_FLU": {
                    "roll-pitch-yaw": [0.0, 0.0, 0.0],
                    "t": [0.0, 0.0, 0.0]
                },
                "parameter": "camera-name=V1SIM728MPRU3030HD1,interface=csi-ab,link=3,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216",
                "protocol": "camera.gmsl"
            }
        ],
        "vehicle": {
            "valid": false
        }
    },
    "version":  2
}

With new library:

$ sudo LD_PRELOAD=~/libdw_sensors_std.so.7.2 /usr/local/driveworks/tools/capture/recorder --en_record_on_start 1 ~/rig_test.json
...
[02-09-2026 14:07:26] Found driver: camera.gmsl
[02-09-2026 14:07:26] CameraBase: setPoolSize, setting pool size to 16
[02-09-2026 14:07:26] SensorFactory::createSensor() -> camera.gmsl.master, 
[02-09-2026 14:07:26] Found driver: camera.gmsl.master
[02-09-2026 14:07:27] CameraMaster::parseDevBlock Getting device info list.
[02-09-2026 14:07:27] CameraClient: isYUVCamera, m_cameraInfo is null
[02-09-2026 14:07:27] CameraClient: imageQueueTimeoutUs = 33333us for targetFps = 30
[02-09-2026 14:07:27] Adding blockId
[02-09-2026 14:07:27] CameraMaster::addBlockId: custom interfaces have been disabled
[02-09-2026 14:07:27] devBlock: 0 Passive = 0 Interface = csi-ab Camera_name = V1SIM728MPRU4120HD1_5Des_CPHY_x4 Link = 0 GroupInit = 0 RecCfg = 0
[02-09-2026 14:07:27] SensorManager::addSensor DW_INVALID_ARGUMENT: CameraMaster:GetPlatformCfg: Failed to query platform cfg for camera: V1SIM728MPRU4120HD1_5Des_CPHY_x4
[02-09-2026 14:07:27] SensorManager::addSensorsFromRig() failed to add sensor from rig: camera:120-ab-0 camera.gmsl camera-name=V1SIM728MPRU4120HD1,interface=csi-ab,link=0,deserializer=MAX96724_Fusa_nv,fifo-size=3,output-format=processed,format=mp4,file-buffer-size=16777216 (Error: DW_INVALID_ARGUMENT)
terminate called after throwing an instance of 'dw::core::Exception'
  what():  DW_INVALID_ARGUMENT: SensorManager::SensorManager() Failed to add sensors from rig
Aborted

I have also tested each camera in it’s own rig file as well as together and the 30 and 120 cameras are the ones that are throwing errors standalone or together.

Dear @brad.pankow1 ,
I have shared new patch lib via PM. could you please provide feedback

That new library worked for me, thank you. Is this a bug in driveworks that’s causing this issue? I’m not exactly clear on what’s happening and what changed here.

Yes. There is bug last shared DW patch library.
Thanks for bringing to our notice..