Nvram wakeup
Introduction
NVRAM WakeUp is a program that can read and write the wakeup time in the BIOS (via /dev/nvram on kernels >= 2.4.6 or via direct I/O). On this wakeup time the computer will be powered on automatically from the soft-off state.
Automatic power on is an ability of modern mainboards with ATX form factor and some older mainboard with AT/BAT form factor but ATX connector.
NVRAM WakeUp is not dependent on VDR, but was designed with VDR in mind. It is used to start the VDR right in time when a timer is pending. And after the recording and when there are no other user activities VDR shuts down the computer. In the shutdown script of VDR, NWRAM Wakeup is called to save the next wakeup time in the BIOS.
The rtcwake utility is a modern replacement of nvram-wakeup
.
List of compatible mainboards
One can distinguish between two sorts of mainboards. Some need a reboot after saving the time in BIOS and some do not (which is preferable).
A list of all explicitly supported mainboards can be found on the project page
Installation
- downloading
- unpacking
- README
- carry out the following instructions
make devices make make install man nvram-wakeup
- if you are lucky, that's it.
- if your board is unsupported, try
guess-helper
- and follow the instructions
- if the generated nvram-wakeup.conf is not functioning, on vdr-portal.de (german) or the NVRAM-Forum you can get help
Installation with set_timer for problematic motherboards
If everything fails and NVRAM WakeUp didn't recognised your board and guess_helper is of no use, there is another script included with NVRAM WakeUp that should always do it's job. This script is named set_timer.
- For installation see here
Using nvram with VDR
You can use the following script as VDR shutdown command. Please edit for your use. Make sure nvram works with your motherboard first.
Also find out if your motherboard support acpi wakeup. It's preferred method since it does not tweak your BIOS as nvram does.
NOTE! nvram-wakeup package includes other scripts, this was just simpler to get working.
vdr-shutdown.sh ----------------------------------------------- sudo /usr/local/bin/nvram-wakeup -s $1 -l case "$?" in 0) logger "Nvram exit code 0" /etc/init.d/vdr stop sudo poweroff exit 0 ;; 1) logger "Nvram exit code 1" # if your mb requires restart with nvram, this entry must be changed! /etc/init.d/vdr stop poweroff exit 0 ;; *) logger "Nvram no poweroff. Exit code was $?" exit $? ;; esac ------------------------------------------------
Links
[1] | http://sourceforge.net/projects/nvram-wakeup | NVRAM WakeUp homepage |