Support for waking up the computer from suspend

Registered by Johannes H. Jensen on 2008-05-03

Add support for waking up the computer from suspend. Investigate how this is possible without root access. The computer should be scheduled to wake up a couple of minutes (say, 5) before the first alarm should trigger.

Blueprint information

Status:
Not started
Approver:
None
Priority:
High
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

On ACPI systems, waking the computer from suspend at a specific time is often supported through the /proc/acpi/alarm interface. However this requires root access. Also, /proc/acpi is (slowly) being replaced by interfaces in /sys, rendering the old interface obsolete. See http://acpi.sourceforge.net/documentation/alarm.html

The replacement is the new RTC framework. More info is available in Documentation/rtc.txt in the kernel sources: http://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.25.y.git;a=blob;f=Documentation/rtc.txt;h=8deffcd68cb8d3fc2737279e780a28bee3726f57;hb=HEAD

I've failed to get my ThinkPad X61 to wake up from suspend by alarm through the RTC system, but /proc/acpi/alarm seems to work.

There's a patch to move the acpi/alarm code to an rtc-acpi driver on LKML, but it doesn't seem to have made it into the any kernel release: http://lkml.org/lkml/2006/7/15/85

Thus, at the moment it seems the only way to get alarm wakeup to work on (most?) x86 systems is through /proc/acpi/alarm. We could add a small program (with setuid root) which handles setting of the alarm. It could first try through RTC (with rtcwake) and then fall back to /proc/acpi/alarm if available.

The user interface should include (in the Preferences dialog?) some indication about whether wake-up from suspend is supported by the system or not. If this is not possible to detect reliably, it should include a button to manually test this.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.