Sony IMX728: failed to read deserializer

Hello @SivaRamaKrishnaNV ,
The camera_sample app does not work for single camera.
The command used:
sudo ./sample_camera --rig test.rig.json --offscreen 2
The RIG File (for interface I have tried combinations in range csi-e and csi-f + links 0..3):

{
    "rig": {
        "sensors": [
            {
                "name": "camera:sensor:name",
                "nominalSensor2Rig_FLU": {
                    "quaternion": [
                        0.0,
                        0.0,
                        0.0,
                        1.0
                    ],
                    "t": [
                        0.0,
                        0.0,
                        0.0
                    ]
                },
                "parameter": "camera-name=IMX728_RGGB,interface=csi-e,link=0,output-format=processed,isp-mode=yuv420-uint8,file-buffer-size=16777216,skip-eeprom=1,fifo-size=4",
                "properties": null,
                "protocol": "camera.gmsl"
            }
        ],
        "vehicle": {
            "valid": false
        },
        "vehicleio": []
    },
    "version": 8
}

The log:

[DW][ERROR][getBasePathFor] Warning: SamplesDataPath::getBasePathFor(): 'DATA_ROOT' not found in search paths [/home/thor/data | /nvidia-hpc/bin/dw_samples.runfiles/av/data | /nvidia-hpc/bin/dw_samples/sample_camera.runfiles/av/data | /nvidia-hpc/bin/dw_samples/data | /nvidia-hpc/bin/data | /nvidia-hpc/data]
[DW][INFO] ProgramArguments: Missing argument 'dwTracePath' requested
[DW][INFO] WindowEGL: find EGL devices
[DW][INFO] WindowEGL: found 1 EGL devices
[DW][INFO] WindowEGL: init EGL with GLES3 context
[DW][INFO] WindowEGL: bind OpenGLES3 API
[DW][INFO] WindowEGL: offscreen mode -> use EGL PBuffer surface 1280x800
[DW][INFO] WindowEGL: create EGL context
[DW][INFO] WindowEGL: assign EGL context to current thread
[08-01-2026 07:39:04] Adding variable DW_Base:DW_Version
[08-01-2026 07:39:04] Added variable DW_Base:DW_Version
[08-01-2026 07:39:04] Platform: number of GPU devices detected 1
[08-01-2026 07:39:04] Platform: currently selected GPU device 0, Resource Data Dir: trt_10_08_10_05, Arch: ga10b
[08-01-2026 07:39:04] Platform: currently selected GPU device integrated ID 0
[08-01-2026 07:39:04] Context::mountResourceCandidateDataPath resource FAILED to mount from './resources': VirtualFileSystem: Failed to mount './resources/resources.pak'
[08-01-2026 07:39:04] Context::mountResourceCandidateDataPath resource FAILED to mount from '/home/thor/data': VirtualFileSystem: Failed to mount '/home/thor/data/resources.pak'
[08-01-2026 07:39:04] Context::findDataRootInPathWalk: Could not find ./data/DATA_ROOT in upto 7 parent directories from /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_base.so.7.0
[08-01-2026 07:39:04] Context::findDataRootInPathWalk: Could not find ./data/DATA_ROOT in upto 7 parent directories from /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_base.so.7.0
[08-01-2026 07:39:04] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_base.so.7.0
[08-01-2026 07:39:04] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_base.so.7.0
[08-01-2026 07:39:04] SDK: No resources(.pak) mounted, some modules will not function properly
[08-01-2026 07:39:04] [08-01-2026 07:39:04] Initialize DriveWorks SDK v7.0.3
[08-01-2026 07:39:04] [08-01-2026 07:39:04] Release build with GNU 13.2.0 from  against Drive PDK v7.0.3.0
[08-01-2026 07:39:04] SensorFactory::createSensor() -> time.nvpps, nvpps-device=/dev/nvpps0
[08-01-2026 07:39:04] Found driver: time.nvpps
[08-01-2026 07:39:04] TimeSensorNVPPS: initialized with no UTC time reference.
[08-01-2026 07:39:04] output-timestamp parameter is deprecated and will be removed in next release[08-01-2026 07:39:04] SensorFactory: Override default timeSensor with the user passed one
[08-01-2026 07:39:04] EndpointNVPPS: started on /dev/nvpps0
[08-01-2026 07:39:04] SensorFactory::loadPluginLibraryHelper:Succeed to load dynamic lib - /usr/local/driveworks/targets/aarch64-Linux/lib/libsensor_plugin_public_radar.so
[08-01-2026 07:39:04] fromFile: Loading rig file: test.rig.json
[08-01-2026 07:39:04] createFromVehicleVIN: Failed to open a file '/tmp/car_vin' - file likely does not exist - skipping overlay
[08-01-2026 07:39:04] No valid data file found for camera:sensor:name in parameter string: camera-name=IMX728_RGGB,interface=csi-e,link=0,output-format=processed,isp-mode=yuv420-uint8,file-buffer-size=16777216,skip-eeprom=1,fifo-size=4 (using configuration folder ./)
[08-01-2026 07:39:04] createFromVehicleVIN: Failed to open a file '/tmp/car_vin' - file likely does not exist - skipping overlay
[DW][INFO] onInitialize: creating camera.gmsl with params: camera-name=IMX728_RGGB,interface=csi-e,link=0,output-format=processed,isp-mode=yuv420-uint8,file-buffer-size=16777216,skip-eeprom=1,fifo-size=4
[08-01-2026 07:39:04] SensorFactory::createSensor() -> camera.gmsl, camera-name=IMX728_RGGB,interface=csi-e,link=0,output-format=processed,isp-mode=yuv420-uint8,file-buffer-size=16777216,skip-eeprom=1,fifo-size=4
[08-01-2026 07:39:04] Found driver: camera.gmsl
[08-01-2026 07:39:04] CameraBase: pool size set to 16
[08-01-2026 07:39:04] SensorFactory::createSensor() -> camera.gmsl.master, 
[08-01-2026 07:39:04] Found driver: camera.gmsl.master
[08-01-2026 07:39:04] CameraMaster::parseDevBlock Getting device info list.
[08-01-2026 07:39:04] CameraClient: isYUVCamera, m_cameraInfo is null
[08-01-2026 07:39:04] CameraClient, setting isp-mode to yuv420-uint8
[08-01-2026 07:39:04] CameraClient, isp-mode set to yuv420-uint8
[08-01-2026 07:39:04] Platform: Detected Drive Thor P3960
[08-01-2026 07:39:04] Adding blockId
[08-01-2026 07:39:04] CameraMaster::addBlockId: custom interfaces have been disabled
[08-01-2026 07:39:04] devBlock: 0 Passive = 0 Interface = csi-e Camera_name = IMX728_RGGB Link = 0 GroupInit = 0 RecCfg = 0
[08-01-2026 07:39:04] Camera Match Name: IMX728_RGGB Description: Sony IMX728 RGGB module, MAX96717, 30FPS linkIndex: 4294967295 serInfo.Name: MAX96717F
[08-01-2026 07:39:04] Authentication is disabled for camera IMX728_RGGB
[08-01-2026 07:39:04] CameraMaster::parseCSIPortMapInfo failed to read deserializer Tx port number from device tree, error  No such file or directory
[08-01-2026 07:39:04] CameraMaster::parseCSIPortMapInfo setting default deserializer Tx port to :  4294967295
[08-01-2026 07:39:04] Not an EEPROM supported camera IMX728_RGGB
[08-01-2026 07:39:04] Driveworks exception thrown: DW_INVALID_ARGUMENT: CameraMaster: no deserializer detected, cannot initialize NvSIPL.

**** Stack trace ****
0xffff8932dc0c : dw::core::ExceptionWithStackTrace::traceStack()+188 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdwshared.so.7.0
0xffff89c8c158 : ???()+0 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff89ea9ab4 : dw::sensors::camera::CameraMaster::addConfiguration(dw::sensors::camera::CameraCfgParams&)+5316 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff89e85344 : dw::sensors::camera::CameraClient::praseCameraCfgParams(dw::core::BaseString<512ul, char> const&, dw::sensors::camera::CameraCfgParams&)+772 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff89e88e24 : dw::sensors::camera::CameraClient::setupProtocol(dwSensorParams const&, dw::core::BaseString<512ul, char> const&, dw::core::BaseString<32ul, char> const&)+708 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff89e9439c : dw::sensors::camera::CameraClient::CameraClient(dw::sensors::SensorFactory&, dwSensorParams const&)+1516 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff89e94b28 : dw::sensors::camera::CameraClient::create(dw::sensors::SensorFactory*, dwSensorParams const&)+56 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff89e50a78 : dw::sensors::camera::CameraGMSLSelector::create(dw::sensors::SensorFactory*, dwSensorParams const&)+600 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff8a51cf9c : ???()+0 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff8a51c170 : dw::sensors::SensorFactory::createSensor(dwSensorParams const&)+1152 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff8a404e2c : dwSAL_createSensor()+124 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xaaaabf385ffc : ???()+0 at /nvidia-hpc/bin/dw_samples/sample_camera
0xaaaabf399ef8 : ???()+0 at /nvidia-hpc/bin/dw_samples/sample_camera
0xaaaabf39bf34 : ???()+0 at /nvidia-hpc/bin/dw_samples/sample_camera
0xaaaabf3a3fa4 : ???()+0 at /nvidia-hpc/bin/dw_samples/sample_camera
0xaaaabf3833a8 : ???()+0 at /nvidia-hpc/bin/dw_samples/sample_camera
0xffff88a084c4 : ???()+0 at /lib/aarch64-linux-gnu/libc.so.6
0xffff88a08598 : __libc_start_main()+152 at /lib/aarch64-linux-gnu/libc.so.6
0xaaaabf3835b0 : ???()+0 at /nvidia-hpc/bin/dw_samples/sample_camera


terminate called after throwing an instance of 'std::runtime_error'
  what():  [2026-01-08 07:39:04] [DW][ERROR][dwSAL_createSensor] DW Error DW_INVALID_ARGUMENT executing DW function:
 dwSAL_createSensor(&camera_list[camera_idx], params_list[camera_idx], sal)
 at /usr/local/driveworks/samples/src/sensors/camera/camera/CameraCustomSimpleApp.cpp:151
Aborted

I want to double check if the above commands are working when cameras connected in Red color circled port?

@SivaRamaKrishnaNV , yes, second from the top port

@SivaRamaKrishnaNV ,
As fdiscussed before, I am attaching a photo of camera connection.

@SivaRamaKrishnaNV could you please let me know if you have an update on this?

Could you try with below gmsl parameter in rig.json
camera-name= IMX728_RGGB,interface=csi-ef,CPHY-mode=1,link=0,output-format=processed,async-record=1,file-buffer-size=16777216 and share your observation. Use --offscreen=1 flag with sample_camera to avoid GUI display.

@SivaRamaKrishnaNV
Thanks for the instructions.
Unfortunately, the observations are the same.
I have run the sample_camera application with following RIG File:

{
    "rig": {
        "sensors": [
            {
                "name": "camera:sensor:name",
                "nominalSensor2Rig_FLU": {
                    "quaternion": [
                        0.0,
                        0.0,
                        0.0,
                        1.0
                    ],
                    "t": [
                        0.0,
                        0.0,
                        0.0
                    ]
                },
                "parameter": "camera-name=IMX728_RGGB,interface=csi-ef,CPHY-mode=1,link=0,output-format=processed,async-record=1,file-buffer-size=16777216",
                "properties": null,
                "protocol": "camera.gmsl"
            }
        ],
        "vehicle": {
            "valid": false
        },
        "vehicleio": []
    },
    "version": 8
}

Run as follows: ./sample_camera --rig /tmp/rig.json --offscreen 1

The log is:

[DW][ERROR][getBasePathFor] Warning: SamplesDataPath::getBasePathFor(): 'DATA_ROOT' not found in search paths [/nvidia-hpc/data | /nvidia-hpc/bin/dw_samples.runfiles/av/data | /nvidia-hpc/bin/dw_samples/sample_camera.runfiles/av/data | /nvidia-hpc/bin/dw_samples/data | /nvidia-hpc/bin/data | /nvidia-hpc/data]
[DW][INFO] ProgramArguments: Missing argument 'dwTracePath' requested
[DW][INFO] WindowEGL: find EGL devices
[DW][INFO] WindowEGL: found 1 EGL devices
[DW][INFO] WindowEGL: init EGL with GLES3 context
[DW][INFO] WindowEGL: bind OpenGLES3 API
[DW][INFO] WindowEGL: offscreen mode -> use EGL PBuffer surface 1280x800
[DW][INFO] WindowEGL: create EGL context
[DW][INFO] WindowEGL: assign EGL context to current thread
[13-01-2026 14:20:51] Adding variable DW_Base:DW_Version
[13-01-2026 14:20:51] Added variable DW_Base:DW_Version
[13-01-2026 14:20:51] Platform: number of GPU devices detected 1
[13-01-2026 14:20:51] Platform: currently selected GPU device 0, Resource Data Dir: trt_10_08_10_05, Arch: ga10b
[13-01-2026 14:20:51] Platform: currently selected GPU device integrated ID 0
[13-01-2026 14:20:51] Context::mountResourceCandidateDataPath resource FAILED to mount from './resources': VirtualFileSystem: Failed to mount './resources/resources.pak'
[13-01-2026 14:20:51] Context::mountResourceCandidateDataPath resource FAILED to mount from '/nvidia-hpc/data': VirtualFileSystem: Failed to mount '/nvidia-hpc/data/resources.pak'
[13-01-2026 14:20:51] Context::findDataRootInPathWalk: Could not find ./data/DATA_ROOT in upto 7 parent directories from /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_base.so.7.0
[13-01-2026 14:20:51] Context::findDataRootInPathWalk: Could not find ./data/DATA_ROOT in upto 7 parent directories from /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_base.so.7.0
[13-01-2026 14:20:51] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_base.so.7.0
[13-01-2026 14:20:51] Context::findResourcesPackageInPathWalk: Could not find ./resources/resources.pak in upto 7 parent directories from /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_base.so.7.0
[13-01-2026 14:20:51] SDK: No resources(.pak) mounted, some modules will not function properly
[13-01-2026 14:20:51] [13-01-2026 14:20:51] Initialize DriveWorks SDK v7.0.3
[13-01-2026 14:20:51] [13-01-2026 14:20:51] Release build with GNU 13.2.0 from  against Drive PDK v7.0.3.0
[13-01-2026 14:20:51] SensorFactory::createSensor() -> time.nvpps, nvpps-device=/dev/nvpps0
[13-01-2026 14:20:51] Found driver: time.nvpps
[13-01-2026 14:20:51] TimeSensorNVPPS: initialized with no UTC time reference.
[13-01-2026 14:20:51] output-timestamp parameter is deprecated and will be removed in next release[13-01-2026 14:20:51] SensorFactory: Override default timeSensor with the user passed one
[13-01-2026 14:20:51] EndpointNVPPS: started on /dev/nvpps0
[13-01-2026 14:20:51] SensorFactory::loadPluginLibraryHelper:Succeed to load dynamic lib - /usr/local/driveworks/targets/aarch64-Linux/lib/libsensor_plugin_public_radar.so
[13-01-2026 14:20:51] fromFile: Loading rig file: /tmp/rig.json
[13-01-2026 14:20:51] createFromVehicleVIN: Failed to open a file '/tmp/car_vin' - file likely does not exist - skipping overlay
[13-01-2026 14:20:51] No valid data file found for camera:sensor:name in parameter string: camera-name=IMX728_RGGB,interface=csi-ef,CPHY-mode=1,link=0,output-format=processed,async-record=1,file-buffer-size=16777216 (using configuration folder /tmp/)
[13-01-2026 14:20:51] createFromVehicleVIN: Failed to open a file '/tmp/car_vin' - file likely does not exist - skipping overlay
[DW][INFO] onInitialize: creating camera.gmsl with params: camera-name=IMX728_RGGB,interface=csi-ef,CPHY-mode=1,link=0,output-format=processed,async-record=1,file-buffer-size=16777216
[13-01-2026 14:20:51] SensorFactory::createSensor() -> camera.gmsl, camera-name=IMX728_RGGB,interface=csi-ef,CPHY-mode=1,link=0,output-format=processed,async-record=1,file-buffer-size=16777216
[13-01-2026 14:20:51] Found driver: camera.gmsl
[13-01-2026 14:20:51] CameraBase: pool size set to 16
[13-01-2026 14:20:51] SensorFactory::createSensor() -> camera.gmsl.master, 
[13-01-2026 14:20:51] Found driver: camera.gmsl.master
[13-01-2026 14:20:51] CameraMaster::parseDevBlock Getting device info list.
[13-01-2026 14:20:51] CameraClient: isYUVCamera, m_cameraInfo is null
[13-01-2026 14:20:51] Platform: Detected Drive Thor P3960
[13-01-2026 14:20:51] Adding blockId
[13-01-2026 14:20:51] CameraMaster::addBlockId: custom interfaces have been disabled
[13-01-2026 14:20:51] devBlock: 0 Passive = 0 Interface = csi-ef Camera_name = IMX728_RGGB Link = 0 GroupInit = 0 RecCfg = 0
[13-01-2026 14:20:51] Camera Match Name: IMX728_RGGB Description: Sony IMX728 RGGB module, MAX96717, 30FPS linkIndex: 4294967295 serInfo.Name: MAX96717F
[13-01-2026 14:20:51] Authentication is disabled for camera IMX728_RGGB
[13-01-2026 14:20:51] CameraMaster::parseCSIPortMapInfo failed to read deserializer Tx port number from device tree, error  No such file or directory
[13-01-2026 14:20:51] CameraMaster::parseCSIPortMapInfo setting default deserializer Tx port to :  4294967295
[13-01-2026 14:20:51] Not an EEPROM supported camera IMX728_RGGB
[13-01-2026 14:20:51] Driveworks exception thrown: DW_INVALID_ARGUMENT: CameraMaster: no deserializer detected, cannot initialize NvSIPL.

**** Stack trace ****
0xffff9547dc0c : dw::core::ExceptionWithStackTrace::traceStack()+188 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdwshared.so.7.0
0xffff95ddc158 : ???()+0 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff95ff9ab4 : dw::sensors::camera::CameraMaster::addConfiguration(dw::sensors::camera::CameraCfgParams&)+5316 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff95fd5344 : dw::sensors::camera::CameraClient::praseCameraCfgParams(dw::core::BaseString<512ul, char> const&, dw::sensors::camera::CameraCfgParams&)+772 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff95fd8e24 : dw::sensors::camera::CameraClient::setupProtocol(dwSensorParams const&, dw::core::BaseString<512ul, char> const&, dw::core::BaseString<32ul, char> const&)+708 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff95fe439c : dw::sensors::camera::CameraClient::CameraClient(dw::sensors::SensorFactory&, dwSensorParams const&)+1516 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff95fe4b28 : dw::sensors::camera::CameraClient::create(dw::sensors::SensorFactory*, dwSensorParams const&)+56 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff95fa0a78 : dw::sensors::camera::CameraGMSLSelector::create(dw::sensors::SensorFactory*, dwSensorParams const&)+600 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff9666cf9c : ???()+0 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff9666c170 : dw::sensors::SensorFactory::createSensor(dwSensorParams const&)+1152 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xffff96554e2c : dwSAL_createSensor()+124 at /usr/local/driveworks/targets/aarch64-Linux/lib/libdw_sensors_std.so.7.0
0xaaaac1eccffc : ???()+0 at ./bin/dw_samples/sample_camera
0xaaaac1ee0ef8 : ???()+0 at ./bin/dw_samples/sample_camera
0xaaaac1ee2f34 : ???()+0 at ./bin/dw_samples/sample_camera
0xaaaac1eeafa4 : ???()+0 at ./bin/dw_samples/sample_camera
0xaaaac1eca3a8 : ???()+0 at ./bin/dw_samples/sample_camera
0xffff94b584c4 : ???()+0 at /lib/aarch64-linux-gnu/libc.so.6
0xffff94b58598 : __libc_start_main()+152 at /lib/aarch64-linux-gnu/libc.so.6
0xaaaac1eca5b0 : ???()+0 at ./bin/dw_samples/sample_camera


terminate called after throwing an instance of 'std::runtime_error'
  what():  [2026-01-13 14:20:51] [DW][ERROR][dwSAL_createSensor] DW Error DW_INVALID_ARGUMENT executing DW function:
 dwSAL_createSensor(&camera_list[camera_idx], params_list[camera_idx], sal)
 at /usr/local/driveworks/samples/src/sensors/camera/camera/CameraCustomSimpleApp.cpp:151
Aborted (core dumped)

Could you try adding deserializer=MAX96712_Fusa_nv,disable-custintf=1,output-format=raw+processed,format=mp4,to GMSL params.

@SivaRamaKrishnaNV ,

I have tried to run sample_camerawith two parameter lines ( just in case:) ):
1. The one you have suggested:
camera-name=IMX728_RGGB,interface=csi-ef,CPHY-mode=1,link=0,async-record=1,file-buffer-size=16777216,deserializer=MAX96712_Fusa_nv,disable-custintf=1,output-format=raw+processed,format=mp4
The error status is: Driveworks exception thrown: DW_INVALID_ARGUMENT: Invalid camera vendor type
The log: log_1.txt
2. Added deserializer line to parameters that worked previously for us on other platform:
camera-name=IMX728_RGGB,interface=csi-ef,link=0,isp-mode=yuv420-uint8,file-buffer-size=16777216,skip-eeprom=1,fifo-size=4,deserializer=MAX96712_Fusa_nv,disable-custintf=1,output-format=raw+processed,format=mp4
The error status is: Driveworks exception thrown: DW_UNEXPECTED_EVENT: CameraMaster::resume failed with sipl status 10
The log: log_2.txt

log_1.txt (82.2 KB)

log_2.txt (98.0 KB)

Could you add skip-eeprom=1, nito-file=</path/to/NITOFile> and see if it bypasses the error?

Is it with same camera module?

Could you also share nvsipl_query_sample output on target. Also, Which coax color you have on the port to connect camera?
From the shared nvsipl_camera commands, it looks like link=2,3 has cameras.

@SivaRamaKrishnaNV , thanks for your message.
I will post results as soon as I have a chance to perform the tests you suggested.

Hello @SivaRamaKrishnaNV ,
thanks for pointing out the incorrect link values. Luckily I was trying values in range 0-3 each time. :)

Is it with same camera module?
Yes, but those parameters are tested and are working on Orin.

I have added the suggested parameters and run tests:

“parameter”: “camera-name=IMX728_RGGB,interface=csi-ef,CPHY-mode=1,link=2,async-record=1,file-buffer-size=16777216,deserializer=MAX96712_Fusa_nv,disable-custintf=1,output-format=raw+processed,format=mp4,skip-eeprom=1, nito-file=/usr/share/camera/IMX728_RGGB.nito”,

In both cases sample_camera logs indicate errors and application becomes irresponsive:

Link 2:

[21-01-2026 20:24:54] CameraSynchronous::getNextFrame: Failed to read frame from camera with status : DW_NOT_READY
[21-01-2026 20:24:54] Camera: setErrorNoNewData detected for camera IMX728_RGGB

Link 3:

[21-01-2026 20:19:50] handleUserDefinedCallback: DeviceBlock: 0, callback is null
[21-01-2026 20:19:50] CameraSynchronous::getNextFrame: Failed to read frame from camera with status : DW_NOT_READY
[21-01-2026 20:19:50] SIPLDeviceBlockNotificationHandler: DeviceBlock: 0, NOTIF_ERROR_DESERIALIZER_FAILURE
[21-01-2026 20:19:50] SIPLDeviceBlockNotificationHandler: DeviceBlock[0] Deserializer Error Buffer: [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50] 0 [21-01-2026 20:19:50
....

Link 0 and 1 yeld the same results as before.

The full logs for sample_sameraon links 2 and 3 and nvsipl_query_sample :

log_port_2.txt (33.9 KB)

log_port_3.txt (4.2 MB)

nvsipl_query_sample-output.txt (125.9 KB)

NOTIF_ERROR_DESERIALIZER_FAILURE indicates issue with deserializer. Does nvsipl_camera working when you got this error? Can you poweroff/poweron the target and see if issue is observed.

@SivaRamaKrishnaNV , sorry for the late reply.
I’ll provide details once I am able to rerun the tests.

@SivaRamaKrishnaNV ,
I have rerun the tests. nvsipl_camera is working.
Powering machine off and on does help.

Please, note that I cannot terminate the sample_camera after running it with configuration from previous post. It stays running and does not close unless I reboot the target.

So sample_camera is working with your camera module after Powering machine off and on ?

Are you using CTRL+C to terminate application? After smooth closure of application you should see message like below

[26-01-2026 09:48:46] DriveworksGL SDK released
[DW][INFO] Release Successfully.

Sorry for confusion, I made a typo. Powering the Target off and on did not help :(
Ctrl+C does not work in that case.

There is one additional thing. In case it can help somehow to find the cause with the issues with DW API for Sony cameras.
Our team was provided with instructions to run nvsipl_camera on other ports.
Currently we have it running on Ports #1, #2 and #4 with following parameters:

  • sudo ./nvsipl_camera -c "IMX728_96724_RGGB_CPHY_x4" -m "0x1100 0x0000 0x0000 0x0000" --showfps --disableISP2Output --disableISP1Output
  • sudo ./nvsipl_camera -c "IMX728_96724_RGGB_CPHY_x4" -m "0x00100 0x0000 0x0000 0x1100" --showfps --disableISP2Output --disableISP1Output
  • sudo ./nvsipl_camera -c "IMX728_RGGB_CPHY_x4" -m "0x0000 0x0000 0x1100 0x0000" --showfps --disableISP2Output --disableISP1Output

I have tried to run the camera_sample on other ports with interface=csi-ab,link=2and interface=csi-gh,link=2. But no luck. However, the issue with Ctrl+C not working is also not present on ports 1 and 4.

So,

  1. first command is for camera connected in port 4 link 2,3.
  2. Second command seems to have some typo, looks like two camera connected in port 1(link 2,3) and 1 camera connected on port 4(link 1?)
  3. Third command is for 2 camera connected at port 2(link 2,3)

All the above commands working without any issue?

To debug the issue on DW, Lets stick to use single camera on port 2 with camera connected at link 2.

When you use above params you seems to notice CameraSynchronous::getNextFrame: Failed to read frame from camera with status : DW_NOT_READY error . Is this noticed in fresh run after reboot?

Please clear the /var/log/syslog before running sample_Camera and set env variaible export DW_SIPL_NVMEDIA_VERBOSITY=4 and share /var/log/syslog and sample_camera log for further debugging.

Sorry for the late reply.
Yes, everything you have written is correct.

Is this noticed in fresh run after reboot?
Yes, it is present after reboot :(

I unfortunately do not have a posibility to rerun the test. Will provide details as soon as I have the results.

Could you please provide any update for this topic?