2.6.0: APM suspend/resume problem on Acer TravelMate 210TEV

Michael Schierl <[email protected]> Thu, 8 Jan 2004 17:43:28 +0100
Newsgroups org.kernel.vger.linux-laptop
Message-ID <[email protected]>
Hi,

I already had some discussion about that topic on linux-kernel, but it
seems that no one has any idea how to fix this or even how to track this
down (it could also be they all have me in their kill filter, but i don't
hope so... *please* give me a chance. thanks.).

I'll try to summarize the current situation:

My laptop (Acer TravelMate 210TEV, Celeron 700) did suspend properly on
2.6.0-test[123]. Since -test4 (up to the final version and -mm2) it does
not work any more.

When I try to suspend (using apm -s, since I set the kernel to ignore user
suspend), the computer suspends properly now, but it does not resume
afterwards properly. It looks as if it had resumed, i see the command
prompt (or i see the first lines of output of a command i add by "apm -s;
somecommand"), then it hangs.

I tried to track it down to a driver, but did not manage it.

i got that if I enable local APIC it gets worse (does not even suspend) or
when I add the yenta driver, it does not get that far in resuming: it dies
somewhere inside of the device_resume(3) call of arch/i386/kernel/apm.c (i
added "printk"s into that file, but the problems occur as well when i use a
"vanilla" 2.6.0). But as i can live well without apic and yenta, these are
not my problems.

But trying to make the kernel smaller did not help at all. I ended up with
2 really "minimalistic" kernels, the difference is that one has IDE drivers
and ext2 support, the other one has initrd support, minix support and a
keyboard driver instead. (I attached the .config files.)

For the first one, i boot with "boot=/apmtest" where apmtest is a script
that does

#!/bin/bash
mount /proc
apm -s
echo 1
sleep 1
echo 2
sleep 1
echo 3
sulogin

and tap the power switch to make it resume (since there's no keyboard
driver). It hangs after echoing 1. When I add some more echo lines before
the first sleep, they are echoed as well.

For the second one, i use a modified initrd.gz from trinux (modified by
adding the apm binary, libapm and the /dev/apm_bios device node) and use
lilo to load it. (since there is a keyboard driver in, i can simply type
apm -s when it is up).

Needless to say that of course a "bigger" kernel (e. g. with additional
filesystems, keyboard, mouse, sound and/or networking support) does not
work better at all...

And all that configs work very well with a -test3 kernel, but not with
later ones...

Can *anyone* help me? (what could I try that may help you track that down?
can i try any patches, etc.)

Regards,

Michael
minimal-configs.zip (application/zip, 4.9 KB) - not displayed