Reference Clock Commands and Options
Last update: March 23, 2023 21:05 UTC (6ad51a76f)
Master Time Facility at the
UDel Internet Research Laboratory
Table of Contents
Reference Clock Addresses
Unless noted otherwise, further information about these commands is on the Reference Clock Support page.
Reference clocks are identified by a syntactically correct but invalid IP address, in order to distinguish them from ordinary NTP peers. These addresses are of the form 127.127.t.u
, where t
is an integer denoting the clock type and u
indicates the unit number in the range 0-3. While it may seem overkill, it is in fact sometimes useful to configure multiple reference clocks of the same type, in which case the unit numbers must be unique.
Commands and Options
server 127.127.t.u [prefer] [mode int] [minpoll int] [maxpoll int]
- This command can be used to configure reference clocks in special ways. The options are interpreted as follows:
-
prefer
- Marks the reference clock as preferred. All other things being equal, this host will be chosen for synchronization among a set of correctly operating hosts. See the Mitigation Rules and the
prefer
Keyword page for further information.
-
mode int
- Specifies a mode number which is interpreted in a device-specific fashion. For instance, it selects a dialing protocol in the ACTS driver and a device subtype in the
parse
drivers.
-
minpoll int
-
maxpoll int
- These options specify the minimum and maximum polling interval for reference clock messages in log2 seconds. For most directly connected reference clocks, both
minpoll
and maxpoll
default to 6 (64 s). For modem reference clocks, minpoll
is ordinarily set to 10 (about 17 m) and maxpoll
to 15 (about 9 h). The allowable range is 4 (16 s) to 17 (36 h) inclusive.
fudge 127.127.t.u [time1 sec] [time2 sec] [stratum int] [refid string] [flag1 0|1] [flag2 0|1] [flag3 0|1] [flag4 0|1]
- This command can be used to configure reference clocks in special ways. It must immediately follow the
server
command which configures the driver. Note that the same capability is possible at run time using the ntpdc
program. The options are interpreted as follows:
-
time1 sec
- Specifies a constant to be added to the time offset produced by the driver, a fixed-point decimal number in seconds. This is used as a calibration constant to adjust the nominal time offset of a particular clock to agree with an external standard, such as a precision PPS signal. It also provides a way to correct a systematic error or bias due to serial port or operating system latencies, different cable lengths or receiver internal delay. The specified offset is in addition to the propagation delay provided by other means, such as internal DIPswitches. Where a calibration for an individual system and driver is available, an approximate correction is noted in the driver documentation pages.
NOTE: In order to facilitate calibration when more than one radio clock or PPS signal is supported, a special calibration feature is available. It takes the form of an argument to the enable
command described in the Miscellaneous Options page and operates as described in the Reference Clock Support page.
-
time2 secs
- Specifies a fixed-point decimal number in seconds, which is interpreted in a driver-dependent way. See the descriptions of specific drivers in the Reference Clock Support page.
-
stratum int
- Specifies the stratum number assigned to the driver in the range 0 to 15, inclusive. This number overrides the default stratum number ordinarily assigned by the driver itself, usually zero.
-
refid string
- Specifies an ASCII string of from one to four characters which defines the reference identifier used by the driver. This string overrides the default identifier ordinarily assigned by the driver itself.
-
flag1 flag2 flag3 flag4
- These four flags are used for customizing the clock driver. The interpretation of these values, and whether they are used at all, is a function of the particular driver. However, by convention
flag4
is used to enable recording monitoring data to the clockstats
file configured with the filegen
command. Additional information on the filegen
command is on the Monitoring Options page.
-
minjitter secs
- If the source has a jitter that cannot be sensibly estimated, because it is not statistic jitter, the source will be detected as falseticker sooner or later. This has been observed e.g. with the serial data of certain GPS receivers. Enforcing a minimal jitter value avoids a too low estimation, keeping the clock in the zoo while still detecting higher jitter.
NOTE: This changes the refclock samples and ends up in the clock dispersion, not the clock jitter, despite being called jitter. To see the modified values, check the NTP clock variable filtdisp
, not jitter
.
- The falseticker problem can also be avoided by increasing
tos mindist
, which extends the intersection interval, but that affects the root dispersion and is intended for the case of multiple reference clocks with reliable jitter that do not intersect otherwise.