[wplug] IBM Thinkpad APM/ACPI: what to do next?

Brandon Kuczenski brandon at 301south.net
Thu Sep 2 18:01:44 EDT 2004


I am investigating a problem with a brand-new install of Debian Sarge with
a 2.6.8 kernel on my trusty IBM T23 laptop.  The problem is: pressing
fcn-F4 does not suspend the computer, the way it did when I was running
Redhat 9 with a 2.4.22 kernel.

MOTIVATION
I simply cannot consider this computer a 'laptop' if it needs shutdown and
restarted all the time, so this problem is high-priority for me.

BACKGROUND
I started by looking in the usual places.  First, I had to apt-get install
acpid because my battery monitor (which *did* work on Redhat) wouldn't
work otherwise.  The battery status monitor now works correctly.

Then, I discovered that I had to apt-get install apmd in order for suspend
and other advanced power management tricks to work.

CURRENT SYMPTOMS
But, now in the bootup, APMD gives these messages:
Sep  2 16:58:35 localhost kernel: apm: BIOS version 1.2 Flags 0x03 (Driver
version 1.16ac)
Sep  2 16:58:35 localhost kernel: apm: overridden by ACPI.

If I give the simple command:
# /usr/bin/apm -s
I get "No apm support in Kernel", which is ridiculous since I recompiled
the kernel myself SPECIFICALLY TO INSERT apm support.  Sure enough, there
it is: /lib/modules/2.6.8/kernel/arch/i386/kernel/apm.ko .  It does exist.

If I try:
# modprobe apm
I get "FATAL: Error inserting apm
(/lib/modules/2.6.8/kernel/arch/i386/kernel/apm.ko): No such device"

GOOGLING
I've done some poking and found this discouraging thread from Redhat:
https://bugzilla.redhat.com/bugzilla/long_list.cgi?buglist=80404

which says the bug is a duplicate of a bug that will NOT BE FIXED.  BUT,
it also refers to 2.4.20 and earlier kernels, and implies that the bug
will be fixed in 2.5/2.6 (which is really the reason why I went with 2.6).

It also alludes to the fact that an IBM BIOS upgrade will fix/has fixed
the problem, but IBM doesn't support BIOS upgrades on Linux.

SOLUTION?
So, I have, as I see it, 4 options.  Which do you think is best?
1. Somehow shutdown ACPI (implied necessary by the startup message) -- do
I need to uninstall the modules, or just not start the daemon?
2. Somehow upgrade my BIOS (surely there is community support for such a
thing?)
3. Somehow properly load or debug the apm.ko module (about which I
currently understand nothing, but would like to learn)
4. Go back (wa-a-a-a-y back) to Redhat, where it did work.
5. Recompile the kernel with apm builtin rather than loadable.

There are problems with all of these:
problem with 1: I need ACPI for the battery monitor (AFAIK)
problem with 2: Shouldn't be necessary, as shutdown worked before, and
also, poking around in the BIOS is not something I can do if it's NOT
community-supported
problem with 3: Doesn't seem like the module is the problem
problem with 4: also no community support; I would like to be this to be
an all-GNU system so I don't have the rug pulled out from under me again.
problem with 5: it's annoying, and will not necessarily matter (?)

So, suggestions?

-Brandon




More information about the wplug mailing list