Can not access GMSL camera on XavierB

Dear Sir,
I find Xavier B can not connect to the GMSL camera on DriveOS10.0, and the error messages are listed below. Is there any solution? Thank you so much.

failed at /dvs/git/dirty/gitlab-master_av/dw/sdk/samples/sensors/camera/camera_gmsl/main.cpp:174
–> line 174 --> CHECK_DW_ERROR(dwSAL_createSensor(&m_camera, params, m_sal));

=====================================================================================
nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-sf3325
[08-01-2020 13:39:20] Platform: Detected P3570 - Tegra B
[08-01-2020 13:39:20] TimeSource: monotonic epoch time offset is 1578461578784865
[08-01-2020 13:39:20] TimeSource: Could not detect valid PTP time source at nvpps. Fallback to eth0
[08-01-2020 13:39:20] TimeSource Eth: PTP ioctl returned error. Synchronized time will not be available from this timesource.
[08-01-2020 13:39:20] TimeSource: Could not detect valid PTP time source at ‘eth0’. Fallback to CLOCK_MONOTONIC.
[08-01-2020 13:39:20] Platform: number of GPU devices detected 2
[08-01-2020 13:39:20] Platform: currently selected GPU device discrete ID 0
[08-01-2020 13:39:20] SDK: Resources mounted from …/./data/
[08-01-2020 13:39:20] SDK: Create NvMediaDevice
[08-01-2020 13:39:20] SDK: use EGL display as provided
[08-01-2020 13:39:20] Initialize DriveWorks SDK v2.2.3137-experimental
[08-01-2020 13:39:20] Experimental Release build with GNU 7.3.1 from heads/release-2.2-0-gc13e640 against Drive PDK v5.1.6.0
[08-01-2020 13:39:20] Initialize DriveWorks VisualizationSDK v2.2.3136
[08-01-2020 13:39:20] Initialize DriveWorksGL SDK v2.2.3136
[08-01-2020 13:39:20] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,isp-mode=yuv420-uint8,camera-type=ar0231-rccb-bae-sf3325,camera-group=a,slave=0
[08-01-2020 13:39:20] CameraGMSL: Couldn’t set CameraGMSL setup thread sched params!
[08-01-2020 13:39:20] CameraGMSL: Create NvMediaIPPManager
[08-01-2020 13:39:20] CameraGMSL: required FPS = 30, resolution = 1920x1208
nvmedia isc: GetCameraPowerControlLevel: 936: Camera power control library: NVCCP
[08-01-2020 13:39:20] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

**** Stack trace ****
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x1def28 [0x7f9d286f28]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x3c8fa0 [0x7f9d470fa0]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x3c9788 [0x7f9d471788]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x4a712c [0x7f9d54f12c]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x4a34e0 [0x7f9d54b4e0]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x49de74 [0x7f9d545e74]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: dwSAL_createSensor()+0x24 [0x7f9d54627c]
./sample_camera_gmsl() [0x40a83c]
./sample_camera_gmsl() [0x410ba0]
./sample_camera_gmsl() [0x408484]
/lib/aarch64-linux-gnu/libc.so.6: __libc_start_main()+0xe0 [0x7f723146e0]
./sample_camera_gmsl() [0x408938]

terminate called after throwing an instance of ‘std::runtime_error’
what(): [2020-01-08 13:39:20] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
dwSAL_createSensor(&m_camera, params, m_sal)
at /dvs/git/dirty/gitlab-master_av/dw/sdk/samples/sensors/camera/camera_gmsl/main.cpp:174
Aborted (core dumped)

Dear melinda.hung,

Did you run the same sample in XavierA and B at the same time?
If yes, XavierB needs to run in slave mode like below.
Please add --tegra-slave=1 and re-test it. Thanks.

./sample_camera_gmsl --camera-type=ar0231-rccb-bae-sf3325 –tegra-slave=1

Dear SteveNV,
Thanks for your kindly reply.
Did you run the same sample in XavierA and B at the same time? —> No

I had tried that you provided, but it still can not work…

==============================================================================================
nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ ./sample_camera_gmsl --camera-type=ar0231-rccb-bae-sf3325 --tegra-slave=1
[08-01-2020 15:46:08] Platform: Detected P3570 - Tegra B
[08-01-2020 15:46:08] TimeSource: monotonic epoch time offset is 1578464320261613
[08-01-2020 15:46:08] TimeSource: Could not detect valid PTP time source at nvpps. Fallback to eth0
[08-01-2020 15:46:08] TimeSource Eth: PTP ioctl returned error. Synchronized time will not be available from this timesource.
[08-01-2020 15:46:08] TimeSource: Could not detect valid PTP time source at ‘eth0’. Fallback to CLOCK_MONOTONIC.
[08-01-2020 15:46:08] Platform: number of GPU devices detected 2
[08-01-2020 15:46:08] Platform: currently selected GPU device discrete ID 0
[08-01-2020 15:46:08] SDK: Resources mounted from …/./data/
[08-01-2020 15:46:08] SDK: Create NvMediaDevice
[08-01-2020 15:46:08] SDK: use EGL display as provided
[08-01-2020 15:46:08] Initialize DriveWorks SDK v2.2.3137-experimental
[08-01-2020 15:46:08] Experimental Release build with GNU 7.3.1 from heads/release-2.2-0-gc13e640 against Drive PDK v5.1.6.0
[08-01-2020 15:46:08] Initialize DriveWorks VisualizationSDK v2.2.3136
[08-01-2020 15:46:08] Initialize DriveWorksGL SDK v2.2.3136
[08-01-2020 15:46:09] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,isp-mode=yuv420-uint8,camera-type=ar0231-rccb-bae-sf3325,camera-group=a,slave=1
[08-01-2020 15:46:09] CameraGMSL: Couldn’t set CameraGMSL setup thread sched params!
[08-01-2020 15:46:09] CameraGMSL: Create NvMediaIPPManager
[08-01-2020 15:46:09] CameraGMSL: required FPS = 30, resolution = 1920x1208
nvmedia isc: GetCameraPowerControlLevel: 936: Camera power control library: NVCCP
[08-01-2020 15:46:09] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

**** Stack trace ****
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x1def28 [0x7f946aef28]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x3c8fa0 [0x7f94898fa0]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x3c9788 [0x7f94899788]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x4a712c [0x7f9497712c]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x4a34e0 [0x7f949734e0]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: ()+0x49de74 [0x7f9496de74]
/usr/local/driveworks-2.2/bin/…/lib/libdriveworks.so.2: dwSAL_createSensor()+0x24 [0x7f9496e27c]
./sample_camera_gmsl() [0x40a83c]
./sample_camera_gmsl() [0x410ba0]
./sample_camera_gmsl() [0x408484]
/lib/aarch64-linux-gnu/libc.so.6: __libc_start_main()+0xe0 [0x7f6973c6e0]
./sample_camera_gmsl() [0x408938]

terminate called after throwing an instance of ‘std::runtime_error’
what(): [2020-01-08 15:46:09] DW Error DW_SAL_CANNOT_CREATE_SENSOR executing DW function:
dwSAL_createSensor(&m_camera, params, m_sal)
at /dvs/git/dirty/gitlab-master_av/dw/sdk/samples/sensors/camera/camera_gmsl/main.cpp:174
Aborted (core dumped)

Dear melinda.hung,

According to the log,

[08-01-2020 15:46:09] CameraGMSL: Couldn't set CameraGMSL setup thread sched params!
[08-01-2020 15:46:09] CameraGMSL: Create NvMediaIPPManager
[08-01-2020 15:46:09] CameraGMSL: required FPS = 30, resolution = 1920x1208
nvmedia isc: GetCameraPowerControlLevel: 936: Camera power control library: NVCCP
[08-01-2020 15:46:09] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

The camera seems to be disconnected.
Could you please make sure the camera is connected properly?
And could you please check if the camera sample works properly on XavierA? Thanks.

Dear SteveNV,

The camera seems to be disconnected.
Could you please make sure the camera is connected properly?
And could you please check if the camera sample works properly on XavierA? Thanks.
------> Yes, the camera can work on XavierA , and the sample is the same on Xavier A & Xavier B.

Dear melinda.hung,

Could you please help to check the symptom after rebooting the system? Thanks.

Hi StevenNV,
It works after rebooting the system, thanks.