GMSL camera with Drive PX2

Hi I am using Nvidia provided Sekonix SF3223 Camera module and SF3322 Camera module; and using sample_camera_gmsl sample application to visualize camera feed on our Drive PX2 AutoChauffeur.

I am unable to to get camera started and always gets an error as below[console output]:

[8-2-2019 13:57:31] Initialize DriveWorks SDK v1.2.400
[8-2-2019 13:57:31] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[8-2-2019 13:57:31] Platform: Detected Drive PX2 - Tegra A
[8-2-2019 13:57:31] TimeSource: monotonic epoch time offset is 1549662416031627
[8-2-2019 13:57:31] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[8-2-2019 13:57:31] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[8-2-2019 13:57:31] Platform: number of GPU devices detected 2
[8-2-2019 13:57:31] Platform: currently selected GPU device discrete ID 0
[8-2-2019 13:57:31] SDK: Resources mounted from .././data/resources
[8-2-2019 13:57:31] SDK: Create NvMediaDevice
[8-2-2019 13:57:31] SDK: Create NvMediaIPPManager
[8-2-2019 13:57:31] SDK: use EGL display as provided
[8-2-2019 13:57:31] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,camera-type=c-ov10640-ab,csi-port=a,slave=0
[8-2-2019 13:57:31] CameraGMSL: camera-type provided is either not valid or not suppored on this SOC
[8-2-2019 13:57:31] Driveworks exception thrown: DW_INVALID_ARGUMENT: CameraGMSL: camera-type params

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2019-02-08 13:57:31] DW Error DW_INVALID_ARGUMENT executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /builds/driveav/dw/sdk/samples/sensors/camera_gmsl/main.cpp:153
Aborted (core dumped)

Tried it without giving camera argument, which takes default type as sf3324, still similar error:

[8-2-2019 13:49:12] Initialize DriveWorks SDK v1.2.400
[8-2-2019 13:49:12] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[8-2-2019 13:49:12] Platform: Detected Drive PX2 - Tegra A
[8-2-2019 13:49:12] TimeSource: monotonic epoch time offset is 1549662416031627
[8-2-2019 13:49:12] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[8-2-2019 13:49:12] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[8-2-2019 13:49:12] Platform: number of GPU devices detected 2
[8-2-2019 13:49:12] Platform: currently selected GPU device discrete ID 0
[8-2-2019 13:49:12] SDK: Resources mounted from .././data/resources
[8-2-2019 13:49:12] SDK: Create NvMediaDevice
[8-2-2019 13:49:12] SDK: Create NvMediaIPPManager
[8-2-2019 13:49:12] SDK: use EGL display as provided
[8-2-2019 13:49:12] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,camera-type=ar0231-rccb-bae-sf3324,csi-port=a,slave=0
[8-2-2019 13:49:12] CameraGMSL: required FPS = 30, resolution = 1920x1208
receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

	sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update

nvmedia isc: TacpCamPowerControl: 237: TACP command failed with ret -5
iscRootDevOpen: Failed to power on camera(s)
NvMediaISCRootDeviceCreate: Unable to open root device
nvmedia: ERROR: Init: Failed to create NvMedia ISC root device
[8-2-2019 13:49:17] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2019-02-08 13:49:17] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /builds/driveav/dw/sdk/samples/sensors/camera_gmsl/main.cpp:153
Aborted (core dumped)

P.S: Aurix is up-to-date.
DriveWorks version: 1.2.400
Aurix firmware version: 4.02.04.00

Dear deepd,

According to the log, the camera options seem to be wrong.

  1. camera-type=c-ov10640-ab
  2. camera-type=ar0231-rccb-bae-sf3324

Please refer to Supported sensors in DW’ doc
DriveWorks SDK Reference -> Development Guide Sensor Abstraction Layer -> Sensors -> Camera

Could you please try to run the app with the following camera options? Thanks.

ar0231-rccb-ae-ss3323
ar0231-rccb-bae-ss3323
ar0231-rccb-ae-sf3324
ar0231-rccb-bae-sf3324

Dear deepd,
Adding to Steve’s suggestion, /usr/local/driveworks/bin/sample_sensors_info lists out all supported options for each sensor.

Thanks @SteveNV and @SivaRamaKrishna for prompt reply.

@SteveNV: I tired to execute sample app with your suggested camera type argument and I still get the same error.

Camera: Sekonix SF3323 Rev6 RCCB, which came along with Drive PX2 kit, connected on A0.

ar0231-rccb-ae-ss3323

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ ./sample_camera_gmsl --camera-type=ar0231-rccb-ae-ss3323
[8-2-2019 14:45:42] Initialize DriveWorks SDK v1.2.400
[8-2-2019 14:45:42] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[8-2-2019 14:45:42] Platform: Detected Drive PX2 - Tegra A
[8-2-2019 14:45:42] TimeSource: monotonic epoch time offset is 1549662415914759
[8-2-2019 14:45:42] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[8-2-2019 14:45:42] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[8-2-2019 14:45:42] Platform: number of GPU devices detected 2
[8-2-2019 14:45:42] Platform: currently selected GPU device discrete ID 0
[8-2-2019 14:45:42] SDK: Resources mounted from .././data/resources
[8-2-2019 14:45:42] SDK: Create NvMediaDevice
[8-2-2019 14:45:42] SDK: Create NvMediaIPPManager
[8-2-2019 14:45:42] SDK: use EGL display as provided
[8-2-2019 14:45:42] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,camera-type=ar0231-rccb-ae-ss3323,csi-port=a,slave=0
[8-2-2019 14:45:42] CameraGMSL: required FPS = 30, resolution = 1920x1208
receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

	sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update

nvmedia isc: TacpCamPowerControl: 237: TACP command failed with ret -5
iscRootDevOpen: Failed to power on camera(s)
NvMediaISCRootDeviceCreate: Unable to open root device
nvmedia: ERROR: Init: Failed to create NvMedia ISC root device
[8-2-2019 14:45:47] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2019-02-08 14:45:47] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /builds/driveav/dw/sdk/samples/sensors/camera_gmsl/main.cpp:153
Aborted (core dumped)

ar0231-rccb-bae-ss3323

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-ss3323
[8-2-2019 14:47:20] Initialize DriveWorks SDK v1.2.400
[8-2-2019 14:47:20] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[8-2-2019 14:47:20] Platform: Detected Drive PX2 - Tegra A
[8-2-2019 14:47:20] TimeSource: monotonic epoch time offset is 1549662415914759
[8-2-2019 14:47:20] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[8-2-2019 14:47:20] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[8-2-2019 14:47:20] Platform: number of GPU devices detected 2
[8-2-2019 14:47:20] Platform: currently selected GPU device discrete ID 0
[8-2-2019 14:47:20] SDK: Resources mounted from .././data/resources
[8-2-2019 14:47:20] SDK: Create NvMediaDevice
[8-2-2019 14:47:20] SDK: Create NvMediaIPPManager
[8-2-2019 14:47:20] SDK: use EGL display as provided
[8-2-2019 14:47:20] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,camera-type=ar0231-rccb-bae-ss3323,csi-port=a,slave=0
[8-2-2019 14:47:20] CameraGMSL: required FPS = 30, resolution = 1920x1208
receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

	sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update

nvmedia isc: TacpCamPowerControl: 237: TACP command failed with ret -5
iscRootDevOpen: Failed to power on camera(s)
NvMediaISCRootDeviceCreate: Unable to open root device
nvmedia: ERROR: Init: Failed to create NvMedia ISC root device
[8-2-2019 14:47:25] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2019-02-08 14:47:25] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /builds/driveav/dw/sdk/samples/sensors/camera_gmsl/main.cpp:153
Aborted (core dumped)

ar0231-rccb-ae-sf3324

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ ./sample_camera_gmsl --camera-type=ar0231-rccb-ae-sf3324
[8-2-2019 14:48:13] Initialize DriveWorks SDK v1.2.400
[8-2-2019 14:48:13] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[8-2-2019 14:48:13] Platform: Detected Drive PX2 - Tegra A
[8-2-2019 14:48:13] TimeSource: monotonic epoch time offset is 1549662415914759
[8-2-2019 14:48:13] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[8-2-2019 14:48:13] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[8-2-2019 14:48:13] Platform: number of GPU devices detected 2
[8-2-2019 14:48:13] Platform: currently selected GPU device discrete ID 0
[8-2-2019 14:48:13] SDK: Resources mounted from .././data/resources
[8-2-2019 14:48:13] SDK: Create NvMediaDevice
[8-2-2019 14:48:13] SDK: Create NvMediaIPPManager
[8-2-2019 14:48:13] SDK: use EGL display as provided
[8-2-2019 14:48:13] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,camera-type=ar0231-rccb-ae-sf3324,csi-port=a,slave=0
[8-2-2019 14:48:13] CameraGMSL: required FPS = 30, resolution = 1920x1208
receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

	sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update

nvmedia isc: TacpCamPowerControl: 237: TACP command failed with ret -5
iscRootDevOpen: Failed to power on camera(s)
NvMediaISCRootDeviceCreate: Unable to open root device
nvmedia: ERROR: Init: Failed to create NvMedia ISC root device
[8-2-2019 14:48:18] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2019-02-08 14:48:18] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /builds/driveav/dw/sdk/samples/sensors/camera_gmsl/main.cpp:153
Aborted (core dumped)

ar0231-rccb-bae-sf3324 (seems it’s the default argument)

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-sf3324
[8-2-2019 14:49:38] Initialize DriveWorks SDK v1.2.400
[8-2-2019 14:49:38] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[8-2-2019 14:49:38] Platform: Detected Drive PX2 - Tegra A
[8-2-2019 14:49:38] TimeSource: monotonic epoch time offset is 1549662415914759
[8-2-2019 14:49:38] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[8-2-2019 14:49:38] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[8-2-2019 14:49:38] Platform: number of GPU devices detected 2
[8-2-2019 14:49:38] Platform: currently selected GPU device discrete ID 0
[8-2-2019 14:49:38] SDK: Resources mounted from .././data/resources
[8-2-2019 14:49:38] SDK: Create NvMediaDevice
[8-2-2019 14:49:38] SDK: Create NvMediaIPPManager
[8-2-2019 14:49:38] SDK: use EGL display as provided
[8-2-2019 14:49:38] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,camera-type=ar0231-rccb-bae-sf3324,csi-port=a,slave=0
[8-2-2019 14:49:38] CameraGMSL: required FPS = 30, resolution = 1920x1208
receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

	sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update

nvmedia isc: TacpCamPowerControl: 237: TACP command failed with ret -5
iscRootDevOpen: Failed to power on camera(s)
NvMediaISCRootDeviceCreate: Unable to open root device
nvmedia: ERROR: Init: Failed to create NvMedia ISC root device
[8-2-2019 14:49:43] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2019-02-08 14:49:43] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /builds/driveav/dw/sdk/samples/sensors/camera_gmsl/main.cpp:153
Aborted (core dumped)

I also tried with below arguments:
ar0231
ar0231-rccb

and almost of the supported sensor type enlisted in the output of

./sample_sensor_info

I even tired to connect camera module on B0 with --camera-port=b as additional argument, still get same error. Also tired to connect SF3322, and still the same.

A quick question, in the output of sample_sensor_info app; I don’t see any supported camera type as sf3322 or sf3323; only have ss3322 and ss3323. Do you think it has to do something with the above error?

Let me know if you want any additional details about the setup.

Dear deepd,

Could you please try to run the sample app with sudo permission like below?

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ sudo ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-sf3324 --camera-port=a

One more thing, could you let us know what Aurix FW version is?

You can get the following information by running saple.
Please see Platform: OS_DRIVE_V5L - CURRENT: Sensor [3] part

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ sudo ./sample_sensors_info
[22-2-2019 10:25:59] Initialize DriveWorks SDK v1.2.400
[22-2-2019 10:25:59] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[22-2-2019 10:25:59] Platform: Detected Drive PX2 - Tegra A
[22-2-2019 10:25:59] TimeSource: monotonic epoch time offset is 1548831126524568
[22-2-2019 10:25:59] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[22-2-2019 10:25:59] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[22-2-2019 10:26:0] Platform: number of GPU devices detected 2
[22-2-2019 10:26:0] Platform: currently selected GPU device discrete ID 0
[22-2-2019 10:26:0] SDK: Resources mounted from /usr/local/driveworks-1.2/data/resources
[22-2-2019 10:26:0] SDK: Create NvMediaDevice
[22-2-2019 10:26:0] SDK: Create NvMediaIPPManager
[22-2-2019 10:26:0] egl::Display: found 2 EGL devices
[22-2-2019 10:26:0] egl::Display: use drm device: drm-nvdc
Platform: OS_LINUX:
   Sensor [0] : can.socket ? device=can0[,fifo-size=1024]
   Sensor [1] : can.virtual ? file=/path/to/file.can[,create_seek,default_timeout_us,time-offset=0]
   Sensor [2] : camera.virtual ? video/file=filepath.{h264,raw,lraw}[,timestamp=file.txt][,create_seek][,time-offset=0]
   Sensor [3] : camera.nvidia-ip ? host=<ip_addr>, port=<TCP port number>
   Sensor [4] : camera.usb ? device=0
   Sensor [5] : camera.pointgrey ? device=0[,fps=30]
   Sensor [6] : gps.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=nmea0183][,fifo-size=1024]]
   Sensor [7] : gps.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=true,time-offset=0]
   Sensor [8] : gps.xsens ? device=0[,frequency=100,time-smoothing=true,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [9] : gps.novatel ? [fifo-size=1024]
   Sensor [10] : gps.dataspeed ? can-proto=can.socket,can-params=device=canX[,fifo-size=1024]
   Sensor [11] : imu.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=xsens_nmea][,fifo-size=1024]]
   Sensor [12] : imu.xsens ? device=0[,frequency=100,time-smoothing=true,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [13] : imu.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=true][,fifo-size=1024][,time-offset=0]
   Sensor [14] : imu.novatel ? [fifo-size=1024]
   Sensor [15] : imu.dataspeed ? can-proto=can.socket,can-params=device=canX[,fifo-size=1024]
   Sensor [16] : lidar.virtual ? file=filepath.bin[,create_seek,default_timeout_us,decoder=filepath.so,time-smoothing=false,decoding=true,time-offset=0]
   Sensor [17] : lidar.socket ? ip=X.X.X.X,port=XXXX,device={QUAN_M81A, IBEO_LUX, VELO_VLP16, VELO_VLP16HR, VELO_HDL32E, VELO_VLP32C, VELO_HDL64E, CUSTOM},scan-frequency=XX.X[,protocol=xxx,multicast-ip=X.X.X.X,decoder=filepath.so,time-smoothing=false]
   Sensor [18] : radar.virtual ? file=filepath.bin,time-smoothing=true[,decoder=filepath.so,create_seek,default_timeout_us,decoding=true,time-offset=0]
   Sensor [19] : radar.socket ? ip=X.X.X.X,port=XXXX,device={DELPHI_ESR2_5, CONTINENTAL_ARS430, CUSTOM},multicast-ip=X.X.X.X],time-smoothing=true,isInverted=false,slave=false[,decoder=filepath.so,protocol=xxx]
   Sensor [20] : radar.can ? can-driver=can.xxx,can-bus=xxx,can-base-id=0x460,device={CONTINENTAL_ARS430_CAN}[,aurix-can-ip=X.X.X.X.X],[aurix-can-aport=XXXX][,aurix-can-bport=XXXX][,virtual-file=filepath.bin][,time-smoothing=false]

<b>Platform: OS_DRIVE_V5L - CURRENT:</b>
   Sensor [0] : can.socket ? device=can0[,fifo-size=1024]
   Sensor [1] : can.aurix ? ip=10.0.0.1,bus={a,b,c,d}[,aport=50000,bport=60395][,fifo-size=1024]
   Sensor [2] : can.virtual ? file=/path/to/file.can[,create_seek,default_timeout_us,time-offset=0]
<b>   Sensor [3] : camera.gmsl ? csi-port={a,c,e,g},camera-count={1,2,3,4},(Parker) camera-type={ov10635, ov10640-bggr-ae-svc210, ov10640-bggr-ae-svc212, ar0231-grbg-ae-sd3321, ar0231-rccb-ae-ss3322,ar0231-rccb-bae-ss3322, ar0231-rccb-ae-ss3323, ar0231-rccb-bae-ss3323, ar0231-rccb-ae-sf3324,ar0231-rccb-bae-sf3324, ar0231-rccb-ae-sf3325, ar0231-rccb-bae-sf3325},(Xavier) camera-type={ar0231-rccb-bae-sf3324, ar0231-rccb-bae-sf3325, ar0144-cccc-none-gazet1},output-format={yuv+raw+data}[,slave={0,1}][,fifo-size={3..20}][,custom-board=0][,camera-mask={0001|0010|0011|..|1111}][,warn-per-frame={0,1}]</b>
   Sensor [4] : camera.virtual ? video/file=filepath.{h264,raw,lraw}[,timestamp=file.txt][,create_seek][,time-offset=0]
   Sensor [5] : camera.usb ? device=0
   Sensor [6] : camera.pointgrey ? device=0[,fps=30]
   Sensor [7] : camera.nvidia-ip ? host=[ip_addr], port=[TCP port number]
   Sensor [8] : gps.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=nmea0183]][,fifo-size=1024]
   Sensor [9] : gps.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [10] : gps.xsens ? device=0[,frequency=100,time-smoothing=false,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [11] : gps.novatel ? [fifo-size=1024]
   Sensor [12] : gps.dataspeed ? can-proto=can.socket,can-params=device=canX[,fifo-size=1024]
   Sensor [13] : imu.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=xsens_nmea]][,fifo-size=1024]
   Sensor [14] : imu.xsens ? device=0[,frequency=100,time-smoothing=false,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [15] : imu.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [16] : imu.novatel ? [fifo-size=1024]
   Sensor [17] : imu.dataspeed ? can-proto=can.socket,can-params=device=canX[,fifo-size=1024]
   Sensor [18] : lidar.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,decoding=true,time-offset=0]
   Sensor [19] : lidar.socket ? ip=X.X.X.X,port=XXXX,device={QUAN_M81A, IBEO_LUX, VELO_VLP16, VELO_VLP16HR, VELO_HDL32E, VELO_VLP32C, VELO_HDL64E, CUSTOM},scan-frequency=XX.X[,protocol=xxx,multicast-ip=X.X.X.X,decoder=filepath.so,time-smoothing=false]
   Sensor [20] : radar.virtual ? file=filepath.bin,time-smoothing=true[,decoder=filepath.so,create_seek,default_timeout_us,decoding=true,time-offset=0]
   Sensor [21] : radar.socket ? ip=X.X.X.X,port=XXXX,device={DELPHI_ESR2_5, CONTINENTAL_ARS430, CUSTOM},multicast-ip=X.X.X.X,time-smoothing=true,isInverted=false,slave=false[,decoder=filepath.so,protocol=xxx]
   Sensor [22] : radar.can ? can-driver=can.xxx,can-bus=xxx,can-base-id=0x460,device={CONTINENTAL_ARS430_CAN}[,aurix-can-ip=X.X.X.X.X],[aurix-can-aport=XXXX][,aurix-can-bport=XXXX][,virtual-file=filepath.bin]

Platform: OS_QNX:
   Sensor [0] : can.socket ? device=can0
   Sensor [1] : can.virtual ? file=/path/to/file.can[,create_seek][,time-offset=0]
   Sensor [2] : camera.gmsl ? csi-port={a,c,e,g},camera-count={1,2,3,4},camera-type={ar0231-rccb-bae-sf3324, ar0231-rccb-bae-sf3325},output-format={yuv+raw+data}[,slave={0,1}][,fifo-size={3..20}][,custom-board=0][,camera-mask={0001|0010|0011|..|1111}][,warn-per-frame={0,1}]
   Sensor [3] : camera.virtual ? video/file=filepath.{h264,raw}[,timestamp=file.txt][,create_seek][,time-offset=0]
   Sensor [4] : gps.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=nmea0183]][,fifo-size=1024]
   Sensor [5] : gps.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [6] : gps.xsens ? device=0[,frequency=100,time-smoothing=false,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [7] : gps.dataspeed ? can-proto=can.socket/aurix,can-params=device=canX[,fifo-size=1024]
   Sensor [8] : imu.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=xsens_nmea]][,fifo-size=1024]
   Sensor [9] : imu.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [10] : imu.xsens ? device=0[,frequency=100,time-smoothing=false,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [11] : imu.dataspeed ? can-proto=can.socket/aurix,can-params=device=canX[,fifo-size=1024]
   Sensor [12] : lidar.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [13] : lidar.socket ? ip=X.X.X.X,port=XXXX,device={QUAN_M81A, IBEO_LUX, VELO_VLP16, VELO_VLP16HR, VELO_HDL32E, VELO_VLP32C, VELO_HDL64E, CUSTOM},scan-frequency=XX.X[,protocol=xxx,multicast-ip=X.X.X.X,decoder=filepath.so,time-smoothing=false]
   Sensor [14] : radar.virtual ? file=filepath.bin,time-smoothing=true[,decoder=filepath.so,create_seek,default_timeout_us,decoding=false,time-offset=0]
   Sensor [15] : radar.socket ? ip=X.X.X.X,port=XXXX,device={DELPHI_ESR2_5, CONTINENTAL_ARS430, CUSTOM},multicast-ip=X.X.X.X],time-smoothing=true,isInverted=false[,decoder=filepath.so,protocol=xxx]
   Sensor [16] : radar.can ? can-driver=can.xxx,can-bus=xxx,can-base-id=0x460,device={CONTINENTAL_ARS430_CAN}[,aurix-can-ip=X.X.X.X.X],[aurix-can-aport=XXXX][,aurix-can-bport=XXXX][,virtual-file=filepath.bin]

[22-2-2019 10:26:0] SDK: Release NvMediaDevice
[22-2-2019 10:26:0] Driveworks SDK released
[22-2-2019 10:26:0] SDK: Release NvMedia2D
nvidia@tegra-ubuntu:/usr/local/driveworks/bin$

Hi @SteveNV,

I tried to run the app with sudo and error is still there. Here’s the console output:

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ sudo ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-sf3324 --camera-port=a
[sudo] password for nvidia: 
[8-2-2019 13:50:9] Initialize DriveWorks SDK v1.2.400
[8-2-2019 13:50:9] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[8-2-2019 13:50:9] Platform: Detected Drive PX2 - Tegra A
[8-2-2019 13:50:9] TimeSource: monotonic epoch time offset is 1549662415961631
[8-2-2019 13:50:9] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[8-2-2019 13:50:9] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[8-2-2019 13:50:9] Platform: number of GPU devices detected 2
[8-2-2019 13:50:9] Platform: currently selected GPU device discrete ID 0
[8-2-2019 13:50:9] SDK: Resources mounted from .././data/resources
[8-2-2019 13:50:9] SDK: Create NvMediaDevice
[8-2-2019 13:50:9] SDK: Create NvMediaIPPManager
[8-2-2019 13:50:9] SDK: use EGL display as provided
[8-2-2019 13:50:9] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,camera-type=ar0231-rccb-bae-sf3324,csi-port=a,slave=0
[8-2-2019 13:50:9] CameraGMSL: required FPS = 30, resolution = 1920x1208
receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

	sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update

nvmedia isc: TacpCamPowerControl: 237: TACP command failed with ret -5
iscRootDevOpen: Failed to power on camera(s)
NvMediaISCRootDeviceCreate: Unable to open root device
nvmedia: ERROR: Init: Failed to create NvMedia ISC root device
[8-2-2019 13:50:14] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2019-02-08 13:50:14] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /builds/driveav/dw/sdk/samples/sensors/camera_gmsl/main.cpp:153
Aborted (core dumped)

This is the output from sensor info sample application:

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ sudo ./sample_sensors_info 
[8-2-2019 13:52:32] Initialize DriveWorks SDK v1.2.400
[8-2-2019 13:52:32] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[8-2-2019 13:52:32] Platform: Detected Drive PX2 - Tegra A
[8-2-2019 13:52:32] TimeSource: monotonic epoch time offset is 1549662415961631
[8-2-2019 13:52:32] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[8-2-2019 13:52:32] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[8-2-2019 13:52:33] Platform: number of GPU devices detected 2
[8-2-2019 13:52:33] Platform: currently selected GPU device discrete ID 0
[8-2-2019 13:52:33] SDK: Resources mounted from /usr/local/driveworks-1.2/data/resources
[8-2-2019 13:52:33] SDK: Create NvMediaDevice
[8-2-2019 13:52:33] SDK: Create NvMediaIPPManager
[8-2-2019 13:52:33] egl::Display: found 2 EGL devices
[8-2-2019 13:52:33] egl::Display: use drm device: drm-nvdc
Platform: OS_LINUX: 
   Sensor [0] : can.socket ? device=can0[,fifo-size=1024]
   Sensor [1] : can.virtual ? file=/path/to/file.can[,create_seek,default_timeout_us,time-offset=0]
   Sensor [2] : camera.virtual ? video/file=filepath.{h264,raw,lraw}[,timestamp=file.txt][,create_seek][,time-offset=0]
   Sensor [3] : camera.nvidia-ip ? host=<ip_addr>, port=<TCP port number>
   Sensor [4] : camera.usb ? device=0
   Sensor [5] : camera.pointgrey ? device=0[,fps=30]
   Sensor [6] : gps.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=nmea0183][,fifo-size=1024]]
   Sensor [7] : gps.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=true,time-offset=0]
   Sensor [8] : gps.xsens ? device=0[,frequency=100,time-smoothing=true,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [9] : gps.novatel ? [fifo-size=1024]
   Sensor [10] : gps.dataspeed ? can-proto=can.socket,can-params=device=canX[,fifo-size=1024]
   Sensor [11] : imu.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=xsens_nmea][,fifo-size=1024]]
   Sensor [12] : imu.xsens ? device=0[,frequency=100,time-smoothing=true,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [13] : imu.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=true][,fifo-size=1024][,time-offset=0]
   Sensor [14] : imu.novatel ? [fifo-size=1024]
   Sensor [15] : imu.dataspeed ? can-proto=can.socket,can-params=device=canX[,fifo-size=1024]
   Sensor [16] : lidar.virtual ? file=filepath.bin[,create_seek,default_timeout_us,decoder=filepath.so,time-smoothing=false,decoding=true,time-offset=0]
   Sensor [17] : lidar.socket ? ip=X.X.X.X,port=XXXX,device={QUAN_M81A, IBEO_LUX, VELO_VLP16, VELO_VLP16HR, VELO_HDL32E, VELO_VLP32C, VELO_HDL64E, CUSTOM},scan-frequency=XX.X[,protocol=xxx,multicast-ip=X.X.X.X,decoder=filepath.so,time-smoothing=false]
   Sensor [18] : radar.virtual ? file=filepath.bin,time-smoothing=true[,decoder=filepath.so,create_seek,default_timeout_us,decoding=true,time-offset=0]
   Sensor [19] : radar.socket ? ip=X.X.X.X,port=XXXX,device={DELPHI_ESR2_5, CONTINENTAL_ARS430, CUSTOM},multicast-ip=X.X.X.X],time-smoothing=true,isInverted=false,slave=false[,decoder=filepath.so,protocol=xxx]
   Sensor [20] : radar.can ? can-driver=can.xxx,can-bus=xxx,can-base-id=0x460,device={CONTINENTAL_ARS430_CAN}[,aurix-can-ip=X.X.X.X.X],[aurix-can-aport=XXXX][,aurix-can-bport=XXXX][,virtual-file=filepath.bin][,time-smoothing=false]

<b>Platform: OS_DRIVE_V5L - CURRENT</b>: 
   Sensor [0] : can.socket ? device=can0[,fifo-size=1024]
   Sensor [1] : can.aurix ? ip=10.0.0.1,bus={a,b,c,d}[,aport=50000,bport=60395][,fifo-size=1024]
   Sensor [2] : can.virtual ? file=/path/to/file.can[,create_seek,default_timeout_us,time-offset=0]
   <b>Sensor [3] : camera.gmsl</b> ? csi-port={a,c,e,g},camera-count={1,2,3,4},(Parker) camera-type={ov10635, ov10640-bggr-ae-svc210, ov10640-bggr-ae-svc212, ar0231-grbg-ae-sd3321, ar0231-rccb-ae-ss3322,ar0231-rccb-bae-ss3322, ar0231-rccb-ae-ss3323, ar0231-rccb-bae-ss3323, ar0231-rccb-ae-sf3324,ar0231-rccb-bae-sf3324, ar0231-rccb-ae-sf3325, ar0231-rccb-bae-sf3325},(Xavier) camera-type={ar0231-rccb-bae-sf3324, ar0231-rccb-bae-sf3325, ar0144-cccc-none-gazet1},output-format={yuv+raw+data}[,slave={0,1}][,fifo-size={3..20}][,custom-board=0][,camera-mask={0001|0010|0011|..|1111}][,warn-per-frame={0,1}]
   Sensor [4] : camera.virtual ? video/file=filepath.{h264,raw,lraw}[,timestamp=file.txt][,create_seek][,time-offset=0]
   Sensor [5] : camera.usb ? device=0
   Sensor [6] : camera.pointgrey ? device=0[,fps=30]
   Sensor [7] : camera.nvidia-ip ? host=[ip_addr], port=[TCP port number]
   Sensor [8] : gps.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=nmea0183]][,fifo-size=1024]
   Sensor [9] : gps.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [10] : gps.xsens ? device=0[,frequency=100,time-smoothing=false,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [11] : gps.novatel ? [fifo-size=1024]
   Sensor [12] : gps.dataspeed ? can-proto=can.socket,can-params=device=canX[,fifo-size=1024]
   Sensor [13] : imu.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=xsens_nmea]][,fifo-size=1024]
   Sensor [14] : imu.xsens ? device=0[,frequency=100,time-smoothing=false,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [15] : imu.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [16] : imu.novatel ? [fifo-size=1024]
   Sensor [17] : imu.dataspeed ? can-proto=can.socket,can-params=device=canX[,fifo-size=1024]
   Sensor [18] : lidar.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,decoding=true,time-offset=0]
   Sensor [19] : lidar.socket ? ip=X.X.X.X,port=XXXX,device={QUAN_M81A, IBEO_LUX, VELO_VLP16, VELO_VLP16HR, VELO_HDL32E, VELO_VLP32C, VELO_HDL64E, CUSTOM},scan-frequency=XX.X[,protocol=xxx,multicast-ip=X.X.X.X,decoder=filepath.so,time-smoothing=false]
   Sensor [20] : radar.virtual ? file=filepath.bin,time-smoothing=true[,decoder=filepath.so,create_seek,default_timeout_us,decoding=true,time-offset=0]
   Sensor [21] : radar.socket ? ip=X.X.X.X,port=XXXX,device={DELPHI_ESR2_5, CONTINENTAL_ARS430, CUSTOM},multicast-ip=X.X.X.X,time-smoothing=true,isInverted=false,slave=false[,decoder=filepath.so,protocol=xxx]
   Sensor [22] : radar.can ? can-driver=can.xxx,can-bus=xxx,can-base-id=0x460,device={CONTINENTAL_ARS430_CAN}[,aurix-can-ip=X.X.X.X.X],[aurix-can-aport=XXXX][,aurix-can-bport=XXXX][,virtual-file=filepath.bin]

Platform: OS_QNX: 
   Sensor [0] : can.socket ? device=can0
   Sensor [1] : can.virtual ? file=/path/to/file.can[,create_seek][,time-offset=0]
   Sensor [2] : camera.gmsl ? csi-port={a,c,e,g},camera-count={1,2,3,4},camera-type={ar0231-rccb-bae-sf3324, ar0231-rccb-bae-sf3325},output-format={yuv+raw+data}[,slave={0,1}][,fifo-size={3..20}][,custom-board=0][,camera-mask={0001|0010|0011|..|1111}][,warn-per-frame={0,1}]
   Sensor [3] : camera.virtual ? video/file=filepath.{h264,raw}[,timestamp=file.txt][,create_seek][,time-offset=0]
   Sensor [4] : gps.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=nmea0183]][,fifo-size=1024]
   Sensor [5] : gps.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [6] : gps.xsens ? device=0[,frequency=100,time-smoothing=false,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [7] : gps.dataspeed ? can-proto=can.socket/aurix,can-params=device=canX[,fifo-size=1024]
   Sensor [8] : imu.uart ? device=/dev/ttyXXX[,baud={1200,2400,4800,9600,19200,38400,57600,115200}[,format=xsens_nmea]][,fifo-size=1024]
   Sensor [9] : imu.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [10] : imu.xsens ? device=0[,frequency=100,time-smoothing=false,fifo-size=1024,baudrate=115200,stop-bits=2]
   Sensor [11] : imu.dataspeed ? can-proto=can.socket/aurix,can-params=device=canX[,fifo-size=1024]
   Sensor [12] : lidar.virtual ? file=filepath.bin[,create_seek,default_timeout_us,time-smoothing=false,time-offset=0]
   Sensor [13] : lidar.socket ? ip=X.X.X.X,port=XXXX,device={QUAN_M81A, IBEO_LUX, VELO_VLP16, VELO_VLP16HR, VELO_HDL32E, VELO_VLP32C, VELO_HDL64E, CUSTOM},scan-frequency=XX.X[,protocol=xxx,multicast-ip=X.X.X.X,decoder=filepath.so,time-smoothing=false]
   Sensor [14] : radar.virtual ? file=filepath.bin,time-smoothing=true[,decoder=filepath.so,create_seek,default_timeout_us,decoding=false,time-offset=0]
   Sensor [15] : radar.socket ? ip=X.X.X.X,port=XXXX,device={DELPHI_ESR2_5, CONTINENTAL_ARS430, CUSTOM},multicast-ip=X.X.X.X],time-smoothing=true,isInverted=false[,decoder=filepath.so,protocol=xxx]
   Sensor [16] : radar.can ? can-driver=can.xxx,can-bus=xxx,can-base-id=0x460,device={CONTINENTAL_ARS430_CAN}[,aurix-can-ip=X.X.X.X.X],[aurix-can-aport=XXXX][,aurix-can-bport=XXXX][,virtual-file=filepath.bin]

[8-2-2019 13:52:33] SDK: Release NvMediaDevice
[8-2-2019 13:52:33] Driveworks SDK released
[8-2-2019 13:52:33] SDK: Release NvMedia2D

Also, the output from nv_aurix_update -get_fw_version gives:

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ sudo /usr/bin/nv_aurix_update -get_fw_version
Flashed EB fw version 4.02.04.00
SW Version:

Dear deepd,

It’s weird.
Could you please help to check the Aurix FW version using minicom tool?

On host pc.

$sudo minicom -D /dev/ttyUSB1

shell> version
Info: Executing cmd: version, argc: 0, args:
SW Version: DRIVE-V5.0.10-P2379-EB-Aurix-With3LSS-4.02.04
Compilation date: Aug 13 2018, 21:48:18
Command Executed

According to the log, the system does not seem to recognize the camera module.
If you have another camera module, would you please test it?
Would you please try connecting the camera port to c, e, g port instead of a?

Hi @SteveNV

When I check the Aurix firmware version from Drive PX2 Ubuntu terminal using nv_aurix_update app, I get following output:

nvidia@tegra-ubuntu:~$ sudo /usr/bin/nv_aurix_update -get_fw_version 
Flashed EB fw version 4.02.04.00
SW Version:

I tried other ports like port b and c; still same error.

I also have a Sekonix SF3325 with me, and it also throws the same error.

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-sf3325
[25-2-2019 15:35:49] Initialize DriveWorks SDK v1.2.400
[25-2-2019 15:35:49] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[25-2-2019 15:35:49] Platform: Detected Drive PX2 - Tegra A
[25-2-2019 15:35:49] TimeSource: monotonic epoch time offset is 1551131739326267
[25-2-2019 15:35:49] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[25-2-2019 15:35:49] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
[25-2-2019 15:35:49] Platform: number of GPU devices detected 2
[25-2-2019 15:35:49] Platform: currently selected GPU device discrete ID 0
[25-2-2019 15:35:49] SDK: Resources mounted from .././data/resources
[25-2-2019 15:35:49] SDK: Create NvMediaDevice
[25-2-2019 15:35:49] SDK: Create NvMediaIPPManager
[25-2-2019 15:35:49] SDK: use EGL display as provided
[25-2-2019 15:35:49] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,camera-type=ar0231-rccb-bae-sf3325,csi-port=a,slave=0
[25-2-2019 15:35:49] CameraGMSL: required FPS = 30, resolution = 1920x1208
receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

	sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update

nvmedia isc: TacpCamPowerControl: 237: TACP command failed with ret -5
iscRootDevOpen: Failed to power on camera(s)
NvMediaISCRootDeviceCreate: Unable to open root device
nvmedia: ERROR: Init: Failed to create NvMedia ISC root device
[25-2-2019 15:35:54] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

terminate called after throwing an instance of 'std::runtime_error'
  what():  [2019-02-25 15:35:54] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
 dwSAL_createSensor(&m_camera, params, m_sal)
 at /builds/driveav/dw/sdk/samples/sensors/camera_gmsl/main.cpp:153
Aborted (core dumped)

Dear deepd,

Could you please help to check the Aurix FW version using minicom tool not Drive PX2 Ubuntu terminal using nv_aurix_update app? Thanks.

This is the output I get on host pc minicom:

Welcome to minicom 2.7                                                    
                                                                          
OPTIONS: I18n                                                             
Compiled on Nov 15 2018, 20:18:47.                                        
Port /dev/ttyUSB1, 13:04:46                                               
                                                                          
Press CTRL-A Z for help on special keys                                   
                                                                          
version                                                                   
Info: Executing cmd: version, argc: 0, args:                              
SW Version: DRIVE-V5.0.10-P2379-EB-Aurix-With3LSS-4.02.04                 
Compilation date: Aug 13 2018, 21:48:18                                   
Command Executed

Dear deepd,

Thank you for your update.
Aurix FW version is the latest version.

According to the log, it seems that the camera is not physically connected.
Did you connect the camera to DPX2 A0 port in GroupA? Maybe Yes.

https://docs.nvidia.com/drive/active/5.0.10.3L/nvvib_docs/index.html#page/NVIDIA%20DRIVE%20Linux%20SDK%20Development%20Guide%2FConfiguration%2Fcamera_setup_dpx.html%23

Do DW samples(like drivenet,…) that do not use cameras work?

I would like to suggest the following"

  1. Change the camera cable.
  2. Change camera group and port.
  3. Re-flash the PDK if possible.

Hi @SteveNV

I tired changing different cables, and all the available ports from A0 to B0 and C0 but still the same.

Non camera sample applications like helloWorld and drivenet works well. Its just the camera module which is not responding.

Dear deepd,

It is strange that all the cameras you have are not working.
Could you capture and upload the camera’s label?

@SteveNV

I get following output from minicom shell with VERSION:

SW Version: DRIVE-V5.0.10-P2379-EB-Aurix-With3LSS-4.02.04

I am using a Sekonix SF3323.

Can you please try to check this camera module on your bench setup ? Let me know if you are able to run it successfully or encounter same error.

Dear deepd,

I successfully ran below camera sample with the module.

sudo ./sample_camera_gmsl --camera-type=ar0231-rccb-ae-ss3323 --camera-port=e
sudo ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-ss3323 --camera-port=e

Please see DriveWorks SDK reference -> Sensor Abstraction Layer -> Sensors -> Camera -> Supported sensors

Where is the camera-port=e on drive px2? I only see A with A0, A1, A2, A3 ports; B with B0, B1, B2, B3 ports; and C with C0, C1, C2, C3 ports. Can you please advise?

Dear deepd,
Please connect to A0 port and check running the below commands
sudo ./sample_camera_gmsl --camera-type=ar0231-rccb-ae-ss3323 --camera-port=a
sudo ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-ss3323 --camera-port=a

If it does not work, could you share a picture of your connection setup and error log.

@SteveNV: This camera SF3323 doesn’t work with our drive PX2.

@SivaRamaKrishna: I tried to connect camera module on port A0 and also on port B0, but same error.

We are running following version of the software on our end:
5.0.10.3 software release
Aurix: EB fw version 4.02.04

Here’s the terminal log along with the picture of actual physical connection.

Please review attached images.