On Sat, 14-Feb-2009 at 19:38:58 +0100, Oliver Fromme wrote: > Won De Erick <won.der...@yahoo.com> wrote: > > ... > > > However, how should I make this automatic, something that will update > > the CMOS clock everytime the kernel clock is syncronized with a NTP > > server? Do I need to make changes on the variables below? > > You seem to misunderstand. The CMOS clock _is_ always > updated when you run ntpd. You do not have to change > anything.
Hmm, my experience is different here. I have 17 FreeBSD machines which are all running ntpd (btw, no /etc/wall_cmos_clock). When being rebooted, they sync the time with ntpdate before starting ntpd. Somtimes I noticed the time being stepped by several seconds (up to 50). I observed that the higher the previous uptime had been, the bigger the stepping during the following reboot was. While ntpd keeps the kernel time perfectly in sync with our stratum-1 server the CMOS clocks slowly drift away. The higher the uptime, the bigger the drift. I am now using this ugly hack to sync the kernel time to the CMOS clock (settimeofday() sets both) before reboot and the problem never appeared again: #include <sys/time.h> #include <stdlib.h> #include <err.h> #include <sysexits.h> int main( void ) { struct timeval tv; if( gettimeofday( &tv, NULL ) != 0 ) err( EX_DATAERR, "gettimeofday" ); if( settimeofday( &tv, NULL ) != 0 ) err( EX_DATAERR, "settimeofday" ); return 0; } A cleaner way might be to call resettodr() in subr_clock.c just before rebooting. If there are easier/cleaner ways to keep CMOS time in sync, I will be happy about any suggestions. -Andre _______________________________________________ freebsd-hardware@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hardware To unsubscribe, send any mail to "freebsd-hardware-unsubscr...@freebsd.org"