Subject: Re: proposal for changes to todr interface
To: Garrett D'Amore <garrett_damore@tadpole.com>
From: Kurt Schreiner <ks@ub.uni-mainz.de>
List: tech-kern
Date: 09/11/2006 21:42:03
On Mon, Sep 11, 2006 at 11:37:02AM -0700, Garrett D'Amore wrote:
> Iain Hibbert wrote:
> > On Wed, 6 Sep 2006, Garrett D'Amore wrote:
> >
> >   
> >> I want to propose a few more changes to the todr interface "driver
> >> interface" (struct todr_chip_handle), and I'd like to get opinions:
> >>     
> >
> > I guess you've made some changes now. I get this:
> >
> > Sep 11 09:55:42 galant /netbsd: WARNING: preposterous TOD clock time
> > Sep 11 09:55:42 galant /netbsd: WARNING: using filesystem time
> > Sep 11 09:55:42 galant /netbsd: WARNING: CHECK AND RESET THE DATE!
> >
> > and the clock is wrong (I just booted, its 11.30)
> >
> > I tried to reset the date (using the date command) but it does not persist
> > across boots.. that time is the time I shutdown.
> >
> > Toshiba Tecra 8100 laptop, full dmesg attached
> >   
> 
> Hmmm... the main thing I've changed is that I don't believe a date that
> is more than 2 days older than the last file system update, and I
> complain about it.
> 
> I think we need to find out what time is being reported by the TOD clock
> on your system.  Perhaps your battery is dead?
> 
> Take a look at arch/x86/isa/clock.c, maybe you can dump the dates being
> reported there?
Hi, had the same problem and did some investigation and put some printfs
at "the right place":
Sep 11 14:35:36 ipaddi-bsd /netbsd: dt.dt_mon = 9
Sep 11 14:35:36 ipaddi-bsd /netbsd: dt.dt_day = 11
Sep 11 14:35:36 ipaddi-bsd /netbsd: dt.dt_wday = 248
Sep 11 14:35:36 ipaddi-bsd /netbsd: dt.dt_hour = 12
Sep 11 14:35:36 ipaddi-bsd /netbsd: dt.dt_min = 36
Sep 11 14:35:36 ipaddi-bsd /netbsd: dt.dt_sec = 46
Sep 11 14:35:36 ipaddi-bsd /netbsd: WARNING: preposterous TOD clock time
Sep 11 14:35:36 ipaddi-bsd /netbsd: tv.tv_sec = 1157978134 secs
Sep 11 14:35:36 ipaddi-bsd /netbsd: WARNING: using filesystem time
Sep 11 14:35:36 ipaddi-bsd /netbsd: WARNING: CHECK AND RESET THE DATE!

The problem is "dt.dt_wday = 248". Taking this "sanity check" out get's things
going again.

Kurt