2001-11-15 17:43:46

by Mario 'BitKoenig' Holbe

[permalink] [raw]
Subject: ACPI: kbd-pw-on/WOL doesn't work anymore with 2.4.14

Hoi,

since 2.4.14 kernel, after issuing 'halt', the Keyboard Power-ON or
Wake-On-LAN doesn't work anymore. I have to switch the machine on
with its Power Button.
With 2.4.13 kernel it works very well.

I'm using Asus P3B-F board with 440BX chipset.

Does ACPI use another State in Power Off since 2.4.14?

If so: How can I switch that back? - Preferred without an kernel
patch, maybe there is some config option like acpi_poweroff_state=Sx
or something like that?


PS: I'm not member on the linux-kernel@ list, so please CC me in
replies, thanks.


regards,
Mario
--
*axiom* welcher sensorische input bewirkte die output-aktion,
den irc-chatter mit dem nick "dus" des irc-servers
mittels eines kills zu verweisen?


2001-11-15 18:03:26

by Patrick Mochel

[permalink] [raw]
Subject: Re: ACPI: kbd-pw-on/WOL doesn't work anymore with 2.4.14


> since 2.4.14 kernel, after issuing 'halt', the Keyboard Power-ON or
> Wake-On-LAN doesn't work anymore. I have to switch the machine on
> with its Power Button.
> With 2.4.13 kernel it works very well.
>
> I'm using Asus P3B-F board with 440BX chipset.
>
> Does ACPI use another State in Power Off since 2.4.14?

No, it uses the same state. But, the behavior is a little different.

Wake events for devices that are controlled via the southbridge are
considered General Purpose Events (GPEs). On the southbridge there are two
banks of registers for GPEs - an enable bank and a status bank.

When you hit the "Wake" or "Power" key on the keyboard, it sets the status
bit, which is ANDed with the enable bit. If the result is true, an
interrupt is delivered (either SMI or SCI).

Behavior is different because in 2.4.14, all GPE enable bits are cleared
just before we enter a sleep state.

The location of these banks and the meaning of each bit is specific to the
southbridge, so there is no way to generically enable Wake-on-Key in the
kernel.

However, the GPE banks are exported via /proc/acpi/gpe. If a userspace
tool was to have knowledge of the southbridge on the system, one could
have a decent interface for configuring wake events.

(The kernel behavior would still have to change a bit, since the disabling
of the GPEs doesn't regard the events that have been set to wake the
system up).

Wake-on-Lan is a separate issue. If it's a PCI card with PM capabilities,
telling it to generate a wake event means setting a bit in the PCI config
space. You can do this with setpci. Why it would stop working, I don't
know...

-pat


2001-11-16 14:26:48

by Mario 'BitKoenig' Holbe

[permalink] [raw]
Subject: Re: ACPI: kbd-pw-on/WOL doesn't work anymore with 2.4.14

On Thu, Nov 15, 2001 at 10:05:48AM -0800, Patrick Mochel wrote:
> Wake events for devices that are controlled via the southbridge are
> considered General Purpose Events (GPEs). On the southbridge there are two
> banks of registers for GPEs - an enable bank and a status bank.

Hm, I've checked this out, but - no matter if I enable/disable Keyboard
Power ON and/or Wake On LAN, my /proc/acpi/gpe ever contains:

GPE0: 0f 00
Status: 00 00

Btw. If I disable one of them in the BIOS, it definitely does not work
then anymore, if I enable it, it works again - just before you consider
them as fakes :).

> (The kernel behavior would still have to change a bit, since the disabling
> of the GPEs doesn't regard the events that have been set to wake the
> system up).

Thanks :) Do you have an idea about when this comes up? :)

> Wake-on-Lan is a separate issue. If it's a PCI card with PM capabilities,
> telling it to generate a wake event means setting a bit in the PCI config
> space. You can do this with setpci. Why it would stop working, I don't
> know...

Well, I have no idea about ACPI to be exact, but regarding to the not
changing GPE in my case, I could imagine that the meaning for my board
is different :)


regards,
Mario
--
*axiom* welcher sensorische input bewirkte die output-aktion,
den irc-chatter mit dem nick "dus" des irc-servers
mittels eines kills zu verweisen?

2002-01-27 14:21:31

by Mario 'BitKoenig' Holbe

[permalink] [raw]
Subject: Re: ACPI: kbd-pw-on/WOL doesn't work anymore with 2.4.14

Holla again :)

On Thu, Nov 15, 2001 at 10:05:48AM -0800, Patrick Mochel wrote:
[I wrote before...]
> > since 2.4.14 kernel, after issuing 'halt', the Keyboard Power-ON or
> > Wake-On-LAN doesn't work anymore. I have to switch the machine on

Is there any hope, that this gets (re-)changed again in the 2.4
tree sooner or later?
I'm still using 2.4.13 because of this :)
I tried everything up to 2.4.17 but it was ever the same since 2.4.14 :)

Maybe one could make it a configure-able 'feature'?
I would happily pre-check a suggested patch, if this would help :)

> > I'm using Asus P3B-F board with 440BX chipset.
> Wake events for devices that are controlled via the southbridge are
> considered General Purpose Events (GPEs). On the southbridge there are two
> banks of registers for GPEs - an enable bank and a status bank.
[...]
> Behavior is different because in 2.4.14, all GPE enable bits are cleared
> just before we enter a sleep state.

Well, I've checked the /proc/acpi/gpe for serval different BIOS
settings - it contains ever the same:
GPE0: 0f 00
regardless if I enable or disable Kbd-Pwr-ON or WOL in BIOS.

[...]
> Wake-on-Lan is a separate issue. If it's a PCI card with PM capabilities,
> telling it to generate a wake event means setting a bit in the PCI config
> space. You can do this with setpci. Why it would stop working, I don't
> know...

Well, add me, but I know, it does stop working between .13 and .14 :)


regards,
Mario
--
<delta> talk softly and carry a keen sword