This article should act as a guide for how to set up an OxTS INS as a PTP master. Here is a list of products which will support PTP functionality:
- Survey+ v3
- RT3000 v3 (including RT3000 L1 v3)
- xNAV550 v3 (firmware 190708x1 or newer required)
- RT1003 (firmware 190708x1 or newer required)
(Any device that runs xDEV)
To enable PTP functionality on your device:
- Check that the xDEV version is '201221ez' or newer by looking at the Advanced Development Kit ID measurement in NAVdisplay. If the xDEV version is a lower number, upgrade the firmware.
- Upload a ptpd.conf file and the leap-seconds.list file to the unit (attached at the bottom of this article).
- Ensure the PTP feature code is enabled.
- Append -enable_ptp to mobile.cfg.
- Reboot the unit.
For the PTP functionality to work, the unit must have the primary GNSS antenna connected and be tracking satellites. For optimum performance, the unit must also be initialised.
Note: The internal WiFi module of RT3000 v3/Survey+ v3/RT500 must be disabled to use PTP.
The mobile.cfg file
Aside from '-enable_ptp', there are some additional advanced commands that can be used to change the time mode used by the OxTS device (to use UTC, Unix or PTP time modes). By default, GPS time will be used. For more information, click here.
The ptpd.conf file
All of the other PTP settings are configured with the “ptpd.conf” file. All the options are documented (for example, https://manpages.debian.org/testing/ptpd/ptpd.conf.5.en.html), though some are not supported.
This is what a ptpd.conf file looks like:
The lines that don't begin with '; ' are the editable fields. After editing a field, upload the edited version of the file back on to the unit and then reset the unit.
The configuration file shown above tells PTPd to run over UDP. To confirm that PTP has been enabled and is running correctly, the PTP packets are viewable in Wireshark with the capture filter "host 188.8.131.52 || host 184.108.40.206":
The protocol column shows that the messages are PTPv2 and the info tab tells you which PTP messages are being sent. Here you can see messages from both the Main and Secondary PTP devices.
In the sections above, PTP packets are sent via UDP. To use PTP over 802.3/ethernet/annex f, first you will need to edit the ptpd.conf file on the unit. Change the "ptpengine:transport" field to "ethernet":
Once you have finished editing the ptpd.conf file, upload it back on to the unit. Then reboot the unit.
Then the PTP packets will be viewable in Wireshark with the capture filter "ether proto 0x88f7".
Note: if using PTP in P2P mode, P2P messages are sent to the same multicast address (01:80:C2:00:00:0E) that is used for LLDP. LLDP is often either blocked, or handled in some specific way by ethernet switches that aren’t PTP-compliant. Therefore, you may not see these messages coming through.