Skip to contentSkip to conversation

ACPI: kbd-pw-on/WOL doesn't work anymore with 2.4.14

DISCUSSION Mario 'BitKoenig' Holbe 2 participants 4 messages Nov 15, 2001 – Jan 27, 2002

lore
Share & tools
lore
#0 lore raw

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

Signature · 3 lines
*axiom* welcher sensorische input bewirkte die output-aktion,
        den irc-chatter mit dem nick "dus" des irc-servers
        mittels eines kills zu verweisen?
#1 lore raw
Quoted 9 lines

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

#2 lore raw
In reply to Mario 'BitKoenig' Holbe
Quoted 3 lines · Patrick Mochel

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 :).

Quoted 3 lines

(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? :)

Quoted 4 lines

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

Signature · 3 lines
*axiom* welcher sensorische input bewirkte die output-aktion,
        den irc-chatter mit dem nick "dus" des irc-servers
        mittels eines kills zu verweisen?
#3 lore raw
In reply to Mario 'BitKoenig' Holbe

Holla again :)

On Thu, Nov 15, 2001 at 10:05:48AM -0800, Patrick Mochel wrote:
[I wrote before...]

Quoted 2 lines
Quoted 2 lines

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 :)

Quoted 4 lines
Quoted 1 line

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.

[...]

Quoted 2 lines

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.

[...]

Quoted 4 lines

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

Signature · 1 line
<delta> talk softly and carry a keen sword