clockopt.htm   [plain text]


<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
   <META NAME="GENERATOR" CONTENT="Mozilla/4.01 [en] (Win95; I) [Netscape]">
   <TITLE>Reference Clock Options
</TITLE>
</HEAD>
<BODY>

<H3>
Reference Clock Options</H3>

<HR>
<H4>
Reference Clock Support</H4>
The NTP Version 4 daemon supports many 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 <A HREF="refclock.htm">Reference
Clock Drivers </A>page. Additional information can be found in the pages
referenced there, including the <A HREF="rdebug.htm">Debugging Hints for
Reference Clock Drivers</A> and <A HREF="howto.html">How To Write a Reference
Clock Driver</A> pages. In many drivers, support for a PPS signal is available
as described in <A HREF="pps.htm">Pulse-per-second (PPS) Signal Interfacing</A>
page. Many drivers support special line discipline/streams modules which
can significantly improve the accuracy using the driver. These are described
in the <A HREF="ldisc.htm">Line Disciplines and Streams Drivers</A> page.

<P>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,
but is usually a serial port. A device driver specific to each reference
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.

<P>For the purposes of configuration, <TT>ntpd</TT> 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 <TT>127.127.<I>t.u</I></TT>, where <I><TT>t</TT></I> is
an integer denoting the clock type and <I><TT>u</TT></I> indicates the
unit number. 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&nbsp; must be unique.

<P>The <TT>server</TT> command is used to configure a reference clock,
where the <I><TT>address</TT></I> argument in that command is the clock
address. The <TT>key</TT>, <TT>version</TT> and <TT>ttl</TT> options are
not used for reference clock support. The <TT>mode</TT> option is added
for reference clock support, as described below. The <TT>prefer</TT> 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 <A HREF="prefer.htm">Mitigation
Rules and the <TT>prefer</TT> Keyword </A>page. The <TT>minpoll</TT> and
<TT>maxpoll</TT> options have meaning only for selected clock drivers.
See the individual clock driver document pages for additional information.

<P>The stratum number of a reference clock is by default zero. Since the
<TT>ntpd</TT> 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 <TT>stratum</TT> 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 <TT>refid</TT> option is
used for this purpose. Except where noted, these options apply to all clock
drivers.
<H4>
Reference Clock Commands</H4>

<DL>
<DT>
<TT>server 127.127.<I>t.u</I> [prefer] [mode <I>int</I>] [minpoll <I>int</I>]
[maxpoll <I>int</I>]</TT></DT>

<DD>
This command can be used to configure reference clocks in special ways.
The options are interpreted as follows:</DD>

<DD>
&nbsp;</DD>

<DL>
<DT>
<TT>prefer</TT></DT>

<DD>
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 <A HREF="prefer.htm">Mitigation Rules and the <TT>prefer</TT>
Keyword </A>page for further information.</DD>

<DD>
&nbsp;</DD>

<DT>
<TT>mode <I>int</I></TT></DT>

<DD>
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 <TT>parse</TT> drivers.</DD>

<DD>
&nbsp;</DD>

<DT>
<TT>minpoll <I>int</I></TT></DT>

<DT>
<TT>maxpoll<I> int</I></TT></DT>

<DD>
These options specify the minimum and maximum polling interval for reference
clock messages, in seconds to the power of two. For most directly connected
reference clocks, both <TT>minpoll</TT> and <TT>maxpoll</TT> default to
6 (64 s). For modem reference clocks, <TT>minpoll</TT> defaults to 10 (17.1
m) and <TT>maxpoll</TT> defaults to 14 (4.5 h). The allowable range is
4 (16 s) to 17 (36.4 h) inclusive.</DD>
</DL>
&nbsp;
<DT>
<TT>fudge 127.127.<I>t.u</I> [time1 <I>sec</I>] [time2 <I>sec</I>] [stratum
<I>int</I>] [refid <I>string</I>] [mode <I>int</I>] [flag1 0|1] [flag2
0|1] [flag3 0|1] [flag4 0|1]</TT></DT>

<DD>
This command can be used to configure reference clocks in special ways.
It must immediately follow the <TT>server</TT> command which configures
the driver. Note that the same capability is possible at run time using
the <TT><A HREF="ntpdc.htm">ntpdc</A></TT> program. The options are interpreted
as follows:</DD>

<DD>
&nbsp;</DD>

<DL>
<DT>
<TT>time1 <I>sec</I></TT></DT>

<DD>
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 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.</DD>

<DD>
&nbsp;</DD>

<DT>
<TT>time2 <I>secs</I></TT></DT>

<DD>
Specifies a fixed-point decimal number in seconds, which is interpreted
in a driver-dependent way. See the descriptions of specific drivers in
the <A HREF="refclock.htm">reference clock drivers</A> page.</DD>

<DD>
&nbsp;</DD>

<DT>
<TT>stratum <I>int</I></TT></DT>

<DD>
Specifies the stratum number assigned to the driver, an integer between
0 and 15. This number overrides the default stratum number ordinarily assigned
by the driver itself, usually zero.</DD>

<DD>
&nbsp;</DD>

<DT>
<TT>refid <I>string</I></TT></DT>

<DD>
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.</DD>

<DD>
&nbsp;</DD>

<DT>
<TT>mode <I>int</I></TT></DT>

<DD>
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 <TT>parse</TT> drivers.</DD>

<DD>
&nbsp;</DD>

<DT>
<TT>flag1</TT> <TT>flag2</TT> <TT>flag3</TT> <TT>flag4</TT></DT>

<DD>
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 clock driver. However, by convention <TT>flag4</TT> is used
to enable recording verbose monitoring data to the <TT>clockstats</TT>
file configured with the <TT>filegen</TT> command. Further information
on the <TT>filegen</TT> command can be found in the <A HREF="monopt.htm">Monitoring
Options </A>page.</DD>

<DD>
&nbsp;</DD>
</DL>

<DT>
<TT>pps <I>device</I> [assert|clear] [hardpps]</TT></DT>

<DD>
Specifies the name of the serial port device to which the PPS signal is
connected. Note, this command replaces use of <TT>fudge flag3</TT>, which
was used for the same purpose in NTPv3. Note also that this command should
preceed the <TT>server</TT> and <TT>fudge</TT> command for the same device.</DD>

<DT><TT>assert</TT> <TT>clear</TT></DT>
<DD>Using <TT>assert</TT> or <TT>clear</TT> specifies if the high going or
low going edge of the signal must be used. The default is <TT>assert</TT>.</DD>

<DT><TT>hardpps</TT></DT>
<DD>This flag is used to tell the kernel that the signal from
this device must be used to drive hardpps().</DD>

<DD>The <TT>assert</TT>, <TT>clear</TT> and <TT>hardpps</TT> options
are only available if the PPSAPI is used.</DD>

</DL>

<HR>
<ADDRESS>
David L. Mills (mills@udel.edu)</ADDRESS>

</BODY>
</HTML>