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