Issues with IMX390 based camera unit on Drive AGX 5.2.0

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
Linux
QNX
other

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.6.1.8175
1.6.0.8170
other

Host Machine Version
native Ubuntu 18.04
other

Hi there,

Recently, we have obtained SONY IMX390 sample camera units from automotive Tier1 supplier Ofilm. When we attached them to our Drive AGX board, we got the following error message:

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)
Main: CNvMDeviceBlockMgr.cpp: 129: WorkersDoAction: Device block action:1 failed for block:0
Main: CNvMDeviceBlockMgr.cpp: 163: Init: Failed to initialize device blocks
Main: CNvMCamera.cpp: 436: Init: DeviceBlock manager init failed
nvsipl_camera: ERROR: NvSIPLCamera Init failed

nvsipl_camera: ERROR: Master initialization failed. status: 127

Main: CNvMCamera.cpp: 1088: Deinit: Incorrect pipeline state:1 for pipeline:12
Main: CNvMCamera.cpp: 48: ~CNvMCamera: CNvMCamera object fails to deinit

Can you support us if there is anything that we can do in order to address this issue?

Thank you,

B.

Is it one of the two imx390 modules listed in https://developer.nvidia.com/drive/ecosystem-hw-sw?

If it’s in the list, please check “DRIVE OS” column of the module in https://developer.nvidia.com/drive/ecosystem-hw-sw.

Hi @VickNV,

We have tried to run the camera unit with the DriveOS 5.2.6 and we are seeing the same issue. The camera unit we are using has a MAX96717F as a GMSL serializer instead of MAX96712. Would that be a problem?

Thanks,

B.

May I know the command and output of running the sample application on drive os 5.2.6?

Hi @VickNV,

We have tried four different command arguments. Here are the outputs:

nvidia@tegra-ubuntu:~/drive-t186ref-linux/samples/nvmedia/nvsipl/test/camera$ ./nvsipl_camera --platform-config IMX390_C_3461_F200_RGGB_CPHY_x2_TPG --link-enable-masks '0x0001 0x0000 0x0000 0x0000' --showfps --showEEPROM --disableISP0Output --disableISP1Output --enableRawOutput
MAX96712: Revision 2 detected
MAX96712 Rev 2: Link 0: Tx amplitude 0x28, 0x68, 0xb3, 0x72, 0xd2
MAX96712 Rev 2 manual adaptation on the link 0 (31)
Module_id 30 Severity 2 : src/devblk/fusa/devices/MAX96717FSerializerDriver/cdi_max96717f.c 1569
Module_id 30 Severity 2 : MAX96717FReadRegisters: MAX96717F read register failed:  0x00000d
Module_id 30 Severity 2 : MAX96717FReadRegisters: MAX96717F read register failed:  0x00000e
Module_id 30 Severity 2 : src/devblk/fusa/cameramodule/MAX96712cameramodule/CNvMTransportLink_Max96712_96717F.cpp 91
Module_id 30 Severity 2 : MAX96717CheckPresence(brdcstSerCDI) failed with nvmediaErr 0x000007
Module_id 30 Severity 2 : src/devblk/fusa/cameramodule/MAX96712cameramodule/CNvMTransportLink_Max96712_96717F.cpp 222
Module_id 30 Severity 2 : SetupAddressTranslations failed with SIPLStatus error 0x00007f
Module_id 30 Severity 2 : src/devblk/fusa/cameramodule/MAX96712cameramodule/CNvMMAX96712CameraModule.cpp 49
Module_id 30 Severity 2 : TransportLink Init failed with SIPL error 127
Module_id 30 Severity 2 : src/devblk/common/core/CNvMDeviceBlock.cpp 711
Module_id 30 Severity 2 : Init failed for module on link 0
DEVBLK_WORKER_0: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/CNvMDeviceBlockMgr.cpp: 435: ThreadFunc: Device block init failed(7f)
Module_id 30 Severity 2 : src/core/CNvMDeviceBlockMgr.cpp 144
Module_id 30 Severity 2 : Device block action failed for block (action, block) 10
Module_id 30 Severity 2 : src/core/CNvMDeviceBlockMgr.cpp 180
Module_id 30 Severity 2 : Failed to initialize device blocks
nvidia@tegra-ubuntu:~/drive-t186ref-linux/samples/nvmedia/nvsipl/test/camera$ ./nvsipl_camera --platform-config IMX390RGGBMP_200FOV_RGGB_CPHY_x2 --link-enable-masks '0x0001 0x0000 0x0000 0x0000' --showfps -w 1 --icrop "0+1216" --showEEPROM
MAX96712: Revision 2 detected
MAX96712 Rev 2: Link 0: Tx amplitude 0x28, 0x68, 0xb3, 0x72, 0xd2
MAX96712 Rev 2 manual adaptation on the link 0 (31)
Module_id 30 Severity 2 : src/devblk/nonfusa/devices/MAX96712DeserializerDriver/cdi_max96712.c 2368
Module_id 30 Severity 2 : MAX96712: GMSL2 link lock not detected on link 0
Module_id 30 Severity 2 : src/devblk/nonfusa/devices/MAX96712DeserializerDriver/CNvMMax96712.cpp 190
Module_id 30 Severity 2 : MAX96712: MAX96712SetDefaults failed with NvMedia error 7
Module_id 30 Severity 2 : src/devblk/common/ddi/CNvMDevice.cpp 68
Module_id 30 Severity 2 : Driver failed Init() call 127
Module_id 30 Severity 2 : src/devblk/common/core/CNvMDeviceBlock.cpp 701
Module_id 30 Severity 2 : Deserializer init failed with SIPL error 127
DEVBLK_WORKER_0: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/CNvMDeviceBlockMgr.cpp: 435: ThreadFunc: Device block init failed(7f)
Module_id 30 Severity 2 : src/core/CNvMDeviceBlockMgr.cpp 144
Module_id 30 Severity 2 : Device block action failed for block (action, block) 10
Module_id 30 Severity 2 : src/core/CNvMDeviceBlockMgr.cpp 180
Module_id 30 Severity 2 : Failed to initialize device blocks
nvidia@tegra-ubuntu:~/drive-t186ref-linux/samples/nvmedia/nvsipl/test/camera$ ./nvsipl_camera --platform-config IMX390RGGBE5_200FOV_RGGB_CPHY_x2 --link-enable-masks '0x0001 0x0000 0x0000 0x0000' --showfps -w 1 --icrop "0+1216" --showEEPROM
MAX96712: Revision 2 detected
MAX96712 Rev 2: Link 0: Tx amplitude 0x28, 0x68, 0xb3, 0x72, 0xd2
MAX96712 Rev 2 manual adaptation on the link 0 (31)
Module_id 30 Severity 2 : src/devblk/nonfusa/devices/MAX96712DeserializerDriver/cdi_max96712.c 2368
Module_id 30 Severity 2 : MAX96712: GMSL2 link lock not detected on link 0
Module_id 30 Severity 2 : src/devblk/nonfusa/devices/MAX96712DeserializerDriver/CNvMMax96712.cpp 190
Module_id 30 Severity 2 : MAX96712: MAX96712SetDefaults failed with NvMedia error 7
Module_id 30 Severity 2 : src/devblk/common/ddi/CNvMDevice.cpp 68
Module_id 30 Severity 2 : Driver failed Init() call 127
Module_id 30 Severity 2 : src/devblk/common/core/CNvMDeviceBlock.cpp 701
Module_id 30 Severity 2 : Deserializer init failed with SIPL error 127
DEVBLK_WORKER_0: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/CNvMDeviceBlockMgr.cpp: 435: ThreadFunc: Device block init failed(7f)
Module_id 30 Severity 2 : src/core/CNvMDeviceBlockMgr.cpp 144
Module_id 30 Severity 2 : Device block action failed for block (action, block) 10
Module_id 30 Severity 2 : src/core/CNvMDeviceBlockMgr.cpp 180
Module_id 30 Severity 2 : Failed to initialize device blocks
nvidia@tegra-ubuntu:~/drive-t186ref-linux/samples/nvmedia/nvsipl/test/camera$ ./nvsipl_camera --platform-config IMX390RGGBE3_200FOV_RGGB_CPHY_x2 --link-enable-masks '0x0001 0x0000 0x0000 0x0000' --showfps -w 1 --icrop "0+1216" --showEEPROM
MAX96712: Revision 2 detected
MAX96712 Rev 2: Link 0: Tx amplitude 0x28, 0x68, 0xb3, 0x72, 0xd2
MAX96712 Rev 2 manual adaptation on the link 0 (31)
Module_id 30 Severity 2 : src/devblk/nonfusa/devices/MAX96712DeserializerDriver/cdi_max96712.c 2368
Module_id 30 Severity 2 : MAX96712: GMSL2 link lock not detected on link 0
Module_id 30 Severity 2 : src/devblk/nonfusa/devices/MAX96712DeserializerDriver/CNvMMax96712.cpp 190
Module_id 30 Severity 2 : MAX96712: MAX96712SetDefaults failed with NvMedia error 7
Module_id 30 Severity 2 : src/devblk/common/ddi/CNvMDevice.cpp 68
Module_id 30 Severity 2 : Driver failed Init() call 127
Module_id 30 Severity 2 : src/devblk/common/core/CNvMDeviceBlock.cpp 701
Module_id 30 Severity 2 : Deserializer init failed with SIPL error 127
DEVBLK_WORKER_0: /dvs/git/dirty/git-master_linux/camera/fusa/sipl/src/core/CNvMDeviceBlockMgr.cpp: 435: ThreadFunc: Device block init failed(7f)
Module_id 30 Severity 2 : src/core/CNvMDeviceBlockMgr.cpp 144
Module_id 30 Severity 2 : Device block action failed for block (action, block) 10
Module_id 30 Severity 2 : src/core/CNvMDeviceBlockMgr.cpp 180
Module_id 30 Severity 2 : Failed to initialize device blocks

It looks like the first one got quite further ahead of the rest.

Let us know if you need more input from our side.

Thanks,

B.

Because our releases don’t support this camera module, I don’t really have any experience with it.
Have you checked with Ofilm if their camera module works on any drive os release?

Hi @VickNV,

We don’t have confirmation from Ofilm that Drive OS is supported from their side. Do you happen to know if MAX96717F GMSL serializer (used in the Ofilm sample) is supported by Drive AGX platoform.

Thanks,

B.

I don’t see MAX96717F in the below table in Understanding NvMedia SIPL Framework of DRIVE OS 5.2.0.
Maybe you should try DRIVE OS 5.2.6. But you better ask Ofile about the readiness of the camera module on DRIVE OS.

Hi @VickNV

MAX96717F is mentioned in the 5.2.6 documentation:

We tried that Drive OS release, but with no luck. Do you know why there is no Deserinfo Database Object for MAX96717F in the list (similar to MAX96712 which is used in our other camera unit which works).

Thanks,

B.

Isn’t the deserializer part of CIM (Camera Input Module) in the system? How does your camera module use a different one? How is it connected to the system? Please get support from Ofilm. Thanks.

Hi @VickNV,

Thanks for the quick follow up. The camera is connected via GMSL quad port as usual. We were able to get only this camera sample of IMX390 with MAX96717F serializer from Ofilm.

So you think there is nothing that can be done from Nvidia side in order to fix the issue that we are seeing?

Thanks for your help,

B.

Why did you ask about MAX96727F “deserializer”?

What’s command you tried on DRIVE OS 5.2.6? What’s the complete log?

Hi @VickNV,

Why did you ask about MAX96727F “deserializer”?

My understanding is that we have MAX96727F in Ofilm camera sample and potentially compatible deserializer on Drive AGX board. In this follow up answer, I’ve pointed out that there’s a deserializer for another model but not for MAX96727F and I was wondering if that could be the problem why our Ofilm camera is not working properly.

What’s command you tried on DRIVE OS 5.2.6? What’s the complete log?

I’ve already shared the commands and the output in this thread.

Thanks,

B.

We support only those camera modules listed on our page. Especially we don’t even have the Ofilm module. Why don’t you use the imx390 modules listed there?

Hi @VickNV,

We are using the camera units from the page that you are mentioning but we are facing a unit shortage and cannot get additional cameras atm that we need. Therefore, we are exploring alternative suppliers.

May I know which camera module you’re using has the shortage problem? Thanks.

The shortage problem had been discussed offline.