NAME¶
apmsleep - go into suspend or standby mode and wake-up later
SYNOPSIS¶
apmsleep [-sSnwhVd] [--suspend] [--standby] [--noapm] [--wait]
[--precise] [--help] [--version] [--debug] [+]hh:mm
DESCRIPTION¶
Some computers, especially laptops, can wake-up from a low-power suspend to DRAM
mode using the Real-time-clock (RTC) chip.
Apmsleep can be used to set
the alarm time in the RTC and to go into suspend or standby mode. An interrupt
from the RTC causes the computer to wake-up. The program detects this event,
by waiting for a leap in the kernel time and terminates successfully. If no
time leap occurs within one minute, or something goes wrong, the exit value
will be non-zero.
The wake-up time can be specified in two formats:
+hh:mm specifies a relative offset to the current time. The computer will
suspend for exactly hh hours and mm minutes plus a few seconds to wake up. On
some laptops, the timing is not completely accurate so it may be a few minutes
(or more?) late.
hh:mm specifies absolute
local time in 24-hour format. The time
stored in the RTC is not important. You may change the time zone used, with
the TZ environment variable as usual. Daylight saving time is not obeyed in
this version, but might be in a future release.
WARNING: Do not close
cover of laptop after suspending the laptop with apmsleep. Most laptops
overheat when running with closed cover.
Energy conservation with APM is little for a desktop. Turning of the screen will
save 1/2, going into standby with drives turned off will save another 1/6th of
the current.
- -V, --version
- Print the apmsleep program version and exit immediately.
- -s, --suspend
- Put the machine into suspend mode if possible (default). On my laptop,
suspend mode turns off everything except the memory.
- -S, --standby
- Put the machine into standby mode if possible. On my laptop, standby mode
turns off screen, hard disk, and CPU.
- -w, --wait
- Wait indefinitely for the time leap.
- -p, --precise
- Wait for alarm time to match actual time. Do not wait for time leap. This
might be useful even without APM.
- -n, --noapm
- Do not call apm bios to suspend computer, just set the alarm clock and
wait for time leap indefinitely.
- -d, --debug
- Print some information about what is going on.
REQUIRED SYSTEM CONFIGURATION¶
- Kernel
- The special character device /dev/rtc must exist and the kernel needs to
be compiled with APM and RTC support.
- BIOS
- The computer must have the 'suspend to RAM' feature enabled in the BIOS;
'suspend to Disk' will not work, because the computer is turned off
completely. You do not need to enable the ALARM timer, it will be
activated by apmsleep. On some boards, you can configure which interrupts
can be used to awake from suspend mode. If you have such a board, you
might want to make sure that keyboard (IRQ 1) and RTC (IRQ 8) are among
those interrupts. If your computer does not wake up, try to enable 'modem
ring' in the BIOS, even if you do not have a modem.
- Privileges
- The program must be run as root or have the SUID attribute set (see
chmod(1)).
BUGS¶
Apmsleep cannot detect which event terminated the suspension. Possible events
are: keyboard or mouse activity, modem ring, alarm from RTC, any other
interrupt. Sometimes, the time leap is not detected properly (causing a wrong
exit value).
Should use APM BIOS calls to set alarm clock (not yet supported by kernel).
This program was tested on a Winbook XL laptop (Pentium) only. It may not
function on your hardware.
AUTHOR¶
Written by Peter Englmaier (ppe@mpe.mpg.de) and may be freely distributed under
the terms of the GNU General Public License. The code is based on Paul
Gortmacher's RTC test/example program. There is ABSOLUTELY NO WARRANTY for
this program. The current maintainer is Peter Englmaier.
SEE ALSO¶
xapm(1),
apmd(8).