[ltp] Caught in an APM versus ACPI deadlock. Please help.

Bob Alexander linux-thinkpad@linux-thinkpad.org
Mon, 27 Dec 2004 17:04:51 +0100


After using 2.6.9 with APM on my T40 for some time and being quite happy 
with it's behaviuor I went to test a prolonged sleep power drain. I 
quickly disocvered that while the power drain is good, the T40 will not 
properly wake up from a prolonged sleep while it came out of it 
flawlessly in woken after a few minutes.

I therefore have tried ACPI with ibm-acpi active.

First the good news. Under ACPI, after 1 hour sleep my T40 came out 
perfectly.

Now the bad news:

As opposed to APM under 2.6.9 which drained my T40 high capacity battery 
around 0.9% per hour, under ACPI and 2.6.10 the drain (measured only on 
one hour) has been UNACCEPTABLE (around 8%) !!!!

I thought this would happen since the bottom of the TP remained warm for 
the whole hour.

It could be that when I suspend under ACPI I do not remove enough stuff ...

Any help with getting either APM or ACPI behaving acceptably (meaning 
that the power drain should be in the 1% per hour or less AND that it 
resumes even after a prolonged sleep) ?????

TIA,
Bob

Here is my ACPI script:

> #!/bin/sh
> # /etc/acpi/sleep.sh
> 
> # remove USB for external mouse before sleeping
> if lsmod | grep '^usbhid' >/dev/null ; then
>    /sbin/modprobe -r -s usbhid
> fi
> if lsmod | grep '^uhci_hcd' >/dev/null ; then
>    /sbin/modprobe -r -s uhci_hcd
> fi
> if lsmod | grep '^ehci_hcd' >/dev/null ; then
>    /sbin/modprobe -r -s ehci_hcd
> fi
> 
> hwclock --systohc
> echo 3 > /proc/acpi/sleep
> 
> if !(lsmod | grep '^ehci_hcd') >/dev/null ; then
>    /sbin/modprobe -s ehci_hcd
> fi
> if !(lsmod | grep '^uhci_hcd') >/dev/null ; then
>    /sbin/modprobe -s uhci_hcd
> fi
> if !(lsmod | grep '^usbhid')   >/dev/null ; then
>    /sbin/modprobe -s usbhid
> fi
> 
> hwclock --hctosys