From owner-freebsd-stable@FreeBSD.ORG Sun Oct 28 16:09:57 2007 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9FBAB16A418 for ; Sun, 28 Oct 2007 16:09:57 +0000 (UTC) (envelope-from eugen@www.svzserv.kemerovo.su) Received: from www.svzserv.kemerovo.su (www.svzserv.kemerovo.su [213.184.65.80]) by mx1.freebsd.org (Postfix) with ESMTP id CEEEE13C4A5 for ; Sun, 28 Oct 2007 16:09:56 +0000 (UTC) (envelope-from eugen@www.svzserv.kemerovo.su) Received: from www.svzserv.kemerovo.su (eugen@localhost [127.0.0.1]) by www.svzserv.kemerovo.su (8.13.8/8.13.8) with ESMTP id l9SG9qYA012730; Sun, 28 Oct 2007 23:09:52 +0700 (KRAT) (envelope-from eugen@www.svzserv.kemerovo.su) Received: (from eugen@localhost) by www.svzserv.kemerovo.su (8.13.8/8.13.8/Submit) id l9SG9qhD012729; Sun, 28 Oct 2007 23:09:52 +0700 (KRAT) (envelope-from eugen) Date: Sun, 28 Oct 2007 23:09:52 +0700 From: Eugene Grosbein To: Ian Smith Message-ID: <20071028160952.GA11046@svzserv.kemerovo.su> References: <20071028083955.GA69713@svzserv.kemerovo.su> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Cc: Peter Jeremy , stable@freebsd.org Subject: Re: CMOS, daylight saving time and dual-boot X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Oct 2007 16:09:57 -0000 On Mon, Oct 29, 2007 at 02:17:44AM +1100, Ian Smith wrote: > > I have dual-boot machine with 7.0-BETA1 and Windows > > that keeps CMOS time local (there is /etc/wall_cmos_clock also). > > > > It was tuned off yesterday evening and turned back on today, > > loading FreeBSD. Meantime the switch from Summer Time to Standard Time > > has ocurred. There is 'ntpd_enable="YES"' in /etc/rc.conf. > > Nothing in a system reacted on the end of Summer Time period, > > so ntpd just complained about 3600 seconds exceeded sanity limit > > and bailed out (documented behavour). > > With standard /etc/crontab, adjkerntz -a (which catches DST changes) is > only run between midnight and 5am, and presumably your 'today' started > after then. Yes, really much later :-) > Perhaps running that once on boot, just in case, might help > in such circumstances? I'll test this. By the way, I cannot set local date to '02:59:00 summer time', it sets '02:59:00 winter time' :-( E.g., "date 200710280222.39" sets time in "KRAST" timezone (local time is GMT+8 in summer) and "date 200710280222.40" sets it so timezone changes to "KRAT". How could I set it to "200710280259 KRAST"? > I've done that without ntpd running, but ntpd > -qg once on booting should handle such surprise 3600s shifts better? > > > There is Status Register B at the offset 0x0b in the ISA Compatible > > CMOS its least significant bit should keep Daylight Saving flag > > (on/off). > > The bit appears to be DST enable, rather than storage of current state? > Windows date setting has a check box that I suspect reflects this bit. I don't think so, it seems that Windows keeps it's own flag to know if it should adjust local time for daylight savings. As you noted, FreeBSD always clears CMOS bit and that has no affect on Windows behavour. > You may find that windows will shift CMOS another hour when next booted > too, or at least that's what I recall W98 doing to me a couple of times > when I happened to boot it some time during some 6 month period :) > > > Is it used in modern hardware? Does FreeBSD use it? It is supposed to > > use it? > > /sys/isa/rtc.h has > #define RTCSB_DST 0x01 /* USA Daylight Savings Time enable */ > > but it's not referenced in /sys/i386/isa/clock.c (great bedtime reading) > which is the only place that updates the RTC, AFAIK. If I'm reading it > right, FreeBSD clears this bit during clock initialisation. > > (5.5-STABLE here; I haven't checked if this code has changed since) The same in CURRENT. It seems we could use this bit as storage flag :-) I think about diskless stations that has no other storage for this. Eugene