I have an NTP server with a PPS source attached, coming from a Sure GPS. Rather than use the NMEA driver with PPS support, I’d like to ignore the NMEA and combine the PPS output with the timestamp from Internet sources. But, the other sources are derived from a “pool iburst preempt” command. Is there any way to have ntpd use a server from the pool keyword as the source of the timestamp for PPS?
It looks like the PPS driver needs a server to be marked with “prefer”. I’ve tried adding “prefer” to the pool command but my PPS source seems to be rejected (with an X) unless I replace ‘pool’ with ‘server’, but then I lose the preempt feature of the pool command. The documentation makes it clear that “prefer” only works with “server” and “peer” addresses, but is there a solution that would allow me to keep using a pool address and also have the servers from the pool be used as a timestamp source for PPS?
The end-goal is to have any of the sources from one or more ‘pool’ commands (whichever ntpd selects with *) be used as the timestamp source for the PPS driver.
The closest I could get was to have the same source listed twice, one as a “server” address with “prefer”, and another as a “pool” address, as seen in my current ntp.conf:
driftfile /var/lib/ntp/ntp.drift logfile /var/log/ntplog # Sure GPS server 127.127.22.0 minpoll 3 prefer fudge 127.127.22.0 flag2 0 flag3 0 flag4 0 # this seems hacky... server address1 iburst prefer pool address1 iburst preempt pool address2 iburst preempt pool address3 iburst preempt pool address4 iburst preempt # default secure restrictions (allow query) restrict default limited kod notrap nomodify # pool restrictions (allow peer) restrict source limited kod notrap nomodify # unrestricted local access restrict 127.0.0.1 restrict ::1