Introduction

Most users tend to leave their MythTV system running 24 by 7. This page describes the options you have in Linux to shut down and automatically wake up your machine before a recording. Doing so allows you to save energy, money and reduce your carbon footprint.

General Sequence

It is confusing how many places you need to look for to determine the sequence and details required to get things working. Here is a recommendation on the sequence to follow:

Ensure you know how to use your BIOS to initiate a wake up. Focus on using one of:

If you roll your own Command to set Wakeup Time, be sure to pay attention to the format of the $time argument sent in. It is controlled by the previous field, Wakeup time format (that cost me no small number of hours).

If you are interacting with the RTC on your system, you will need to run the prior script with 'sudo' privileges. You will probably want to run without requiring a password, so see the blurb below about setting up the sudoers file. (I would not recommend ALL applications; just what is needed).

Your options

Hardware timer switch - a cheap power switch and a simple cron job to shutdown the machine can do the job

Use the real time clock (RTC) - most machines (manufactured in 2000 or later) have the ability to use the RTC for time-controlled wakeup - this option is the subject of this HowTo

Use the RTC

MythTV has the ability to write the date and time of the next recording to the RTC. This allows your machine to automatically shutdown (or suspend) and turn on again a few minutes before it needs to record again. The Advanced Configuration and Power Interface (ACPI) specification is an open industry standard first released in December 1996 developed by HP, Intel, Microsoft, Phoenix, and Toshiba that defines common interfaces for hardware recognition, motherboard and device configuration and power management.

The ACPI real time clock alarm function can be used by your MythTV system to wake up your machine at a certain date and time.

Required steps for using the RTC to access the ACPI alarm function

Configure your RTC with your BIOS setup

Disable hwclock updates

Configure MythTV

BIOS setup

If you want to use ACPI to wake up your MythTV system, you first need to ensure that your motherboard supports this functionality by looking at your BIOS setup. This information is stored in the FADT (Fixed ACPI Description Table). If your kernel version is 2.6.22 or later, you may find this information in your kernel log file:

The above indicates this system can wake from state S4 and that the wakeup time can be set.

The ACPI specifications defines the following so-called "global states" -- from Wikipedia ACPI

G1Sleeping subdivides into the four states S1 through S4.

S1: The CPU(s) stop(s) executing instructions.

S2: The CPU is powered off.

S3: Suspend to RAM.

S4: Suspend to disk or hibernate.

G2 (S5) Soft off Almost the same as G3 but computer can "wake" from input from the keyboard, clock, modem, LAN, or USB device.

G3Mechanical off

Next, check your BIOS setup program for the wakeup alarm function. This setting is likely found under a submenu of "Power Management Setup," "APM," "ACPI," or "Advanced" - you just need to poke around to find it. It will likely be called something like Wake From Alarm, Power-on by Alarm, Wake from RTC, RTC Resume, etc.

UTC, local time and BIOS date format

If supported by your environment, set the time to UTC (Coordinated Universal Time); UTC is the most desirable option because translation to local time is not required and daylight saving time is automatically handled. If UTC is not supported in your environment you will need to recalculate the time before you write it to the RTC. You should be able to determine the time format on your machine by inspecting the output of the following command (there are an integer number of hours difference between UTC and local time).

cat /proc/driver/rtc

Disable hwclock updates

The reason for this recommendation is that most Linux distributions write the current system time back to the RTC when shutting down the machine. With most RTCs, the machine will not wake up if the hardware clock has been modified after the wakeup alarm has been set. To avoid this, it is necessary to disable the writing of the current system time to the RTC by the system shutdown scripts. This is distribution specific. Some examples:

(N.B.: on some mobo's disabling writing to the RTC will also disable waking up, so it can be just the other way around!)

Gentoo

Gentoo

Set clock_systohc to "NO" in /etc/conf.d/hwclock:

/etc/conf.d/hwclock

# Set CLOCK to "UTC" if your system clock is set to UTC (also known as
# Greenwich Mean Time). If your clock is set to the local time, then
# set CLOCK to "local". Note that if you dual boot with Windows, then
# you should set it to "local".
clock="UTC"
# If you want to set the Hardware Clock to the current System Time
# during shutdown, then say "YES" here.
# You normally don't need to do this if you run a ntp daemon.
clock_systohc="NO"
# If you wish to pass any other arguments to hwclock during bootup,
# you may do so here. Alpha users may wish to use --arc or --srm here.
clock_args=""

openSuSE

openSUSE

Set SYSTOHC to "no" in /etc/sysconfig/clock

/etc/sysconfig/clock

# Set to "-u" if your system clock is set to UTC, and to "--localtime"
# if your clock runs that way.
#
HWCLOCK="-u"
SYSTOHC="no"
# Is set to "yes" write back the system time to the hardware
# clock at reboot or shutdown. Usefull if hardware clock is
# much more inaccurate than system clock. Set to "no" if
# system time does it wrong due e.g. missed timer interrupts.
# If set to "no" the hardware clock adjust feature is also
# skipped because it is rather useless without writing back
# the system time to the hardware clock.

Use rtcwake to set the RTC from BIOS. Since control of the system shutdown is managed by Myth (and whatever command is configured into the Server halt command (see Setup Wakeup Options), you will want to use the mode no. Example:

/usr/sbin/rtcwake -mode no

This will cause the RTC alarm to be set, but will not shut the system down.

Tip: Keep in mind that in general, you want to allow Myth to drive the actual shutdown sequence.

Kernels 2.6.22 and higher may be configured to use the legacy /proc/acpi/alarm instead of the new rtc wakealarm. See the notes about compiling your own kernel below.

Note that kernel version 2.6.26, included in the current Debian stable distribution, contains a bug that makes ACPI wakeup fail on at least some motherboards. If this affects you, either upgrade to 2.6.33-rc4 or patch 2.6.26 with this patch.

Using /sys/class/rtc/rtc0/wakealarm

Kernel versions 2.6.22 and newer use /sys/class/rtc/rtc0/wakealarm

ls /sys/class/rtc/rtc0/wakealarm

format of the /sys/class/rtc/rtc0/wakealarm

Instead of accepting a formatted time, wakealarm accepts the number of seconds since midnight on Jan 1, 1970 GMT (this is known as "unix time", "POSIX time" or "epoch time").

You must make sure that your RTC is set to UTC time - not local time - otherwise it will wakeup at the wrong time. However, it is still possible if the RTC is set to local time (likely if you also run MS Windows); see the section below for how to set the alarm correctly when the RTC is in local time.

If you want to change the wakealarm time, you will need to write the new wakealarm time to the RTC.

If you can't find /sys/class/rtc/rtc0/wakealarm, and you're running a modular kernel, it might be the case that the correct module is not loaded. In that case, make sure the rtc module is unloaded, and then load the rtc-cmos module:

rmmod rtc
modprobe rtc-cmos

Manually test wakealarm

First verify that your Linux kernel is 2.6.22 or newer and the hwclock update function has been disabled as described above.

This should return a list of parameters. Check the "alrm_time" is 5 minutes into the future and the "alrm_date" is appropriate (which could be but might not be "today," if now + 5 minutes is the next day UTC).

Tip: the "cat /proc/driver/rtc" command is a powerful debugging tool, allowing you to see the RTC parameters of interest.

To get a UTC time in seconds since the epoch for a local time that we want MythTV to wake up we do the following. We pass the local time that we want to wake up as --date "2008-12-22 10:45:00", we indicate we want it reported as UTC time with -u, and we indicate we want it reported as seconds since epoch with the format string "+%s".

Integrate into MythTV

Select the backend's "General" options and on the "Shutdown/Wakeup Options" page, make the following settings:

Block shutdown before client connected: (checked, if you run frontend and backend on 1 machine. Do not check if you do not automatically start the frontend, and want the system to shut down after an automatic recording.)

Idle shutdown timeout (secs): 1200 (if you set this to 0, it will disable auto shutdown)

Max. wait for recording (min): 120

Startup before rec. (secs): 600 (If you have not disabled the occasional disk check on boot, make this time long enough to complete the boot & disk check before the recording should start)

#!/bin/bash
#$1 is the first argument to the script. It is the time in seconds since 1970
#this is defined in mythtv-setup with the time_t argument
echo 0 > /sys/class/rtc/rtc0/wakealarm #this clears your alarm.
echo $1 > /sys/class/rtc/rtc0/wakealarm #this writes your alarm
LOG_FILE='/var/log/mythtv/hwclock-rebootTime.log' #log file
# Now write the time the system is expected to come out of power save mode
# so there is at least a small record of when if it was supposed to recover
# Note:- Log file will just keep growing
# date in Epoch format
a="`date +%s`"
# Subtract Current time from Future time
let "b=$1-$a"
# echo $b
# echo "result of time subtraction `date -d @$b`"
# Get Date and Subtract 1,.. as date starts from 1st Jan 1970
dte=`date -d @$b +%d`
let "dte -= 1"
echo "Current Time ->`date`" >> $LOG_FILE
# Simple check to determine if to include days in output string
if (dte=0)
then
echo "Shutting down for ->`date -d @$b +%Hhrs:%MMins`" >> $LOG_FILE
else
echo "Shutting down for ->$[dte]Days `date -d @$b +%Hhrs:%MMins`" >> $LOG_FILE
fi
echo "Wake up at approx.->`date -d @$1`" >> $LOG_FILE
echo "------------------------------------------------------" >> $LOG_FILE

Change the permissions of the file so that it can execute

chmod +x /usr/bin/setwakeup.sh

You should check to make sure the user as whom mythbackend runs is able to run sudo without prompting for a password. Consult the documentation for sudo on how to set this up in the sudoers file, in particular the NOPASSWD tag. For example, you could add the following line to your /etc/sudoers by running "sudo visudo" and pasting the line at the end of the file.

%mythtv ALL = NOPASSWD: /sbin/shutdown, /usr/bin/setwakeup.sh

The above is probably preferable from a security perspective because it is very specific. Alternatively, uncomment the following line using "sudo visudo" in the /etc/sudoers file

%wheel ALL=(ALL) NOPASSWD: ALL

Then add mythtv and any other uses you wish to the "wheel" group. That can be done using the GNOME user GUI. (Note, this line is already uncommented in Fedora 15. Adding users to the wheel group, including the "mythtv" user, may be sufficient).

Also, it may be necessary to use "sudo visudo" to modify the sudoers file by commenting out the following line with a "#" before "Defaults" as follows:

#Defaults requiretty

You may run mythbackend in "Terminal" to observe log message in real time. Or you may check the logs in /var/log/mythtv/ if the system shuts down with the test method above but not when integrated with the backend.

Desktop users

(For a system used as a desktop that is also used as a MythTV backend, or both a MythTV frontend and a MythTV backend, use the above instructions for a dedicated MythTV backend modified by the following instructions)

If you use your machine as a desktop and you do not want to keep the frontend running while you use your computer for other things, create the following script

You must remember to log out rather than shut down when you are done with your session, allowing the mythTV backend to shut off the computer when it is idle. This is because the mythTV shutdown sequence writes the wakealarm time to the BIOS just before shutting down the system. If, instead, you shut the system down, the mythTV backend is not able to update the BIOS with the correct wakealarm time. Failure to follow this procedure could interrupt a recording, or prevent the system from powering on for a later recording.

Note that the Idle Timeout time is the time you have to type your username and password when logging in. It would be a good idea to make it long enough to log in before the system can shut itself off.

In the BIOS, set your system to power on when power is restored. This will allow the system to recover after a power outage. Some systems will disable the wakealarm after a power outage, but even if it doesn't, if the power is off at the programmed wake time, the wakealarm could be missed. Powering up after a power outage allows mythTV to reset the wakealarm so that future recordings are not missed.

Mythwelcome is useful if you run a combined frontend / backend machine and want to use ACPI Wakeup. It allows :-

Automatic startup of the frontend. If the system has been started due to a scheduled recording the mythwelcome status page will be shown instead to allow the system to shut itself back down.

Locking the machine to prevent shutdown, useful if you need to perform maintenance or other tasks on the system.

Pre defined wakeup/shutdown periods.

Configuration changes needed :-

Change the system so that mythwelcome is started instead of mythfrontend.

Tip: In Mythbuntu to start mythwelcome instead of mythfrontend you just need to uncomment the MYTHWELCOME line in /etc/mythtv/session-settings.

mythbackend Shutdown/Wakeup Options (mythtv-setup)

Block shutdown before client connected : unchecked
Idle shutdown timeout (secs) : 900 (if using active EIT this may need to be set to a lower value)
Max. wait for recording (min) : 15 (mythshutdown will ignore values less than 15. If less than
15 minutes to next scheduled recording or wakeup period the shutdown
will always be blocked)
Startup before rec. (secs) : 600 (make this time long enough to complete the boot & disk check
before the recording should start)
Wakeup time format : yyyy-MM-ddThh:mm:ss (Must be this format for mythshutdown)
Command to set Wakeup Time : mythshutdown --setwakeup $time
Server halt command : mythshutdown --shutdown
Pre Shutdown check-command : mythshutdown --check

It might be that sudo is configured to require a real tty to run commands as a user (i.e. mythtv). In this case add this line

Defaults:mythtv !requiretty

When you are finished using the frontend you should exit back to the mythwelcome screen to allow the system to shutdown.

Shutdown procedure when using this configuration :-

The backend 'Pre Shutdown check-command' will be called - if it returns 0 then

The backend 'Command to set Wakeup Time' (mythshutdown --setwakeup $time) will be called. This writes the time into the database which mythwelcome will then use to detect if the next start-up is manual or for a scheduled recording / daily wakeup period.

The backend 'Server halt command' (mythshutdown --shutdown) will be called. This runs the mythwelcome 'Command to set wakeup time' (sudo /usr/bin/setwakeup.sh $time). The $time variable here will either be the time of the next scheduled recording or the time of the next defined wakeup period. The mythwelcome 'Command to shutdown' will then be called (sudo shutdown -h now) to shutdown the system.

Troubleshooting /sys/class/rtc/rtc0/wakealarm

Getting your PC to wakeup using the ACPI RTC can be challenging. Here are some tips on getting it working.

Consider updating your BIOS

Since this wakeup functionality utilizes your BIOS, you may need to update your BIOS to it's later version. But please understand the potential risks of updating your BIOS before doing so.

Check your hardware

Check if your BIOS supports ACPI/RTC
You will need to have a motherboard that supports both ACPI and a Real Time Clock Alarm Functions in the BIOS. Check your BIOS and look for a tab similar to "Advanced Power management".

The wake-up function is provided on most modern boards by the ability to "wake from RTC alarm" - setting a date and time in BIOS will cause the computer to power itself on and boot at the set time. This setting is likely found under a sub-menu of "Power Management" "APM", or "Advanced" - you just need to poke around to find it. It will likely be called something like Wake from RTC, Wake From Alarm, RTC Resume, etc.

If you don't have an ACPI-compliant BIOS, you could use nvram-wakeup instead, which is a small program which modifies the BIOS settings memory (NVRAM) directly (this is no longer recommended). All modern BIOSes should support ACPI, however.

Manually test wakealarm

Fussy BIOS

There are a lot of fussy BIOSes out there. In some cases you need to disable the RTC alarm function in the bios to make things work. After you have set the RTC alarm from Linux, you might not see the changes in the BIOS, but it still works. If things are still not working for you ... try the following:

Disable/Enable RTC in BIOS

In some cases you need to disable the RTC alarm function is the BIOS to make things work.

On many boards, when the RTC setting is enabled in the BIOS, it will wake only from a time set and saved from BIOS setup, and not from a time set outside of the BIOS setup environment - as we want. All of the boards the original author of this document needed this setting disabled to correctly wake with ACPI. This is the recommended starting point.

Time/Date not visible in BIOS

After you have set the RTC alarm from Linux, it could be that you not see changes in the BIOS but it still works.

Make use of the following command to determine if the relevant wakealarm BIOS contents are proper.

cat /proc/driver/rtc

HPET conflict

In some kernels (2.6.27 and possibly others) and on some hardware, wikipedia:HPET seems to conflict with ACPI wakeup capabilities: calls to /sys/class/rtc/rtc0/wakealarm seem to behave normally but computer won't wake up. The solution is adding "hpet=disable" as kernel parameter at boot.

Enable device wakeup

On some machines, it may be necessary to enable the RTC interrupt in /proc/acpi/wakeup. See Kodi for details.

SUSE_head | ACPI enabled

Check if ACPI is enabled in your kernel and working.

$powersave -S
ACPI

If powersaved is not installed on your system, do not install it, it may break other things. Installing powersaved will uninstall powernow which will prevent some systems from controlling their processor speed, and bring up an unattributed message box on every boot telling you it is unable to control the processor clock.

Backend not shutting down when using EIT

Using EIT (program guide scanned directly from channels) you may find that your backend doesn't shut down after the time specified, even when it's idle. This seems to be caused by the EIT scanning resetting the backend idle counter. This can be prevented by going into mythtv-setup and setting the General->"EIT Scanner Options"->"Backend Idle Before EIT Crawl" time to the same as (or greater than) the General->"Shutdown/Wakeup Options"->"Idle shutdown timeout".

Troubleshooting Hardware

saa7164 Module

The saa7164 module does not support suspend to RAM or disk. This module is used by Hauppauge devices such as WinTV-HVR2200, WinTV-HVR2250, WinTV-HVR2255 and generally the Hauppauge WinTV-HVR22xx family. You can see if the module is in use from a terminal by entering the command: lsmod | grep saa7164

In order to allow suspend you need to remove the module, which cannot be done when the module is in use. This means you would normally need to shutdown the mythbackend first. You can automate this process.

S3 (Suspend to RAM)

First, see the BIOS setup section above to confirm which powerdown states your computer's ACPI supports. Some computers are unable to wake up from S5 (Soft Off) by an RTC alarm set through ACPI. For example some HP Compaq desktop computers allow you to set wakeup from BIOS at a specific time and at specific week days, however it is ignored ACPI alarm. In this case you may want to try to see if it does wake up from S3 (Suspend to RAM) instead.

The following check needs pm-utils package to work. You may also want to turn off X windows, as quite a few drivers don't like suspend to RAM.

Because "suspend to RAM" may not be very stable with the exotic hardware that a lot of mythTV users have, we want to reboot after we wake up from suspend. In fact we can add an init.d script that will suspend the computer just before it physically reboots, on wake up the computer will then do the actual reboot.

I have included an example script for Ubuntu below that will check for an /wakeup file in the root filesystem which contains the time to wakeup (seconds since epoch). You will have to change the mythtv shutdown scripts to create this file and use reboot instead of shutdown.

Integrate into mythTV

Remember, your bios time might be in UTC rather than local time using:

# echo "+00-00-00 00:05:00" > /proc/acpi/alarm

will set the wakeup time to 5 minute from now, regardless of whether the RTC is in UTC or locatltime.

Since the wake-up time given by mythtv to the mythtv wakeup command is in local time, you need to do some bash handling of the obtained time to be able to setup the wakeup time in the bios in UTC (independent of daylight savings time and such). The following bash code might help here:

As you noticed the echo to the acpi-alarm is commented out by default, because it is really better to check first if everything is working correctly (time format the same on your BIOS and such).

An alternative script to the above is the following:

#!/bin/bash
stamp_file=/home/mythtv/timestamp
#just log what we get as command line parameters
echo $1 $2 $3> $stamp_file
#I set mythtv to output the number of seconds since epoch
#so I calculate the number of hours, minutes and seconds from
#now the computer has to wakeup:
sfn=$(($2 - `date +"%s"`))
# Offset from GMT as the awk function does timezone correction.
tzone=3600
#and then send it to /proc/acpi/wakeup in the format we saw above
y=`(echo $(($sfn - $tzone))|awk '{print strftime("+00-00-00 %H:%M:%S", $1)}')`
echo "$y">/proc/acpi/alarm
echo "$y">>$stamp_file
echo "executed at `date`" >> $stamp_file
exit

This works on a lot of different EPIA and ASUS Motherboards, and is not dependent on the timezone you use in the bios.

Another contributed script

This acpi-alarm script will function with the new sys wakealarm interface or the old acpi/alarm interface

If leaving the RTC wakeup alarm on the BIOS worked with the old interface, you may need to disable it when migrating to the new interface.

Warning: The wakealarm interface is incompatible with the kernel's old "Enhanced Real Time Clock Support" and "Generic /dev/rtc emulation" options. If your kernel was built with these enabled your kernel log will contain messages such as

rtc_cmos: probe of 00:03 failed with error -16

The solution is to rebuild your kernel with the above two options excluded (find them under Drivers -> Character Devices) and the various RTC interfaces (found under Drivers -> Real Time Clock) included. From a .config point of view CONFIG_RTC and CONFIG_GEN_RTC must be unset and, at a minimum, RTC_INTF_SYSFS must be set.

Troubleshooting /proc/acpi/alarm

Consider updating your BIOS

Since this wakeup functionality utilizes your BIOS, you may need to update your BIOS to it's latest version. But please understand the potential risks of updating your BIOS before doing so.

Check your hardware

If you don't have an ACPI-compliant BIOS, you could use nvram-wakeup instead, which is a small that modifies the BIOS settings memory (NVRAM) directly (no longer recommended). All modern BIOSes should support ACPI, however.

Initiate manually

Fussy BIOS

There are a lot of fussy BIOSes out there. If things are still not working for you... try the following:

Disable/Enable RTC in BIOS

Another possible glitch is, that the option "Resume By Alarm" (or whatever it is called) is set to Enabled but wake up using /proc/acpi/alarm only works if the option is set to Disabled. Sounds weird but works with some boards.

Required to write time/date two times

Some users reported that their BIOS is only updated after writing 2 times to the alarm file. (reported with proc/acpi/alarm)

Advanced: Compile your own kernel

To use /proc/acpi/alarm with kernel versions 2.6.22 and higher, disable Device Drivers / Real Time Clock

This maps to CONFIG_RTC_CLASS in the kernel .config

Helper script: TurnOff

TurnOff is a useful script for the scenario where your MythTV based HTPC acts as a MythBackend, as a MythFrontend (for viewing content) and for other server purposes (e.g. a NFS server) as well.

The script has several activity monitors (one of which monitors MythBackend recording activities) which together decide whether the computer can be shut off and when to wake it up the next time. In case the next "activity event" (e.g. a MythTV recording) happens far enough in the future, the script triggers
the ACPI wakeup and shuts the computer down.

The script is mature without critical bugs found for a long while. I have used it for 3 years for shutdown purposes without major problems.

Mattwire - September 2007: Works fine with MSI K8NGM2-FID and NC6120 laptop running Ubuntu Feisty and Gutsy. Both require modification to /etc/init.d/hwclock.sh to save the wakeup time.

Dumdideldum - September 2007: Works with Epox 8rda+ running Ubuntu Feisty. It is important to disable the wakeup on rtc in the Bios and editing the /etc/init.d/hwclock.sh as described in the Ubuntu guide linked in the section below.

Pkendall - September 2007: Works fine with MSI K9NBPM2-FID running Ubuntu Feisty. As above, edit the hwclock.sh file and make sure Bios RTC wakeup is disabled.

Thewizzard - October 2007: Works with MSI K7N2 Delta-ILSR, be sure to use the hwclock.sh script and have it set the time two times.

Spitzbub - December 2007: Works with Biostar NF325-A7, be sure to modify your /etc/init.d/hwclock.sh script (or equivalent) to set the wake-up time again after the --systohc, as described above under Fussy Bios.

Per Olofsson - December 2007: Works very well with Asus P5GC-VM motherboard and Debian lenny with Linux 2.6.22. I don't use the "fussy BIOS" hack since I only suspend the system instead of shutting it down.

imcecil - April 2008: Work for Asus P5n-E SLI Gentoo 2.6.24 configured the Kernel as required above but used time_t as the wakeup time format (time since epoch) which seems to work when echoed straight to /sys/class/rtc/rtc0/wakealarm.

Cymen - April 2008: Works great for PCChips P53G but be sure to only have the rtc-cmos module loaded (not the rtc module -- if rtc module is loaded, unload both rtc and rtc-cmos and then load rtc-cmos again and the device will appear in /sys...). Blacklist the rtc module or don't compile it in (the option in under "character drivers" is the one to be excluded).

Chaup - July 2008: Works with /proc/acpi/alarm on mythbuntu 8.04 running on Lenovo M55E. Had to disable BIOS wakeup for it to work - another fuzzy BIOS. I did update /etc/init.d/hwclock.sh as suggested.

kja999 - July 2008: Worked fine for me using Fedora 9 on an Intel Mac Mini. Use the /sys/class/rtc method ...

piratebab - July 2008: Works fine with debian lenny, kernel 2.6.18 and /proc/acpi/alarm. But with kernel 2.6.25 it dos not work; no /sys/class/rtc/rtc0/wakealarm available, only a /proc/driver/rtc .

bajjisw - August 2008: Wakeup works well with Mythdora 5 on Abit NF7S2, AMD AthlonXP, ATI AIW 9700 Pro for graphics and Aver A180 for tuner. 2.6.25.14-69.fc8 . Had to (1) Disable wakeup by alarm in bios. (2) patch /etc/init.d/halt, per instructions above. (3) Write wakeup time to /proc/acpi/alarm (4) Shutdown. The box wakes up per time set in (3) . October 2008: If you have ntpd running, Do the same changes to /etc/init.d/ntpd. Otherwise, wakeup happens, but BIOS time gets reset.

specto - September 2008: Works on Gentoo 2.6.24 kernel using /sys/class/rtc/rtc0/wakealarm on an Asus M3N-HT Deluxe/HDMI. Did not change BIOS RTC wakeup setting from default of 'disable'. Had to do some time hacking in the wake-up script as system clock is in local time. You can tell if the system thinks it needs to wake up by looking at /proc/driver/rtc - if 'alarm_IRQ' is "yes" then the system should wake up as scheduled. yunosh - Asus M3N78 PRO works fine too.

ronny - works like a charm on Gigabyte GA-MA69GM-S2H using /sys/class/rtc/rtc0/wakealarm on archlinux. Haven't changed any bios settings, neither had to override systohgstra. --Ronny 07:48, 20 November 2008 (UTC)

Gilles - works fine on a ASROCK K7VT2 using /sys/class/rtc/rtc0/wakealarm on mythbuntu kernel 2.6.27. Disabled RTC BIOS settings (they don't seem to be useful unless you want to wakeup your PC on a particular hardcoded time). Had to customize setwakeup.sh so that the wakeup time stays on the same year. If the wakeup time is on the next year, the rtc timer doesn't seem to respond well. --Gilles 19:18, 30 December 2008 (UTC)

zapp - works fine with my FOXCONN A74MX usuing /sys/class/rtc/rtc0/wakealarm on Ubuntu 8.10. RTC has to be disabled as well as HPET --zapp 13:27, 18 Jan 2009 (UTC)

Kroylar 02:03, 23 February 2009 (UTC) - I got this working on gentoo-sources-2.6.26-r3 on an Intel D865PERL motherboard only after applying the patch found on this linux-kernel mailing list entry. This patch has probably already been applied to newer kernels.

Pavol Zibrita 02:25, 21. March 2009 (UTC) - works fine with mythbuntu with kernel 2.6.27-11-generic on MSI's KT4AV-L mainboard. I'm using my machine as a storage server but I don't wanted to run it all the time. I configured the server to start using WOL when I turn on my notebook and I modyfied the check-command to check also if notebook is running or someone is logged in or at last mythshutdown --check is fine. Works great!

prupert 19.10.09 I use an Intel D945GCLF2, the stuff here was useful, but confusing and didn't tell the full story, I found the most useful and succesful resource for me was: http://ubuntuforums.org/showthread.php?t=1176528 I am however using MythBuntu so that might be why I needed to use that link. For the D945GCLF2 I had to use the settings under Setting alarm when bios clock is in localtime. Thus for the script mentioned in the post, I had to use: SECS=$(date -u --date "$1 $2" "+%s"). Also read through all the comments, as you need to use visudo to add the mythtv user to the sudoers group and also change the settings in mythwelcome from time_t to yyyy-MM-dd hh:mm:ss.

Jamie S Jan 2010. Asus M2V MX SE.
I upgraded from Mythdora 5 to Mythdora 10, which included changing from /proc/acpi/alarm to the new ACPI RTC driver. The new RTC driver did not think my system could wake from S5 using the RTC. After much pain, I built my own kernel with the legacy /proc/acpi/alarm, and now I am happy again...

Avelach January 2010. Asus P3-P5G43 (Intel Core 2 Duo (2x 1GB RAM), GMA X4500). Mythbuntu 9.10 amd64. All OK. No need tweaking BIOS nor hwclock.sh. Need to pull 2.6.33-rc4 kernel because HDMI resolution under Intel does not work under 2.6.31 and wakealarm does not work under 2.6.32!!!

wild-e Feb 2011. Gigabyte GA-MA78GM-S2H, everything seems to work once I disable HPET. I'm just wondering, what are downsides of disabling HPET, Or are there any. There is an (impropr) patch on the upstream bug link, also wondering i that has any side effects?

Dschey Aug 2011. Foxconn MB-A7GM-S 785G AM2+ µATX with Mythbuntu 10.04. Have to set option hpet=disable to make wakeup work.

Televiscerator Sep 2012 This will never work with the very old Asus A7N8X mobos (circa 2003/4). The Bios ACPI is broken such that they will only ever wake up if they were put into "Soft-Off" mode from the hardware power button. Shutdown from any operating system (Linux or Windows) does not return them to this soft-off state although leds on the NIC and mobo would have you believe otherwise. Wake up from RTC (or LAN) is then totally disabled.

numkem August 2013. MacPro 1,1 works just as any other computer. Tested using Arch Linux. Currently using it as backed only and having it sleep rather than shutdown completely but both works just as well.

Simon Waddington September 2015. Gigabyte GA-G33M-S2H with Mythbuntu 14.04. Disabled HPET in BIOS and in Grub with hpet=disable, also set UTC=yes in /etc/default/rcS and set BIOS clock to UTC. Modified the example hwclock-save.conf script because it appeared to be broken - exec in a script will end the script so the restore of the ACPI alarm never gets executed. Had to use