Hi,

Alexander Clouter <[EMAIL PROTECTED]> [20080728 11:45:33 +0100]:
>
> Hi,
> 
> Whilst trying to get our Dull server to wakeup at a specific time I had a go 
> at playing around 
> with the ACPI RTC wakeup alarm[1] functionality of the system.  Apart from 
> being disappointed 
> at Dull using sub-standard parts and only giving me an upper limit of 24 
> hours into the future 
> for a wakeup event I found that the Debian hwclock.sh inadvertantly nukes 
> this ability on 
> shutdown[2].
>
This might actually be a bad idea for a patch on systems that only support 24 
hour upper limit wakeups.  There is a rather common side effect that it will 
look like the wakeup timer has been set when in fact it has not.  I'm looking 
into the new RTC framework for a better solution.

Cheers

Alex
 
> I have attached a patch that tests if the RTC alarm has been set to a time in 
> the future and 
> if so restore it after the --systohc command is executed; thus letting this 
> handy but not 
> often used functionality work.
> 
> Hopefully it's considered sane :)
> 
> Cheers
> 
> Alex
> 
> [1] http://acpi.sourceforge.net/documentation/alarm.html
> [2] http://www.mythtv.org/wiki/index.php/ACPI_Wakeup#Disable_hwclock_updates
> 
> -- System Information:
> Debian Release: lenny/sid
>   APT prefers unstable
>   APT policy: (500, 'unstable')
> Architecture: i386 (i686)
> 
> Kernel: Linux 2.6.26 (SMP w/2 CPU cores)
> Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
> Shell: /bin/sh linked to /bin/bash
> 
> Versions of packages util-linux depends on:
> ii  libc6                  2.7-12            GNU C Library: Shared libraries
> ii  libncurses5            5.6+20080713-1    shared libraries for terminal 
> hand
> ii  libselinux1            2.0.65-2          SELinux shared libraries
> ii  libslang2              2.1.3-3           The S-Lang programming library - 
> r
> ii  libuuid1               1.41.0-3          universally unique id library
> ii  lsb-base               3.2-15            Linux Standard Base 3.2 init 
> scrip
> ii  tzdata                 2008c-1           time zone and daylight-saving 
> time
> ii  zlib1g                 1:1.2.3.3.dfsg-12 compression library - runtime
> 
> util-linux recommends no packages.
> 
> Versions of packages util-linux suggests:
> ii  console-tools            1:0.2.3dbs-65.1 Linux console and font utilities
> ii  dosfstools               2.11-6          utilities for making and 
> checking 
> ii  util-linux-locales       2.13.1.1-1      Locales files for util-linux
> 
> -- no debconf information

> --- /etc/init.d/hwclock.sh.orig       2007-12-22 13:47:04.000000000 +0000
> +++ /etc/init.d/hwclock.sh    2008-07-28 11:37:21.533178944 +0100
> @@ -96,6 +96,20 @@
>           # WARNING: If you disable this, any changes to the system
>           #          clock will not be carried across reboots.
>           #
> +         # We also check to see if the RTC Alarm has been set and restore
> +         # it if it's applicable (set to a time in the future)
> +         # FIXME: rtc0 => rtcN?
> +         #
> +         for RTCALARMDEV in /sys/class/rtc/rtc0/wakealarm /proc/acpi/alarm; 
> do
> +             if [ -e $RTCALARMDEV ]; then
> +                     RTCWAKETIME=`cat $RTCALARMDEV`
> +                     if [ `date -d "$RTCWAKETIME" +%s` -le `date +%s` ]; then
> +                             RTCWAKETIME=""
> +                     fi
> +
> +                     break
> +             fi
> +         done
>           if [ "$HWCLOCKACCESS" != no ]; then
>               log_action_msg "Saving the system clock."
>               if [ "$GMT" = "-u" ]; then
> @@ -106,6 +120,10 @@
>           else
>               verbose_log_action_msg "Not saving System Clock"
>           fi
> +         if [ "$RTCWAKETIME" != "" ]; then
> +             log_action_msg "Priming RTC Alarm for $RTCWAKETIME"
> +             echo "$RTCWAKETIME" > $RTCALARMDEV
> +         fi
>           ;;
>       show)
>           if [ "$HWCLOCKACCESS" != no ]; then


-- 
 __________________________
/ Well begun is half done. \
|                          |
\ -- Aristotle             /
 --------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to