Infrared camera not working for DRIVE IX

Hello guys,

I am having issues with running DRIVE IX (driveIX) with my infrared camera. DRIVE IX program I am running is located in /usr/local/driveix/bin. I run DRIVE IX with ./driveIX -g.

I get the following error:

machine: e3550_t194a
using internal ip address 10.42.0.28
DriveIX stand-alone mode
1567436294859:V:[Service:ixserver-Service]: [serviceLoop] line:55
1567436294859:V:[Service:ServiceSync [ixserver]]: [loop] line:62
Got input of gmsl camera
Initializing governor!
sdkParams.dataPath: ../models
Opening GMSL camera...
PROTOCOL: 
PARAMETERS: camera-group=b,camera-count=4,camera-mask=0001,host=127.0.0.1,port=35566,output-format=raw,camera-type=ar0144-cccc-none-gazet1,fifo-size=3,mode=mailbox,siblingIndex=0
GmslCameraGroup.cpp:72 createCameraSensors:dwStatus: 'dwSAL_createSensor(&m_dwSesnor, params, m_dwSal)' = DW_INVALID_ARGUMENT
GmslCameraGroup.cpp:108 ~GmslCameraGroup:dwStatus: 'dwSAL_releaseSensor(m_dwSesnor)' = DW_INVALID_HANDLE

Please read config/cameras.ini to check your camera setup.
If you are using slave protocol, please check camera server connection.

main: caught exception: Failed to create GMSL Camera!
Destroying Governor

The infrared camera is connected to B0 GMSL port. There are no cameras connected to the A0 port, but there are cameras connected to A1, A2 and A3 ports.

The following are the contents from the camears.ini file located in /usr/local/driveix/config:

[CameraConfig]

##############################################################################
# selector-mask bit array                                                    #
#                                                                            #
#  GMSL port: A0  A1  A2  A3  B0  B1  B2  B3  C0  C1  C2  C3  D0  D1  D2  D3 #
#  Index:      0   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15 #
#                                                                            #
#  Cable Color with index:                                                   #
#  Green: 0, Red: 1, Blue: 2, White: 3.                                      #
#                                                                            #
#  Example: 13 means the red cable plugged into quad camera port D           #
##############################################################################

#After adding new cameras, please make sure the corresponding mask index is set.
#The first internal camera is the driver camera. 
#For now, head pose, risk Assessment, and Gaze only runs on the driver camera.
GmslInternalCameras = { 4 }
GmslExternalCameras = { }

#Number of masks must equal to total number of cameras.
#We are concatenating camera lists, with internal first and external next. 
#For example, suppose GmslInternalCameras = { 12 } and GmslExternalCameras = {13} 
#Masks = {1,1} means that the network will run on frame for 
#  both internal camera 12 and external camera 13 in this case. 
FaceDetectGmslMasks = { 1 }
EyeDetectGmslMasks = { 1 }
EyeOpenGmslMasks = { 1 }
MITEyeGazeGmslMasks = { 1 }
FacialLandmarkGmslMasks = { 1 }
HeadPoseGmslMasks = { 1 }
FaceIDGmslMasks = { 1 }

UsbInteralCameras = { }

#################################################################################################################################################################
#Example:
#CameraParams = {
#   "selector-mask=000010010000,camera-type=ar0231-rccb,serialize-type=h264,serialize-bitrate=8000000,serialize-framerate=30,slave=0,fifo-size=5,output-format=yuv"
#   "selector-mask=100000000000,camera-type=ar0144,fifo-size=3,output-format=raw"
#   }
#The example CameraParams means there are THREE cameras connected on PX2.
#First line, selector-mask shows there are TWO AR0231 connected on B0/B3,
#index 4/7. In above definition, index 4 is FrontCamera, index 7 is Rear Camera.
#Second line, selector-mask shows there is ONE AR0144 connected on A0,
#index 0. In above definition, index 0 is InternalCamera.
#
#Rest of the configs please check NVMEDIA camera settings.
#################################################################################################################################################################
# CameraParams = {
GmslCameraParams = {
     "selector-mask=00001000,host=127.0.0.1,port=35566,output-format=raw,camera-type=ar0144-cccc-none-gazet1,fifo-size=3,mode=mailbox",
    }

I tried running DRIVE IX on Xavier A and Xavier B. I also tried running DRIVE IX with sudo. I also tried cold boot (shut down and power on) and connecting the camera to A0 GMSL port (and changing the config file appropriately). The same error persists.

If I run IXCalibration in /usr/local/driveix/bin, that works, so I know that camera is working.

What is going wrong here?

Thank you in advance,
Mislav

Dear mislav.juric,

If only one AR0144 camera is connected to A0 GMSL port, please set “selector-mask=100000000000,camera-type=ar0144,fifo-size=3,output-format=raw” in cameras.ini and re-run the app. Thanks.

Dear Steve,

thank you for responding.

We got the driveIX to run with the following settings:

"selector-mask=1111000000000000,protocol=camera.gmsl,host=127.0.0.1,port=35566,output-format=raw,camera-type=ar0144-cccc-none-gazet1,fifo-size=3,mode=mailbox",

Best regards,
Mislav