Package: linux-2.6 Version: 3.2.4-1 Subject: rtc no longer available under linux 3.2.4-1 I have an asus eeePC 900. lshw reports it as: description: Notebook product: 900 (90OAM09AB5312111U205Q) vendor: ASUSTeK Computer INC. version: 0704 When it wakes from sleep under 3.2.4-1, the system's clock is off by days, which caused me to look into the real-time clock. Apparently something changed between 3.2.1-1 and 3.2.4-1. When i booted it with 3.2.1-1, the kernel would record the following info about the rtc: [ 1.505626] rtc_cmos 00:03: RTC can wake from S4 [ 1.505886] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0 [ 1.505999] rtc0: alarms up to one month, 114 bytes nvram, hpet irqs [ 1.517779] rtc_cmos 00:03: setting system clock to 2012-01-22 18:22:12 UTC (1327256532) Booting it with 3.2.4-1, i see this info instead: [ 1.503620] rtc_cmos 00:03: RTC can wake from S4 [ 1.503887] rtc_cmos 00:03: rtc core: registered rtc_cmos as rtc0 [ 1.503980] rtc_cmos 00:03: only 24-hr supported [ 1.515880] /build/buildd-linux-2.6_3.2.4-1-i386-61WrTr/linux-2.6-3.2.4/debian/build/source_i386_none/drivers/rtc/hctosys.c: unable to open rtc device (rtc0) Also, trying to talk to the hardware clock now gives me: 0 pip:~# hwclock --show --debug hwclock from util-linux 2.20.1 hwclock: Open of /dev/rtc failed: No such file or directory No usable clock interface found. hwclock: Cannot access the Hardware Clock via any known method. 70 pip:~# Whereas before it would report as expected. looking for the cause of the change, i see that: https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.2 suggests there's been a change in the rtc code: ------------- commit 36a8176166397d103352670327e1b20d334b5c7d Author: Ben Hutchings <ben@decadent.org.uk> Date: Tue Jan 10 15:11:02 2012 -0800 drivers/rtc/interface.c: fix alarm rollover when day or month is out-of-range commit e74a8f2edb92cb690b467cea0ab652c509e9f624 upstream. Commit f44f7f96a20a ("RTC: Initialize kernel state from RTC") introduced a potential infinite loop. If an alarm time contains a wildcard month and an invalid day (> 31), or a wildcard year and an invalid month (>= 12), the loop searching for the next matching date will never terminate. Treat the invalid values as wildcards. Fixes <http://bugs.debian.org/646429>, <http://bugs.debian.org/653331> ------------- however, /usr/share/doc/linux-image-3.2.0-1-686-pae/changelog.Debian.gz suggests that 3.1.8-1 had already introduced the same change by bwh: * rtc: Fix alarm rollover when day or month is out-of-range (Closes: #646429) So i'm not sure what to make of the situation, but i'm happy to provide any additional debugging info that would be useful. Regards, --dkg
Attachment:
pgp7guqctkmlS.pgp
Description: PGP signature