ntpd may needs to be instructed to stay away from interfaces that are ports in bridges and aggregates.
And only use the ones we want
ntpd can operate as unicast server for any permitting restriction, an additional directive is used to produce autonomous multicasts sent out of the specified interface, with the source IPv6 address of that interface.
Although extra lines might be added to send from other interfaces, it is neater to decide on a primary source interface, specified here, and copy to others with smcroute
If autokey is configured, instead:
Recently it has been possible to add mostly any ntp.conf file rule whilst ntpd is running. This is most useful to add client lines as these require a connection to the associated server to be live to work.
Using a script from NetworkManager dispatcher directory, or dhcp client, to prod ntpd when the interface is ready
ntpdc wants to open /dev/tty to get your password, but it can be tricked with expect.
Change multicastclient ff05:101%${IFACE}
to a line like pool ntp.example
for a unicast client
Example for option gsm card
Though it does not need a sim card in it for the gps receiver to work, ModemManager might not like that idea so it has to be activated manually.
Can try activating via gpsdctl add /dev/ttyHS1 or manually
ptpd can be used to get more precision and interoperates with ntpd, where ntp can get time from the internet and serve it to sntp stations, and ptpd or ptp4l where supported, can serve to ptp downstreams.
It supports multicasting with raw ethernet and udp modes, and there is provision in windows 10 though that only takes udp for the time being.
Whilst still in beta the only configuration interface is with the registry and some items are barely documented, and discovered by loading ptpprov.dll into notepad, and search utf-16 spaced words!
ChosenMcastIfIpAddr selects the interface via an assigned IPv4 address.
HWTSEnabledIfIpAddr could be for the physical related interface if the mcast one is a virtual bridge.
Other recommendable registry adjustments include RealTimeIsUniversal to treat the system RTC better, and ShowSecondsInSystemClock to exhibit the system improved accuracy after PTP can work!
Then the NtpClient and VMICTimeProvider are disabled as microsoft suggest, so the system has to use PTP, and apply the powershell rules to open up the firewall for PTP-319 and PTP-320.
To troubleshoot, wireshark, and a batch.cmd can be used, invoked from an Administrator cmd even when the "user" account is logged in.
With the tasklist, find the PID associated with the instance of svchost.exe that handles W32Time, and use that with sysinternals procmon64 to have a detailed examination of what is happening.
There other log to check is the event viewer, in compmgmt.msc where there is a Time-Service-PTP-Provider that provides 512 as a trying code, 514 for some failure, confirmation that everything is working with a 513 return code.
If the microsoft hybrid ptpd template is taken for master, probably causes are that the ptpd needs to set PTP_TIMESCALE and PTP_UTC_REASONABLE in flags for windows to accept it as a master, and needs to send announces more often than AnnounceInterval of 4 seconds, once a second seems to work.