The NTP Version 3 daemon currently supports several different radio, satellite and modem reference clocks plus a special pseudo-clock used for backup or when no other clock source is available. Detailed descriptions of individual device drivers and options can be found in the Reference Clock Drivers page. Additional information can be found in the pages referenced there, including the Debugging Hints for Reference Clock Drivers and How To Write a Reference Clock Driver pages. In many drivers, support for a PPS signal is available as described in Pulse-per-second (PPS) Signal Interfacing page. Many drivers support special line discipline/streams modules which can significantly improve the accuracy using the driver. These are described in the Line Disciplines and Streams Drivers page.
A reference clock will generally (though not always) be a radio timecode receiver which is synchronized to a source of standard time such as the services offered by the NRC in Canada and NIST and USNO in the U.S. The interface between the computer and the timecode receiver is device dependent and will vary, but is often a serial port. A device driver specific to each clock must be selected and compiled in the distribution; however, most common radio, satellite and modem clocks are included by default. Note that an attempt to configure a reference clock when the driver has not been included or the hardware port has not been appropriately configured results in a scalding remark to the system log file, but is otherwise non hazardous.
For the purposes of configuration, xntpd
treats
reference clocks in a manner analogous to normal NTP peers as much as
possible. Reference clocks are identified by a syntactically correct but
invalid IP address, in order to distinguish them from normal NTP peers.
Reference clock addresses are of the form
127.127.t.u
, where t
is an
integer denoting the clock type and u
indicates the
type-specific unit number.
The server
command is used to configure a reference clock,
where the address
argument in that command is the
clock address. The key
, version
and
ttl
options are not used for reference clock support. The
prefer
option can be useful to persuade the server to
cherish a reference clock with somewhat more enthusiasm than other
reference clocks or peers. Further information on this option can be
found in the Mitigation Rules and the
prefer
Keyword page. Some reference clocks require
additional options to further specify the operation.
The stratum of a reference clock is by default zero. Since the
xntpd
daemon adds one to the stratum of each peer, a
primary server ordinarily displays stratum one. In order to provide
engineered backups, it is often useful to specify the reference clock
stratum as greater than zero. The stratum
option is used
for this purpose. Also, in cases involving both a reference clock and a
pulse-per-second (PPS) discipline signal, it is useful to specify the
reference clock identifier as other than the default, depending on the
driver. The refid
option is used for this purpose. Except
where noted, these options apply to all clock drivers.
fudge 127.127.t.u [ time1 secs ] [ time2
secs ] [ stratum int ] [ refid string ] [ mode
int ] [ flag1 0 | 1 ] [ flag2 0 | 1 ] [ flag3 0 | 1] [ flag4 0 |
1 ]
server
command which
configures the driver. Note that the same capability is possible at run
time using the xntpdc
program.
The options are interpreted as follows:
time1 secs
time2 secs
stratum int
refid string
mode int
parse
drivers.
flag1
flag2
flag3
flag4
flag3
is used to attach the
ppsclock
streams module to the configured driver, while
flag4
is used to enable recording verbose monitoring data
to the clockstats
file configured with the
filegen
command. Further information on the
ppsclock
streams module can be found in the Pulse-per-second (PPS) Signal Interfacing page.
Further information on the filegen
command can be found in
the Monitoring Options page.