Re: Dell I8000, 2.4.8-ac5 and APM

Mikael Pettersson
2001-08-20T10:21:31Z

David Woodhouse writes:
> mikpe@csd.uu.se said:
> > Concerning your problem with pulling the AC plug on your Dell I8000,
> > my suspicion is that either (a) the BIOS isn't notifying apm.c of the
> > event, or (b) apm.c fails to propagate the event to its PM clients.
>
> The problem with suspend actually turned out to be because the APIC is
> unconditionally enabled _before_ the command line is scanned and the 'noapic'
> option is detected.

Right, the local APIC is enabled very early, for some reason I don't recall right now.

> The noapic option, however, does have the effect of
> preventing the registration of the power management code :)

Hmm, the "noapic" kernel option does not and never has had anything to do with
the local APIC, only the IO-APIC which is a completely different beast.
However, RedHat 7.1+ added a bug in init/main.c where they bypass the second
half of the UP APIC initialisation if "noapic" is specified. So using "noapic"
you now end up with the local APIC enabled but its PM code disabled. Nice, eh?

> Booting with 'apic' makes the thing take some time to suspend, and then
> it reboots instead of resuming. That may be your case (b). I put printk in
> the apic suspend and resume functions and neither of them seem to appear.

Please try this with a normal 2.4-ac kernel. Add a printk and a delay at the top
of apm.c's send_event() so we can see exactly which events occur. Boot with
UP_APIC enabled. Initiate suspend: did apm.c log an event and if so which one?
Try to resume: did apm.c log anything before the machine rebooted?

/Mikael