Support for waking up the computer from suspend

Registered by Johannes H. Jensen

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.