,

NTP Calibration

To use it with the current implementation, you must have a PPS source and you must configure the ATOM driver for that PPS source (as opposed to using, for example NMEA's PPS support), then ntpd will automatically determine the fudge time1 value for the remaining refclock(s).

You can ensure the clock(s) you want to calibrate aren't used by adding noselect to their server lines. You can montior fudge time1 using ntpq's cv ASSOCID/cv &X (X is 1-based index of refclock in billboard/as output, ASSOCID would be from ntpq -c as). Once it's settled configure the fudge time1 for each in ntp.conf, remove the “enable calibrate” and any “noselect”s added for calibration, and if needed revert to your original PPS configuration. Upon restart, all the refclocks should now agree with the PPS.

Note you can calibrate by hand by marking a refclock noselect, ensuring its fudge time1 is 0, enabling peerstats or clockstats, then start ntpd and let it run long enough to settle down. Grab the peer offset for the clock from peerstats/clockstats (possibly averaging over a number of samples after the system had settled), then configure fudge time1 to the negation of the offset (or offset average).

Example