Nvram wakeup

From VDR Wiki
Jump to navigation Jump to search

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