Re: 2.6.20-mm2

David Brownell
2007-02-22T22:17:37Z

On Thursday 22 February 2007 12:33 am, Rafael J. Wysocki wrote:

> Unfortunately, the userland shipped with OpenSUSE refuses to talk to the new
> one (or I don't know how to make it do that).

Did your "udev" create a /dev/rtc0? If not, /sys/class/rtc-dev/rtc0/dev
will give the right major/minor numbers.

Given a /dev/rtc0, there are two simple solutions:

(a) ln -s /dev/rtc0 /dev/rtc
(b) upgrade your "hwclock" to one supporting "hwclock --file /dev/rtc0",
since that should also try rtc0 when rtc can't be opened.

I found a udev incantation "git whatchanged drivers/rtc/rtc-dev.c",
which can automate (a):

KERNEL=="rtc0", SYMLINK+="rtc"

I'm not sure what the story is on hwclock updates, given the issue
with "util-linux" maintainership. I sent a patch on 7-Aug-2006 to
Adrian Bunk, which appears to have been disregarded, then to Karel
Zak (for the new fork?) on 17-Nov-2006 ... but if there's been an
announcement about a new util-linux repository with that patch,
I missed it. The busybox patch I submitted 26-Jan-2007 hasn't
yet been merged, but that's a lot more understandable.

Basically it looks like userspace is almost a year behind the kernel
support for this RTC framework. The problematic part is that it
seems that the "util-linux" maintainership issues are preventing
that issue from getting resolved ... so for now, I usually use
workaround (a).

> > Shoot. OK, I'll see if I can reproduce it myself. Is this system
> > using a generic CMOS RTC? Or is HPET somehow involved? (That old
> > RTC driver has HPET voodoo as well as normal RTC stuff.)
>
> How can I check that?

If your boot messages say things about HPET, that's a start. :)
I don't really know HPET; it hasn't ever come up on any system
that I've used. ISTR that for various reasons BIOS would hide
it on most systems, but that Linux has been working on un-hiding
that hardware so it could be used. I'll read up on it. (As I
implied, the source code comments leave a lot to be desired.)

- Dave