Pegasus E3550 Xavier B Sample Driver Problem ( Lidar & Camera GMSL )

Hello I can’t get sample_camera_gmsl with default parameters working on Xavier B.
But I got that the first time I tried then I rebooted the system now I can’t connect to the camera

I get the following error:

[11-09-2019 14:33:35] Platform: Detected DDPX - Tegra B
[11-09-2019 14:33:35] Initialize DriveWorks SDK v2.0.2081
[11-09-2019 14:33:35] Release build with GNU 4.9.4 from heads/buildbrain-branch-0-g36b127f against Drive PDK v5.1.0.2
[11-09-2019 14:33:35] TimeSource: monotonic epoch time offset is 1568199964426037
[11-09-2019 14:33:35] PTP Time is available from NVPPS Driver
[11-09-2019 14:33:35] Platform: number of GPU devices detected 2
[11-09-2019 14:33:35] Platform: currently selected GPU device discrete ID 0
[11-09-2019 14:33:35] SDK: Resources mounted from …/./data/
[11-09-2019 14:33:35] SDK: Create NvMediaDevice
[11-09-2019 14:33:35] SDK: use EGL display as provided
[11-09-2019 14:33:35] Initialize DriveWorks VisualizationSDK v2.0.2081
[11-09-2019 14:33:35] Initialize DriveWorksGL SDK v2.0.2081
[11-09-2019 14:33:35] SensorFactory::createSensor() -> camera.gmsl, output-format=yuv,fifo-size=3,isp-mode=yuv420-uint8,camera-type=ar0231-rccb-bae-sf3324,camera-group=a,slave=0
[11-09-2019 14:33:35] CameraGMSL: Create NvMediaIPPManager
[11-09-2019 14:33:35] CameraGMSL: required FPS = 30, resolution = 1920x1208
nvmedia isc: IscPwrCtrlInit: 939: Camera power control library: NVCCP
receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

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

receive_from: Timeout Error.
Please check Ethernet ip configuration or
Update Aurix firmware version by the following command

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

nvmedia isc: NvccpCamPowerControl: 534: NVCCP command failed with ret NVCCP_REQ_TIMEOUT
iscRootDevOpen: Failed to request ownership
NvMediaISCRootDeviceCreate: Unable to open root device
nvmedia: ERROR: Init: Failed to create NvMedia ISC root device
[04-07-2017 11:05:47] Driveworks exception thrown: DW_SAL_CANNOT_CREATE_SENSOR: CameraGMSL: cannot connect to camera

terminate called after throwing an instance of ‘std::runtime_error’
what(): [2017-07-04 11:05:47] 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)

This is the error that I get from Lidar

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ ./sample_lidar_replay --protocol=lidar.socket --params=device=VELO_VLP16,ip=192.168.1.201,port=2268,scan-frequency=10

Starting my sample application…
[04-07-2017 11:03:14] Platform: Detected DDPX - Tegra B
[04-07-2017 11:03:14] Initialize DriveWorks SDK v2.0.2081
[04-07-2017 11:03:14] Release build with GNU 4.9.4 from heads/buildbrain-branch-0-g36b127f against Drive PDK v5.1.0.2
[04-07-2017 11:03:14] TimeSource: monotonic epoch time offset is 1499153885728373
[04-07-2017 11:03:14] PTP Time is available from NVPPS Driver
[04-07-2017 11:03:14] Platform: number of GPU devices detected 2
[04-07-2017 11:03:14] Platform: currently selected GPU device discrete ID 0
[04-07-2017 11:03:14] SDK: Resources mounted from …/./data/
[04-07-2017 11:03:14] SDK: Create NvMediaDevice
[04-07-2017 11:03:14] SDK: use EGL display as provided
[04-07-2017 11:03:14] SensorFactory::createSensor() -> lidar.socket, device=VELO_VLP16,ip=192.168.1.201,port=2268,scan-frequency=10
[04-07-2017 11:03:14] Destination IP address and Horizontal Resolution is used only by OUSTER Lidar
Return Mode is used only by Velodyne Lidar
[04-07-2017 11:03:29] Driveworks exception thrown: DW_SAL_CANNOT_INITIALIZE: LidarSocket::checkDeviceData, 192.168.1.201:2268 is not connected

terminate called after throwing an instance of ‘std::runtime_error’
what(): [2017-07-04 11:03:29] DW Error DW_SAL_CANNOT_INITIALIZE executing DW function:
dwSAL_createSensor(&m_lidarSensor, params, m_sal)
at /dvs/git/dirty/gitlab-master_av/dw/sdk/samples/sensors/lidar/lidar_replay/main.cpp:113
Aborted (core dumped)

I checked the lidar port on chromium

Here are the results from nmap

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ nmap -sP 192.168.1.*

Starting Nmap 7.01 ( https://nmap.org ) at 2017-07-04 11:02 EEST
Nmap scan report for 192.168.1.201
Host is up (0.0094s latency).
Nmap scan report for 192.168.1.203
Host is up (0.00059s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 69046088.00 seconds

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ nmap 192.168.1.201 -p 80

Starting Nmap 7.01 ( https://nmap.org ) at 2017-07-04 11:02 EEST
Nmap scan report for 192.168.1.201
Host is up (0.0027s latency).
PORT STATE SERVICE
80/tcp open http

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ nmap 192.168.1.201 -p 2268

Starting Nmap 7.01 ( https://nmap.org ) at 2017-07-04 11:08 EEST
Nmap scan report for 192.168.1.201
Host is up (0.0029s latency).
PORT STATE SERVICE

I could get data with the same command on the host side.

Best Regards

Cagatay

Hello,

In order to capture frames from tegra B I think I have to set --tegra-slave parameter to 0. But after a cold reboot, I can get camera gmsl data from B but after I restart B, I get the same error.

Something like this:

Power on —> A,B boots up —> Can get Data from GMSL ----> restart B ----> Can’t get data from B even with --tegra-slave=0 option

The problem with lidar data acq. continues. I can’t get data from VLP16 from tegra B

Dear csari3,
Did you check running sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update as shown in the output log of sample_camera_gmsl. What is the Aurix version?

Regarding Lidar issue,
Are you able to ping Lidar from the board? If so, Can you open the lidar configuration page with http://<LIDAR_IP>(Refer page no 25 in VLP 16 manual) to check the correct port number.
Please run the command with correct port and IP. Also, did you check changing scan frequency?

Hello,

GMSL Camera

Aurix Version:

Info: Executing cmd: version, argc: 0, args:
SW Version: DRIVE-V5.1.0-E3550-EB-Aurix-ForHyperion-3.02.07
Compilation date: Apr 2 2019, 14:40:07

Command Output:

nvidia@tegra-ubuntu:/usr/local/driveworks/bin$ sudo /bin/bash /etc/systemd/scripts/nv_aurix_check_fw.sh -auto_update
starting Aurix FW checking…
Checking arguments…
Aurix OTA is only valid for DPX2-AutoChauffeur Tegra A or DPX2-AutoCruise or DDPX A
nvidia@tegra-ubuntu:/usr/local/driveworks/bin$

Still can’t get data from tegra B after I reboot it

Lidar


As I copied the results coming as output from nmap

Yes I can ping Lidar, I can see the configuration site of VLP16 at port 80 from my web browser.
Yes I can ping the udp port stated at the config site of VLP16. VLP16 is fine, we can run it with ROS Drivers with the configuration on an intel host pc. Yes I can run this VLP16 lidar with sample_lidar_replay commands with Drive Software 9.0 on a host pc.

Dear Csari3,
This is strange. As I said if you open http://192.168.1.201 on board, you should be able to see LIDAR configuration page with port number. You should use the same IP and port number to run lidar replay sample. Please share the screenshot LIDAR configuration page for confirmation. Because the error log shows Driveworks exception thrown: DW_SAL_CANNOT_INITIALIZE: LidarSocket::checkDeviceData, 192.168.1.201:2268 is not connected

Can you check pinging 10.42.0.146?

Here is the screenshot:

here is the ping result:

nvidia@tegra-ubuntu:~$ ping 10.42.0.146
PING 10.42.0.146 (10.42.0.146) 56(84) bytes of data.
64 bytes from 10.42.0.146: icmp_seq=1 ttl=255 time=7.86 ms
64 bytes from 10.42.0.146: icmp_seq=2 ttl=255 time=1.10 ms
^C
— 10.42.0.146 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.107/4.484/7.862/3.378 ms

Dear Csari3,
The attached picture resolution is bad. Is the port number is 2268 or 2368? The default value is 2368 as per page 26 in https://usermanual.wiki/Pdf/VLP16Manual.1719942037.pdf.

It is 2268, sorry for the low res photo I can send you the picture via email. I have been using VLP-16 for a very long time.

Dear csari3,
Could you share ifconfig -a Output.
For lidar is it possible to change ip address and port number for verification.

Hello Here is the output of ifconfig

nvidia@tegra-ubuntu:~$ ifconfig -a
can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:104

can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:13531 errors:0 dropped:13531 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:108248 (108.2 KB) TX bytes:0 (0.0 B)
Interrupt:105

enP4p1s0 Link encap:Ethernet HWaddr 00:04:4b:cb:cf:a6
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

enp3s0 Link encap:Ethernet HWaddr 00:04:4b:cb:cf:a4
inet addr:192.168.0.11 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

eth0 Link encap:Ethernet HWaddr 00:04:4b:cb:cf:a1
inet addr:10.42.0.138 Bcast:10.42.0.255 Mask:255.255.255.0
inet6 addr: fe80::204:4bff:fecb:cfa1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:150099 errors:0 dropped:0 overruns:0 frame:0
TX packets:51392 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:26617422 (26.6 MB) TX bytes:6290035 (6.2 MB)
Interrupt:82

eth0:400 Link encap:Ethernet HWaddr 00:04:4b:cb:cf:a1
inet addr:192.168.1.203 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:82

eth0:900 Link encap:Ethernet HWaddr 00:04:4b:cb:cf:a1
inet addr:10.1.0.82 Bcast:10.1.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:82

eth0.200 Link encap:Ethernet HWaddr 00:04:4b:cb:cf:a1
inet addr:10.42.0.29 Bcast:10.42.0.255 Mask:255.255.255.0
inet6 addr: fe80::204:4bff:fecb:cfa1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4461 errors:0 dropped:0 overruns:0 frame:0
TX packets:3736 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:213520 (213.5 KB) TX bytes:282858 (282.8 KB)

hv0 Link encap:Ethernet HWaddr 0a:86:4c:f8:e8:00
inet addr:192.168.10.4 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::886:4cff:fef8:e800/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:142 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:16084 (16.0 KB)
Interrupt:11

hv1 Link encap:Ethernet HWaddr 0a:86:4c:f8:e9:00
inet addr:192.168.12.4 Bcast:192.168.12.255 Mask:255.255.255.0
inet6 addr: fe80::886:4cff:fef8:e900/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:292 (292.0 B) TX bytes:15994 (15.9 KB)
Interrupt:12

ip6gre0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
NOARP MTU:1448 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

ip6tnl0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
NOARP MTU:1452 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:2291 errors:0 dropped:0 overruns:0 frame:0
TX packets:2291 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:204462 (204.4 KB) TX bytes:204462 (204.4 KB)

sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

I can ssh to both tegras with ips 192.168.1.200 and 192.168.1.203

Hello, the lidar problem is resolved, I have confused the host destination ips of tegra A and tegra B. After I corrected the host destination ip configuration on VLP-16’s configuration correctly. I was able to get data from the VLP-16 lidar. Thank you for your help.

The problem with camera continues:

Power on —> A,B boots up —> Can get Data from GMSL ----> restart B ----> Can’t get data from B even with --tegra-slave=0 option

Dear Csari3,
receive_from: Timeout Error indicates issues with Aurix Tegra communication. Could you check aurixreset on aurix console and share ifconfig output if it did not help. Also, did you set eth0 to 10.42.0.138?

hello
aurixreset did not solve the problem. In order to get camera working again on tegra B. I have to power off and on again whole AGX system ( Aurix, Tegra A, Tegra B ).
Yeah eth0 is set to 10.42.0.138

Here is the output of eth0:

nvidia@tegra-ubuntu:~$ ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:04:4b:cb:cf:a1
inet addr:10.42.0.138 Bcast:10.42.0.255 Mask:255.255.255.0
inet6 addr: fe80::204:4bff:fecb:cfa1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:262805 errors:0 dropped:0 overruns:0 frame:0
TX packets:3068 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:291121814 (291.1 MB) TX bytes:373002 (373.0 KB)
Interrupt:82

nvidia@tegra-ubuntu:~$

Dear csari3,
You said, after hard reboot of the board, the camera started working and lidar issue was due to using wrong IP address. Do you have any issue still?