19c2daa00SOllivier Robert<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 29c2daa00SOllivier Robert<html> 39c2daa00SOllivier Robert<head> 4ea906c41SOllivier Robert<meta http-equiv="content-type" content="text/html;charset=iso-8859-1"> 59c2daa00SOllivier Robert<meta name="generator" content="HTML Tidy, see www.w3.org"> 62b15cb3dSCy Schubert<title>Reference Clock Commands and Options</title> 79c2daa00SOllivier Robert<link href="scripts/style.css" type="text/css" rel="stylesheet"> 89c2daa00SOllivier Robert</head> 99c2daa00SOllivier Robert<body> 102b15cb3dSCy Schubert<h3>Reference Clock Commands and Options</h3> 112b15cb3dSCy Schubert<img src="pic/stack1a.jpg" alt="gif" align="left">Master Time Facility at the <a href="http://www.eecis.udel.edu/%7emills/lab.html">UDel Internet Research Laboratory</a> 122b15cb3dSCy Schubert<p>Last update: 132d4e511cSCy Schubert <!-- #BeginDate format:En2m -->26-Sep-2019 06:34<!-- #EndDate --> 142b15cb3dSCy Schubert UTC</p> 159c2daa00SOllivier Robert<br clear="left"> 169c2daa00SOllivier Robert<h4>Related Links</h4> 172b15cb3dSCy Schubert<script type="text/javascript" language="javascript" src="scripts/refclock.txt"></script> 182b15cb3dSCy Schubert<script type="text/javascript" language="javascript" src="scripts/audio.txt"></script> 192b15cb3dSCy Schubert<script type="text/javascript" language="javascript" src="scripts/clockopt.txt"></script> 209c2daa00SOllivier Robert<hr> 212b15cb3dSCy Schubert<h4 id="addrs">Reference Clock Adddresses</h4> 222b15cb3dSCy Schubert<p>Unless noted otherwise, further information about these ccommands is on the <a href="refclock.html">Reference Clock Support</a> page.</p><p>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.<em>t</em>.<em>u</em>, where <em>t</em> is an integer denoting the clock type and <em>u</em> 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.</p> 232b15cb3dSCy Schubert<h4 id="cmd"> Commands and Options</h4> 249c2daa00SOllivier Robert<dl> 252b15cb3dSCy Schubert <dt id="server"><tt>server 127.127.<i>t.u</i> [prefer] [mode <i>int</i>] [minpoll <i>int</i>] [maxpoll <i>int</i>]</tt></dt> 269c2daa00SOllivier Robert <dd>This command can be used to configure reference clocks in special ways. The options are interpreted as follows: 279c2daa00SOllivier Robert <dl> 282b15cb3dSCy Schubert <dt><tt>prefer</tt></dt> 292b15cb3dSCy Schubert <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.html">Mitigation Rules and the <tt>prefer</tt> Keyword</a> page for further information.</dd> 302b15cb3dSCy Schubert <dt><tt>mode <i>int</i></tt></dt> 312b15cb3dSCy Schubert <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> 32*f5f40dd6SCy Schubert <dt><tt>minpoll <i>int</i></tt></dt> 33*f5f40dd6SCy Schubert <dt><tt>maxpoll <i>int</i></tt></dt> 342b15cb3dSCy Schubert <dd>These options specify the minimum and maximum polling interval for reference clock messages in log<sub>2</sub> seconds. 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> is ordinarily set to 10 (about 17 m) and <tt>maxpoll</tt> to 15 (about 9 h). The allowable range is 4 (16 s) to 17 (36 h) inclusive.</dd> 359c2daa00SOllivier Robert </dl> 362b15cb3dSCy Schubert </dd> 372b15cb3dSCy Schubert <dt id="fudge"><tt>fudge 127.127.<i>t.u</i> [time1 <i>sec</i>] [time2 <i>sec</i>] 382b15cb3dSCy Schubert [stratum <i>int</i>] [refid <i>string</i>] [flag1 0|1] 392b15cb3dSCy Schubert [flag2 0|1] [flag3 0|1] [flag4 0|1]</tt></dt> 409c2daa00SOllivier Robert <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.html">ntpdc</a></tt> program. The options are interpreted as follows: 419c2daa00SOllivier Robert <dl> 422b15cb3dSCy Schubert <dt><tt>time1 <i>sec</i></tt></dt> 432b15cb3dSCy Schubert <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 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.</dd> 442b15cb3dSCy Schubert <dd>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 <tt>enable</tt> command described in the <a href="miscopt.html">Miscellaneous Options</a> page and operates as described in the <a href="refclock.html">Reference Clock Support</a> page.</dd> 452b15cb3dSCy Schubert <dt><tt>time2 <i>secs</i></tt></dt> 462b15cb3dSCy Schubert <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.html">Reference Clock Support</a> page.</dd> 472b15cb3dSCy Schubert <dt><tt>stratum <i>int</i></tt></dt> 482b15cb3dSCy Schubert <dd>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.</dd> 492b15cb3dSCy Schubert <dt><tt>refid <i>string</i></tt></dt> 502b15cb3dSCy Schubert <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> 51*f5f40dd6SCy Schubert <dt><tt>flag1 0|1</tt></dt> 52*f5f40dd6SCy Schubert <dt><tt>flag2 0|1</tt></dt> 53*f5f40dd6SCy Schubert <dt><tt>flag3 0|1</tt></dt> 54*f5f40dd6SCy Schubert <dt><tt>flag4 0|1</tt></dt> 552b15cb3dSCy Schubert <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 driver. However, by convention <tt>flag4</tt> is used to enable recording monitoring data to the <tt>clockstats</tt> file configured with the <tt>filegen</tt> command. Additional information on the <tt>filegen</tt> command is on the <a href="monopt.html">Monitoring Options</a> page.</dd> 562d4e511cSCy Schubert <dt><tt>minjitter <i>secs</i></tt></dt> 572d4e511cSCy Schubert <dd>If the source has a jitter that cannot be sensibly estimated, because 582d4e511cSCy Schubert it is not statistic jitter, the source will be detected as falseticker 592d4e511cSCy Schubert sooner or later. This has been observed e.g. with the serial data of 602d4e511cSCy Schubert certain GPS receivers. Enforcing a minimal jitter value avoids a too 612d4e511cSCy Schubert low estimation, keeping the clock in the zoo while still detecting 622d4e511cSCy Schubert higher jitter. 632d4e511cSCy Schubert </dd><dd> Note: this changes the refclock samples and ends up in the 642d4e511cSCy Schubert clock dispersion, not the clock jitter, despite being called jitter. To 652d4e511cSCy Schubert see the modified values, check the NTP clock variable "filtdisp", not 662d4e511cSCy Schubert "jitter". 672d4e511cSCy Schubert </dd><dd>The falseticker problem can also be avoided by increasing <tt>tos 682d4e511cSCy Schubert mindist</tt>, which extends the intersection interval, but that affects 692d4e511cSCy Schubert the root dispersion and is intended for the case of multiple reference 702d4e511cSCy Schubert clocks with reliable jitter that do not intersect otherwise. 712d4e511cSCy Schubert </dd> 729c2daa00SOllivier Robert </dl> 732b15cb3dSCy Schubert </dd> 74a466cc55SCy Schubert <dt id="device"><tt>device 127.127.<i>t.u</i> [timedata <i>devpath</i>] [ppsdata <i>devpath</i>]</tt></dt> 75a466cc55SCy Schubert <dd> 76a466cc55SCy Schubert This command can be used to specify the devices a reference 77a466cc55SCy Schubert clocks should use. Every clock has a special hard-coded builtin 78a466cc55SCy Schubert name to use, and while it is possible to make a symlink from the 79a466cc55SCy Schubert expected name to the real device, doing so is not always 80a466cc55SCy Schubert convenient. On some platforms or setups it is much easier to 81a466cc55SCy Schubert specify the real device name in <i>ntpd</i>'s configuration file. 82a466cc55SCy Schubert </dd><dd> 83a466cc55SCy Schubert Note: It is <i>not</i> necessary to specify device names 84a466cc55SCy Schubert in the configuration file; in such a case the builtin name will be 85a466cc55SCy Schubert used. But once a device name is given, it will be used as 86a466cc55SCy Schubert specified. There's no fallback in case of errors. 87a466cc55SCy Schubert </dd><dd> 88a466cc55SCy Schubert The arguments are: 89a466cc55SCy Schubert <dl> 90a466cc55SCy Schubert <dt><tt>timedata <i>devpath</i></tt></dt> 91a466cc55SCy Schubert <dd> 92a466cc55SCy Schubert Defines the device that provides the time code data stream; 93a466cc55SCy Schubert for e.g. NMEA, <i>devpath</i> could be "<tt>/dev/ttyS7</tt>" on a 94a466cc55SCy Schubert POSIX-like system or "<tt>\\.\COM4</tt>" for another widely used OS. 95a466cc55SCy Schubert </dd> 96a466cc55SCy Schubert <dt><tt>ppsdata <i>devpath</i></tt></dt> 97a466cc55SCy Schubert <dd> 98a466cc55SCy Schubert Defines the device that provides the PPS timing stream. By 99a466cc55SCy Schubert default, the time data stream is expected to be able to 100a466cc55SCy Schubert provide the PPS data, too. (Proper wiring and hardware 101a466cc55SCy Schubert assumed, of course.) This is true for all OSes that implement 102a466cc55SCy Schubert the PPS API as originally designed for BSD variants. 103a466cc55SCy Schubert <p/> 104a466cc55SCy Schubert But on some hardware the PPS signal cannot not delivered to 105a466cc55SCy Schubert the UART that handles the serial data; instead it might 106a466cc55SCy Schubert be routed to a GPIO pin, and that means that we need a 107a466cc55SCy Schubert way to define the device where the PPS data can be acquired 108a466cc55SCy Schubert from. The <tt>ppsdata</tt> definition provides support for such 109a466cc55SCy Schubert use cases. 110a466cc55SCy Schubert </dd> 111a466cc55SCy Schubert </dl> 112a466cc55SCy Schubert </dd> 1139c2daa00SOllivier Robert</dl> 1149c2daa00SOllivier Robert<hr> 1159c2daa00SOllivier Robert<script type="text/javascript" language="javascript" src="scripts/footer.txt"></script> 1169c2daa00SOllivier Robert</body> 1179c2daa00SOllivier Robert</html> 118