System clock always unsynced
Freddie Cash
fjwcash at gmail.com
Mon Apr 27 15:22:42 UTC 2015
On Mon, Apr 27, 2015 at 7:39 AM, Christian Weisgerber <naddy at mips.inka.de>
wrote:
> I run OpenNTPD, from ports/net/openntpd, and I've noticed that after
> each reboot, the initial system time is further off. (This is quite
> noticeable with OpenNTPD, since by default it does *not* jump the
> clock on startup like the base ntpd does.) It's as if the RTC was
> never synchronized to the system clock.
>
> Some digging in sys/kern/kern_ntptime.c shows indeed that the RTC is
> only synced if STA_UNSYNC is not set, and dumping the value of the
> timex struct...
>
> offset: 0
> freq: 2730304
> maxerror: 84860000
> esterror: 500000
> status: UNSYNC
> constant: 0
> precision: 0
> tolerance: 32500000
> state: ERROR
>
> ... reveals that the clock remains permanently unsynced. Clearly,
> OpenNTPD, which uses adjtime(2) to correct offsets and ntp_adjtime(2)
> with MOD_FREQUENCY to correct the frequency, doesn't handle this
> quite right.
>
> What *does* an ntpd daemon need to do to sync the clock?
>
> The ntp_adjtime(2) man page documents struct timex in detail, but
> is very vague on what all of this means.
>
> Isn't this why there's a "-s" option for openntpd, which syncs the clocks
when the daemon starts? And an "openntpd_flags" option in rc.conf
for enabling that option?
--
Freddie Cash
fjwcash at gmail.com
More information about the freebsd-hackers
mailing list