Hello,
how to synchronize the GMSL camera by a PTP clock coming from ETH0?
On Xavier A and Xavier B we have a PTP slave running using “/usr/sbin/ptpd -c /etc/ptpd2.conf”
The /etc/ptpd2.conf
has following settings:
; interface has to be specified
ptpengine:interface=eth0
; PTP domain
ptpengine:domain=0
; available presets are slaveonly, masteronly and masterslave (full IEEE 1588 implementation)
ptpengine:preset=slaveonly
; multicast for both sync and delay requests - use hybrid for unicast delay requests
ptpengine:ip_mode=multicast
; when enabled, sniffing is used instead of sockets to send and receive packets
ptpengine:use_libpcap=n
; log file, event log only. if timing statistics are needed, see statistics_file
global:log_file=/var/log/ptpd2.log
; status file providing an overview of ptpd's operation and statistics
global:log_status=y
Using wireshark
we see the PTP messages exchanged and using date
we see the Xavier’s clock in sync with host PC.
The dwImage_getTimestamp()
timestamps from GMSL cameras look pretty weak with high jitter.
dwInitialize()
outputs:
[25-11-2021 17:56:39] TimeSource: Could not detect valid PTP time source at nvpps. Fallback to eth0
[25-11-2021 17:56:39] TimeSource Eth: Lost PTP time synchronizaton. Synchronized time will not be available from this timesource.
[25-11-2021 17:56:39] TimeSource: Could not detect valid PTP time source at 'eth0'. Fallback to CLOCK_MONOTONIC.
How to sync the GMSL cameras?
GMSL camera sync uses an external trigger and GMSL cameras are connected to one group, only. We like to use PTP via ETH0 as source clock and use all groups.
We tried the recommendation from What's the GlobalTimeStamp
./phc2sys -s /dev/ptp0 -w -S 1.0 -O 0 &
./ptp4l -f ./gPTP_slave.cfg -p /dev/ptp0 -i eth0 -m
but how to specify ETH0 as the clock source ?
Thanks for your support
Andreas
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.6 and DriveWorks 4.0
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.7.0.8846
other
Host Machine Version
native Ubuntu 18.04
other