Solution
Support for Linux RT targets was added to NI-TimeSync with version 14.5. During development, National Instruments detected an intermittent loss of synchronization that only occurs when an ARM-based Linux RT target functions as the 1588 master. To prevent this, NI-TimeSync applies the slave-only setting to all ARM-based Linux RT targets (such as NI 906x controllers) by default. This prevents these devices from serving as a master.
Networks with systems requiring synchronization should contain at least one clock that is not set to slave-only.
You can override the slaveonly default setting on an RT Linux device, and configure a target to be masterslave. This is needed if none of the devices on the network is capable of acting as master, e.g. because all of them are RT Linux devices. Synchronization performance may degrade as a result. National Instruments recommends using a controller that is not affected by this intermittent synchronization loss as the 1588 master. You can also use a dedicated 1588 master to supply time to the system.
Complete the following steps to override the slaveonly setting:
- Navigate to /usr/local/natinst/share/TimeSync/TimeReferences/ (if using NI-TimeSync 18.6 or older) or /usr/lib/arm-linux-gnueabi/ni-timesync/timereferences (if using NI-Sync 19.0 or newer) and open ptp.conf.
- Change the appropriate line from Ptpengine:preset=slaveonly to read: Ptpengine:preset=masterslave
- Reboot the device