Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Dec 2003 01:04:19 +0100 (CET)
From:      Barry Bouwsma <freebsd-misuser@remove-NOSPAM-to-reply.NOSPAM.dyndns.dk>
To:        Freebsd Current <current@FreeBSD.org>
Subject:   CMOS checksums (was: Re: SC520 and reboot )
Message-ID:  <200312230004.hBN04Jo03608@NOSPAM.spam.NOSPAM.spam.NOSPAM.dyndns.dk>
References:  <23707.1071348202@critter.freebsd.dk> <20031214090456.Q7016@gamplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

[Drop my IPv6 address for any replies or hostname-only for IPv4...]


Bruce Evans <bde@zeta.org.au> wrote...

> On Sat, 13 Dec 2003, Poul-Henning Kamp wrote:
> > If you run adjkerntz -a it fiddles the CMOS RTC clock and possibly the
> > "century" byte I think.  If your BIOS uses a checksum on the RTC and
> > adjkerntz doesn't know about it, your BIOS will think the contents is
> > trashed.

> Actually, adjkerntz -a uses the MI interface resettodr() to set the
> hardware clock, CMOS or otherwise.  This has the same tiny chance of

This sounds like what my latest found motherboard is suffering from.
It has two problems affecting shutdowns:
1)  Often, the CMOS checksum is claimed to be invalid at poweron, so my
    BIOS settings are lost, but not always;
2)  It appears to stop keeping time at poweroff, I think.  When I boot
    back up, ntpdate steps the time by an amount comparable to the time
    I had it off to swap cards or whatnot.

I had to replace the on-board lithium battery, otherwise I'd lose CMOS
checksums every time.

Ideally I'd rather never powerdown, but I'm wondering if it's possible
for FreeBSD to ignore the CMOS clock -- never updating it, either with
resettodr() (in sys/kern/kern_time.c that I've found; haven't done a
rigorous search yet) or any other call that jerks around the CMOS time,
so I can avoid, hopefully, the checksum errors that pop up now and then.

Meaning my CMOS time would remain 2008 or 1986 or whatever it's set
itself to randomly, or 2003/2004 but losing a few minutes each poweroff,
while the system time would be set at boot (ntpdate/ntpd) and remain
accurate.  There would be no correlation between the two, other than
that the CMOS time ticks so long as power is applied.

Is this possible, or am I going to break something, more than the
occasional CMOS checksum failures I get now?  Seems like I'd comment
out any resettodr() calls I find, and if anything else adjusts the
CMOS clock, I'd have to find and comment it out too.

Comments?

The motherboard seems of vintage 1994-1997-ish, intended for Pentiums of
roughly 75-150MHz speed.  It has other minor issues too, but seems to
work otherwise...


thanks
barry bouwsma
scrap computer collector



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312230004.hBN04Jo03608>