Date: Mon, 7 Jul 2014 21:33:01 +0700 From: Victor Sudakov <vas@mpeks.tomsk.su> To: freebsd-questions@freebsd.org Subject: Re: Updating and displaying CMOS clock Message-ID: <20140707143301.GC77559@admin.sibptus.tomsk.ru> In-Reply-To: <20140707220727.B50382@sola.nimnet.asn.au> References: <mailman.73.1404734402.39449.freebsd-questions@freebsd.org> <20140707220727.B50382@sola.nimnet.asn.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Ian Smith wrote: > > > > What's the command to update the CMOS clock to the time of the kernel > > clock? > > > > ntpd does a good job of keeping the accurate time in the kernel clock, > > but from my experience, this time is not propagated to the CMOS clock > > which lives its own life. As a result, there is a large time skew > > everytime the box is rebooted, which prevents from Kerberos login > > until the kernel clock is synchronized. > > That shouldn't be happening. There may be some hardware problem with > your RTC if you haven't messed with the sysctl settings (see below). > Could be a borderline battery, poor quality 32768Hz timebase or .. Yes, the RTC in that box is not good, therefore the problem. Last time I rebooted, it had drifted maybe 10-15 minutes for a period of several months' uptime. > > In other words, what's the FreeBSD equivalent of the Linux > > "hwclock --systohc" command? > > People have pointed out incantations with date that will do the job, but > it really shouldn't be necessary. > > > And no, contrary to popular belief, the correction of the CMOS clock > > does not happen automatically in FreeBSD even if ntpd is running. > > Yes, it does. Has since 2.2.6 anyway, whether or not ntpd is running. Sorry, I doubt that. > > In 8.x /var/log/messages gets spammed with RTC update messages every > half hour, if you had booted with verbose messages: > > Jul 7 19:34:41 t23 ntpd[65982]: kernel time sync status change 6001 > Jul 7 19:45:29 t23 ntpd[65982]: kernel time sync status change 2001 > Jul 7 19:46:22 t23 kernel: ts_to_ct(1404762382.687179418) = [2014-07-07 19:46:22] I see ntpd acting here. > In 9.x there's a new sysctl debug.clocktime to enable such verbosity; I > turned it on about 3 hours ago after seeing this thread, suspended and > resumed to confirm it working, then restarted ntpd for good measure: I don't run ntpd on that box, just ntpdate hourly. [dd] > > Do these match yours? And set sysctl debug.clocktime=1 and report back. On a 8.4-RELEASE box, I have set sysctl debug.clocktime=1 and waited for three hours with no trace of any adjustment to the RTC. During these three hours, ntpdate has been run three times. However, as soon as I did "sysctl `sysctl -e machdep.adjkerntz`", I received the following in /var/log/messages: Jul 7 21:28:34 <kern.crit> fw kernel: ts_to_ct(1404743314.713060410) = [2014-07-07 14:28:34] What is the conclusion? I think if you are not running ntpd, the only way to adjust the RTC is running "sysctl `sysctl -e machdep.adjkerntz`". -- Victor Sudakov, VAS4-RIPE, VAS47-RIPN sip:sudakov@sibptus.tomsk.ru
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140707143301.GC77559>