AR0820 Camera on NVIDIA DRIVE AGX OS5.2 and DriveWorks 3.5

Hi, I just installed OS5.2 and Driveworks 3.5 on NVIDIA Drive AGX.
It is said that on this version, NVIDIA Drive AGX supports also camera ON-SEMI AR0820

I tried connect Entron Camera AR0820 F008A120RM0A with NVIDIA and run

./sample_camera --rig=/usr/local/driveworks-3.5/data/samples/sensors/camera/camera/rig_ar0820.json

on /usr/local/driveworks-3.5/bin/

But it gave us this.

[28-01-2021 14:41:06] Platform: Detected DDPX - Tegra A
[28-01-2021 14:41:06] TimeSource: monotonic epoch time offset is 1611840790193031
[28-01-2021 14:41:06] TimeSource: Could not detect valid PTP time source at nvpps. Fallback to eth0
[28-01-2021 14:41:06] TimeSource: Could not detect valid PTP time source at ‘eth0’. Fallback to CLOCK_MONOTONIC.
[28-01-2021 14:41:06] Platform: number of GPU devices detected 1
[28-01-2021 14:41:06] Platform: currently selected GPU device integrated ID 0
[28-01-2021 14:41:06] Context::getDataPathFromSelfLocation DATA_ROOT found at: /usr/local/driveworks-3.5/data
[28-01-2021 14:41:06] SDK: No resources(.pak) mounted, some modules will not function properly
[28-01-2021 14:41:06] SDK: Create NvMediaDevice
[28-01-2021 14:41:06] SDK: Create NvMedia2D
[28-01-2021 14:41:06] SDK: use EGL display as provided
[28-01-2021 14:41:06] TimeSource: monotonic epoch time offset is 1611840790193031
[28-01-2021 14:41:06] TimeSource: Could not detect valid PTP time source at nvpps. Fallback to eth0
[28-01-2021 14:41:06] TimeSource: Could not detect valid PTP time source at ‘eth0’. Fallback to CLOCK_MONOTONIC.
[28-01-2021 14:41:06] Initialize DriveWorks SDK v3.5.75
[28-01-2021 14:41:06] Release build with GNU 7.3.1 from heads/buildbrain-branch-0-gc61a9a35bd0 against Drive PDK v5.2.0.0
[28-01-2021 14:41:06] Rig::fromFile: Loading rig file: /usr/local/driveworks-3.5/data/samples/sensors/camera/camera/rig_ar0820.json
[28-01-2021 14:41:06] No valid data file found for camera:sample0 in parameter string: camera-name=F008A120BM0A_24BIT_RGGB,interface=csi-a,CPHY-mode=1,link=0,output-format=processed,async-record=1,file-buffer-size=16777216 (using configuration folder /usr/local/driveworks-3.5/data/samples/sensors/camera/camera/)
[28-01-2021 14:41:06] No valid data file found for camera:sample1 in parameter string: camera-name=F008A030BM0A_24BIT_RGGB,interface=csi-a,CPHY-mode=1,link=1,output-format=processed,async-record=1,file-buffer-size=16777216 (using configuration folder /usr/local/driveworks-3.5/data/samples/sensors/camera/camera/)
onInitialize: creating camera.gmsl with params: camera-name=F008A120BM0A_24BIT_RGGB,interface=csi-a,CPHY-mode=1,link=0,output-format=processed,async-record=1,file-buffer-size=16777216
[28-01-2021 14:41:06] SensorFactory::createSensor() → camera.gmsl, camera-name=F008A120BM0A_24BIT_RGGB,interface=csi-a,CPHY-mode=1,link=0,output-format=processed,async-record=1,file-buffer-size=16777216
[28-01-2021 14:41:06] CameraBase: pool size set to 8
[28-01-2021 14:41:06] SensorFactory::createSensor() → camera.gmsl.master,
[28-01-2021 14:41:06] CameraMaster::parseDevBlock Getting device info list.
[28-01-2021 14:41:06] devBlock: 1 Slave = 0 Interface = csi-a Camera_name = F008A120BM0A_24BIT_RGGB Link = 0
[28-01-2021 14:41:06] Camera Match Name: F008A120BM0A_24BIT_RGGB Description: Entron F008A120BM0A_24BIT RGGB module - 120-deg FOV, 24-bit capture, MIPI-AR0820, MAX9295 linkIndex: 4294967295 serInfo.Name: MAX9295
[28-01-2021 14:41:06] Client, Setting up information for camera ID 0
[28-01-2021 14:41:06] Client, successfully found info for camera ID 0 bound to id 0
[28-01-2021 14:41:07] CameraClient: using NITO found at /opt/nvidia/nvmedia/nit/F008A120BM0A_24BIT_RGGB.nito
onInitialize: creating camera.gmsl with params: camera-name=F008A030BM0A_24BIT_RGGB,interface=csi-a,CPHY-mode=1,link=1,output-format=processed,async-record=1,file-buffer-size=16777216
[28-01-2021 14:41:07] SensorFactory::createSensor() → camera.gmsl, camera-name=F008A030BM0A_24BIT_RGGB,interface=csi-a,CPHY-mode=1,link=1,output-format=processed,async-record=1,file-buffer-size=16777216
[28-01-2021 14:41:07] CameraBase: pool size set to 8
[28-01-2021 14:41:07] devBlock: 1 Slave = 0 Interface = csi-a Camera_name = F008A030BM0A_24BIT_RGGB Link = 1
[28-01-2021 14:41:07] Camera Match Name: F008A030BM0A_24BIT_RGGB Description: Entron F008A030BM0A RGGB module - 30-deg FOV, 24-bit Capture, MIPI-AR0820, MAX9295 linkIndex: 4294967295 serInfo.Name: MAX9295
[28-01-2021 14:41:07] Client, Setting up information for camera ID 1
[28-01-2021 14:41:07] Client, successfully found info for camera ID 1 bound to id 1
[28-01-2021 14:41:07] CameraClient: using NITO found at /opt/nvidia/nvmedia/nit/F008A030BM0A_24BIT_RGGB.nito
[28-01-2021 14:41:07] Initialize DriveWorks VisualizationSDK v3.5.75
[28-01-2021 14:41:07] Initialize DriveWorksGL SDK v3.5.75
onInitialize: Total cameras 2
onInitialize: getting image props 0
onInitialize: initilizing stream: 0
[28-01-2021 14:41:07] StreamConsumerGL: successfully initialized
[28-01-2021 14:41:07] StreamProducerCUDA: successfully initialized
onInitialize: getting image props 1
onInitialize: initilizing stream: 1
[28-01-2021 14:41:07] StreamConsumerGL: successfully initialized
[28-01-2021 14:41:07] StreamProducerCUDA: successfully initialized
Main: Starting master.
[28-01-2021 14:41:07] CameraGSMLMaster: starting…
[28-01-2021 14:41:07] SIPLMaster::SIPLMaster: Setting up master camera
[28-01-2021 14:41:07] Platform:
[28-01-2021 14:41:07] Platform Config:
[28-01-2021 14:41:07] Description:
[28-01-2021 14:41:07] Number of device blocks: 1
[28-01-2021 14:41:07] Device Block : 0
[28-01-2021 14:41:07] csiPort: 0
[28-01-2021 14:41:07] i2cDevice: 0
[28-01-2021 14:41:07] Deserializer Name: MAX96712
[28-01-2021 14:41:07] Deserializer Description: Maxim 96712 Aggregator
[28-01-2021 14:41:07] Deserializer i2cAddress: 41
[28-01-2021 14:41:07] Simulator Mode: 0
[28-01-2021 14:41:07] Slave Mode: 0
[28-01-2021 14:41:07] Phy Mode: 1
[28-01-2021 14:41:07] Number of camera modules: 2
[28-01-2021 14:41:07] CameraModule index: 0
[28-01-2021 14:41:07] Name :F008A120BM0A_24BIT_RGGB
[28-01-2021 14:41:07] Description: Entron F008A120BM0A_24BIT RGGB module - 120-deg FOV, 24-bit capture, MIPI-AR0820, MAX9295
[28-01-2021 14:41:07] Serializer name: MAX9295
[28-01-2021 14:41:07] Serializer description: Maxim 9295 Serializer
[28-01-2021 14:41:07] Serializer i2cAdress: 98
[28-01-2021 14:41:07] EEPROM name: N24C64
[28-01-2021 14:41:07] EEPROM i2cAddress: 84
[28-01-2021 14:41:07] EEPROM description: N24C64 EEPROM
[28-01-2021 14:41:07] Sensor ID: 0
[28-01-2021 14:41:07] Sensor name: AR0820
[28-01-2021 14:41:07] Sensor description: OnSemi AR0820 Sensor
[28-01-2021 14:41:07] Sensor i2cAddress: 16
[28-01-2021 14:41:07] Sensor isTPGEnabled: 0
[28-01-2021 14:41:07] Sensor isTriggerMode: 1
[28-01-2021 14:41:07] cfa: 35
[28-01-2021 14:41:07] embeddedTopLines: 6
[28-01-2021 14:41:07] embeddedBottomLines: 0
[28-01-2021 14:41:07] inputFormat: 8
[28-01-2021 14:41:07] height: 2168
[28-01-2021 14:41:07] width: 3848
[28-01-2021 14:41:07] fps: 30.0000000
[28-01-2021 14:41:07] Embedded Data: 1
[28-01-2021 14:41:07] CameraModule index: 1
[28-01-2021 14:41:07] Name :F008A030BM0A_24BIT_RGGB
[28-01-2021 14:41:07] Description: Entron F008A030BM0A RGGB module - 30-deg FOV, 24-bit Capture, MIPI-AR0820, MAX9295
[28-01-2021 14:41:07] Serializer name: MAX9295
[28-01-2021 14:41:07] Serializer description: Maxim 9295 Serializer
[28-01-2021 14:41:07] Serializer i2cAdress: 98
[28-01-2021 14:41:07] EEPROM name: N24C64
[28-01-2021 14:41:07] EEPROM i2cAddress: 84
[28-01-2021 14:41:07] EEPROM description: N24C64 EEPROM
[28-01-2021 14:41:07] Sensor ID: 1
[28-01-2021 14:41:07] Sensor name: AR0820
[28-01-2021 14:41:07] Sensor description: OnSemi AR0820 Sensor
[28-01-2021 14:41:07] Sensor i2cAddress: 16
[28-01-2021 14:41:07] Sensor isTPGEnabled: 0
[28-01-2021 14:41:07] Sensor isTriggerMode: 1
[28-01-2021 14:41:07] cfa: 35
[28-01-2021 14:41:07] embeddedTopLines: 6
[28-01-2021 14:41:07] embeddedBottomLines: 0
[28-01-2021 14:41:07] inputFormat: 8
[28-01-2021 14:41:07] height: 2168
[28-01-2021 14:41:07] width: 3848
[28-01-2021 14:41:07] fps: 30.0000000
[28-01-2021 14:41:07] Embedded Data: 1
[28-01-2021 14:41:07] CameraMaster::setOutputDescription Setting output consumer descriptors for sensor: OutputType: 1
[28-01-2021 14:41:07] CameraMaster::setOutputDescription Setting output consumer descriptors for sensor: OutputType: 1
[28-01-2021 14:41:07] Client, setting pipeline config for camera ID 0
[28-01-2021 14:41:07] Client, setting pipeline config for camera ID 1
[28-01-2021 14:41:07] CameraMaster: master initiation
MAX96712: Revision 2 detected
nvmedia: ERROR: MAX96712: Link 0: GMSL2 link lock not detected
DEVBLK_WORKER_0: CNvMMax96712.cpp: 208: Init: MAX96712SetDefaults failed! with NvMedia error: 7
DEVBLK_WORKER_0: CNvMDeviceBlock.cpp: 241: Init: Deserializer init failed failed! with error: 7f
DEVBLK_WORKER_0: CNvMDeviceBlockMgr.hpp: 147: ThreadFunc: Device block init failed(7f)
sample_camera: CNvMDeviceBlockMgr.cpp: 129: WorkersDoAction: Device block action:1 failed for block:0
sample_camera: CNvMDeviceBlockMgr.cpp: 163: Init: Failed to initialize device blocks
sample_camera: CNvMCamera.cpp: 436: Init: DeviceBlock manager init failed
sample_camera: CNvMCamera.cpp: 568: GetImageAttributes: Incorrect pipeline state:1 for pipeline:0
[28-01-2021 14:41:08] CameraMaster: GetImageAttributes failed6
[28-01-2021 14:41:08] CameraClient: GetImageAttributes failed6
[28-01-2021 14:41:08] CameraClient: Failed to allocate images groups!6

Does anybody know why GMSL2 is not detected? Or maybe there is another problem that I overlook?

Hi @laurentius.valdy,

Do you have two camera modules connected? Is your camera connected to link 0/1? Could you modify rig_ar0820.json to try only one first? Thanks!

it is connected only to one camera. After I modify rig_ar0820 to try only one camera, the camera works charmly :)
Thanks

Good to hear you fixed your problem!