Re: ACPI "Soft-off" power button only rebooting system, not powering off

From: Bill Davidsen
Date: Thu Sep 18 2008 - 09:53:45 EST


Simon Farnsworth wrote:
Stephen Clark wrote:
Pavel Machek wrote:
On Wed 2008-09-17 08:33:50, Andrew Paprocki wrote:
On Wed, Sep 17, 2008 at 6:18 AM, Pavel Machek <pavel@xxxxxxx> wrote:
On Wed 2008-09-17 00:50:03, Andrew Paprocki wrote:
I have an AMD / Award BIOS based system which does not properly shut
off when I hold down the power button for 4 seconds. The BIOS is
configured to have "Soft-off" set to "Delay for 4 seconds" which is
supposed to power the machine off if the button is held that long.

I first thought this could be a BIOS bug, but this *only* appears to
happen while Linux is running. If the computer is running WinXP, it
Well, so the BIOS is broken. 4second hold should power down the
machine regardless of the operating system.
Yes, I agree.. I just find it strange that it works on the BIOS screen
as well as in GRUB, but as soon as Linux boots, it no longer works.
Since it works under WinXP, there must be some way to get it to work
properly from the OS side even it if means working around the bug
somehow.
Try noapic/nolapic/nosmp etc... and ask your vendor to fix the bios ;-).

Why do you say it is the BIOS when it shuts down properly from the GRUB
prompt or from in WINXP?

Because it's only the BIOS that can cause this behaviour.

When you push the power button, the BIOS is invoked. If you release
within 4 seconds, the BIOS sends an ACPI event to the running OS,
telling it that the power button has been pushed.

If you hold it down for 4 or more seconds, the BIOS is supposed to shut
the machine down without the OS knowing what's happening (no ACPI
events, just a loss of power). From your problem description, the BIOS
is noticing *something* about the way Linux sets things up, and
*choosing* to reboot instead of cutting the power.

Such as setting a bit to reboot instead of powering off? There are lots of bits down in low memory which one BIOS or another use, so it may be functioning as intended. You might look for an additional option to reboot instead of power down, a feature I think may have been intended for systems without a hardware RESET button.

GRUB doesn't touch hardware without BIOS help, so is unlikely to change
the system state in a way that tickles this BIOS bug; similarly, BIOSes
are tested against current Windows versions by vendors, so they'll have
hacked it around until it worked there.

This certainly may be a bug (ie. unintended behavior), but it may be a feature which Linux is enabling unintentionally. Having to use the power button on a Linux system would worry me more than having to press the button a second time during reboot.

--
Bill Davidsen <davidsen@xxxxxxx>
"We have more to fear from the bungling of the incompetent than from
the machinations of the wicked." - from Slashdot

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/