Sf3325 can not work on px2

Hi,

I’ve updated px2 driveworks to 1.2. When using sample_camera_gmsl to check if sf3325 works, I got this error:

And I followed this discussion (GMSL camera with Drive PX2 ) and find that aurix version is 1.02

Then I tried to update aurix under this guidence ( https://docs.nvidia.com/drive/active/5.0.10.3L/nvvib_docs/index.html#page/NVIDIA%20DRIVE%20Linux%20SDK%20Development%20Guide%2FFlashing%2Fflash_aurix_dpx.html ), but I don’t known where can I get this Triload.bat.

Why I can’t update aurix through sdkmanager? How can I update aurix? Thanks a lot.

Dear @jing.li,
could you check the aurix update command shown in image.

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

Also, Please check /usr/local/driveworks/bin/sample_sensors_info to know the all supported options for each sensor.

$ sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh
starting Aurix FW checking...
Checking arguments...
Rootfs FW version is 4.02.04.0



No_Response_From_Aurix
Ping to 10.42.0.146
Try with virtual ethernet iface
--------------------------------------------------------------------
!!! IMPORTANT INFORMATION BELOW REGARDING Aurix FW (PLEASE READ) !!!
 
Aurix is booted with old FW which doesn't support Aurix OTA
Please Flash new FW from Windows based Flasher as provided by PDK
 
THIS MESSAGE WILL CONTINUE TO BE SHOWN UNTIL ACTION MENTIONED IS TAKEN
With action taken, this script will be muted and not shown again
----------------------------------------------------------------------
 
Restore_default_network

and I tried camera type ar0231-rccb-bae-sf3325 and ar0231-rccb-ae-sf3325, got the same error
.


nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ sudo /usr/local/driveworks/bin/sample_sensors_info
[13-4-2020 5:21:52] Initialize DriveWorks SDK v1.2.400
[13-4-2020 5:21:52] Release build with GNU 4.9.4 from v1.2.0-rc11-0-ga7f5475 against Vibrante PDK v5.0.10.3
[13-4-2020 5:21:52] Platform: Detected Drive PX2 - Tegra A
[13-4-2020 5:21:52] TimeSource: monotonic epoch time offset is 1586767287013397
[13-4-2020 5:21:52] TimeSource: PTP ioctl returned error. Synchronized time will not be available.
[13-4-2020 5:21:52] TimeSource: Could not detect valid PTP time source at ‘eth0’. Fallback to CLOCK_MONOTONIC.
[13-4-2020 5:21:52] Platform: number of GPU devices detected 2
[13-4-2020 5:21:52] Platform: currently selected GPU device discrete ID 0
[13-4-2020 5:21:52] SDK: Resources mounted from /usr/local/driveworks-1.2/data/resources
[13-4-2020 5:21:52] SDK: Create NvMediaDevice
[13-4-2020 5:21:52] SDK: Create NvMediaIPPManager
[13-4-2020 5:21:52] egl::Display: found 2 EGL devices
[13-4-2020 5:21:52] 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=
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]
Platform: OS_DRIVE_V5L - CURRENT:
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]
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}]
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]

[13-4-2020 5:21:53] SDK: Release NvMediaDevice
[13-4-2020 5:21:53] Driveworks SDK released
[13-4-2020 5:21:53] SDK: Release NvMedia2D

The note indicates that the aurix version matters.

Dear @jing.li,
Yes. SF3325 is supported. Please use --camera-type instead of camera-type in the command line.
To update aurix, you need to flash from windows machine. You can find Triload.bat at DPX2-P2379-EB-V4.02.04_release/bin/EB-DrivePX-BSL/ inside DriveSDK/drive-t186ref-foundation/utils/scripts/DPX2-P2379-EB-V4.02.04_release.zip file.

1 Like

Thank you for the help!
Now the camera works with PX2 now~