Date: Mon, 27 Apr 2015 14:39:27 +0000 (UTC) From: Christian Weisgerber <naddy@mips.inka.de> To: freebsd-hackers@freebsd.org Subject: System clock always unsynced Message-ID: <slrnmjsigv.8j.naddy@lorvorc.mips.inka.de>
next in thread | raw e-mail | index | archive | help
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. -- Christian "naddy" Weisgerber naddy@mips.inka.de
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?slrnmjsigv.8j.naddy>