Skip to contentSkip to conversation

Media keys cause "ACPI: \_SB_.ATKD: Unsupported event" on ASUS laptop

DISCUSSION Mantas Mikulėnas 3 participants 5 messages Apr 17, 2014 – Apr 24, 2014 ACPI

lore
Share & tools
lore
#0 lore raw

After commit 1a699476e258 [two months ago], Linux has stopped recognizing the media & function keys on my laptop's keyboard (the laptop is ASUS K52JT.206).

When I press any of the Fn keys (Play/Pause, Stop, Prev, Next, Vol+, Vol-, Mute, WiFi, Brightness +/-...), I get the following messages in dmesg:

| ACPI: \_SB_.ATKD: Unsupported event type 0x45
| ACPI: \_SB_.ATKD: Unsupported event type 0x43
| ACPI: \_SB_.ATKD: Unsupported event type 0x40
| etc.

In the past (v3.14 and earlier), those used to be reported as ACPI and input events. From acpi_listen on a good kernel:

| hotkey ATK0100:00 00000045 00000000
| cd/play CDPLAY 00000080 00000000 K
|
| hotkey ATK0100:00 00000031 0000000d
| button/volumedown VOLDN 00000080 00000000 K
|
| hotkey ATK0100:00 00000016 00000000
|
| hotkey ATK0100:00 00000025 00000001

Bisect output:

1a699476e25814343766342672c655fb135224cc is the first bad commit commit 1a699476e25814343766342672c655fb135224cc

Author: Rafael J. Wysocki <[email protected]>
Date:   Thu Feb 6 13:58:13 2014 +0100

ACPI / hotplug / PCI: Hotplug notifications from acpi_bus_notify()

Since acpi_bus_notify() is executed on all notifications for all devices anyway, make it execute acpi_device_hotplug() for all hotplug events instead of installing notify handlers pointing to the same function for all hotplug devices.
[...]

* Linux 3.14.0-rc1-00023-g1a699476e258 (bad)
* Linux 3.14.0-rc1-00022-g5e6f236c2631 (good)

(I'm not quite sure why they show up as 3.14-rc1 if they're after 3.14?)

The kernel config is close to that of stock Arch Linux, except with entirely irrelevant devices disabled (PATA, SCSI, tuner, etc.)

Signature · 1 line
Mantas Mikulėnas <[email protected]>
#1 lore raw
Quoted 11 lines · Mantas Mikulėnas

After commit 1a699476e258 [two months ago], Linux has stopped recognizing the media & function keys on my laptop's keyboard (the laptop is ASUS K52JT.206).

When I press any of the Fn keys (Play/Pause, Stop, Prev, Next, Vol+, Vol-, Mute, WiFi, Brightness +/-...), I get the following messages in dmesg:

| ACPI: \_SB_.ATKD: Unsupported event type 0x45
| ACPI: \_SB_.ATKD: Unsupported event type 0x43
| ACPI: \_SB_.ATKD: Unsupported event type 0x40
| etc.

I'm seeing the same problem with an EeePC 900's volume and brightness keys:

[   90.098518] ACPI: \_SB_.ATKD: Unsupported event type 0x14
[   90.785202] ACPI: \_SB_.ATKD: Unsupported event type 0x15
[  457.062072] ACPI: \_SB_.ATKD: Unsupported event type 0x2e
[  457.926754] ACPI: \_SB_.ATKD: Unsupported event type 0x2d
[  458.418740] ACPI: \_SB_.ATKD: Unsupported event type 0x2c
[  458.821482] ACPI: \_SB_.ATKD: Unsupported event type 0x2b
[  459.240896] ACPI: \_SB_.ATKD: Unsupported event type 0x2a
Quoted 28 lines

In the past (v3.14 and earlier), those used to be reported as ACPI and input events. From acpi_listen on a good kernel:

| hotkey ATK0100:00 00000045 00000000
| cd/play CDPLAY 00000080 00000000 K
|
| hotkey ATK0100:00 00000031 0000000d
| button/volumedown VOLDN 00000080 00000000 K
|
| hotkey ATK0100:00 00000016 00000000
|
| hotkey ATK0100:00 00000025 00000001

Bisect output:

1a699476e25814343766342672c655fb135224cc is the first bad commit commit 1a699476e25814343766342672c655fb135224cc

Author: Rafael J. Wysocki <[email protected]>
Date:   Thu Feb 6 13:58:13 2014 +0100

ACPI / hotplug / PCI: Hotplug notifications from acpi_bus_notify()

Since acpi_bus_notify() is executed on all notifications for all devices anyway, make it execute acpi_device_hotplug() for all hotplug events instead of installing notify handlers pointing to the same function for all hotplug devices.
[...]

Quoted 7 lines

* Linux 3.14.0-rc1-00023-g1a699476e258 (bad)
* Linux 3.14.0-rc1-00022-g5e6f236c2631 (good)

(I'm not quite sure why they show up as 3.14-rc1 if they're after 3.14?)

The kernel config is close to that of stock Arch Linux, except with entirely irrelevant devices disabled (PATA, SCSI, tuner, etc.)

Adding email addresses recommended by get_maintainer.pl to see if that helps this to get noticed...

Signature · 1 line
Sitsofe | http://sucs.org/~sits/
#2 lore raw
Quoted 15 lines · Sitsofe Wheeler
Quoted 11 lines · Mantas Mikulėnas

After commit 1a699476e258 [two months ago], Linux has stopped recognizing the media & function keys on my laptop's keyboard (the laptop is ASUS K52JT.206).

When I press any of the Fn keys (Play/Pause, Stop, Prev, Next, Vol+, Vol-, Mute, WiFi, Brightness +/-...), I get the following messages in dmesg:

| ACPI: \_SB_.ATKD: Unsupported event type 0x45
| ACPI: \_SB_.ATKD: Unsupported event type 0x43
| ACPI: \_SB_.ATKD: Unsupported event type 0x40
| etc.

I'm seeing the same problem with an EeePC 900's volume and brightness keys:

Quoted 7 lines
[   90.098518] ACPI: \_SB_.ATKD: Unsupported event type 0x14
[   90.785202] ACPI: \_SB_.ATKD: Unsupported event type 0x15
[  457.062072] ACPI: \_SB_.ATKD: Unsupported event type 0x2e
[  457.926754] ACPI: \_SB_.ATKD: Unsupported event type 0x2d
[  458.418740] ACPI: \_SB_.ATKD: Unsupported event type 0x2c
[  458.821482] ACPI: \_SB_.ATKD: Unsupported event type 0x2b
[  459.240896] ACPI: \_SB_.ATKD: Unsupported event type 0x2a

Does this patch help:

---
 drivers/acpi/bus.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/acpi/bus.c +2 -3
Index: linux-pm/drivers/acpi/bus.c
===================================================================
@@ -380,9 +380,8 @@ static void acpi_bus_notify(acpi_handle
 		break;
 
 	default:
-		acpi_handle_warn(handle, "Unsupported event type 0x%x\n", type);
-		ost_code = ACPI_OST_SC_UNRECOGNIZED_NOTIFY;
-		goto err;
+		acpi_handle_debug(handle, "Unknown event type 0x%x\n", type);
+		break;
 	}
 
 	adev = acpi_bus_get_acpi_device(handle);
#3 lore raw
Quoted 24 lines · Rafael J. Wysocki
Quoted 15 lines · Sitsofe Wheeler
Quoted 11 lines · Mantas Mikulėnas

After commit 1a699476e258 [two months ago], Linux has stopped recognizing the media & function keys on my laptop's keyboard (the laptop is ASUS K52JT.206).

When I press any of the Fn keys (Play/Pause, Stop, Prev, Next, Vol+, Vol-, Mute, WiFi, Brightness +/-...), I get the following messages in dmesg:

| ACPI: \_SB_.ATKD: Unsupported event type 0x45
| ACPI: \_SB_.ATKD: Unsupported event type 0x43
| ACPI: \_SB_.ATKD: Unsupported event type 0x40
| etc.

I'm seeing the same problem with an EeePC 900's volume and brightness keys:

Quoted 7 lines
[ 90.098518] ACPI: \_SB_.ATKD: Unsupported event type 0x14
[   90.785202] ACPI: \_SB_.ATKD: Unsupported event type 0x15
[  457.062072] ACPI: \_SB_.ATKD: Unsupported event type 0x2e
[  457.926754] ACPI: \_SB_.ATKD: Unsupported event type 0x2d
[  458.418740] ACPI: \_SB_.ATKD: Unsupported event type 0x2c
[  458.821482] ACPI: \_SB_.ATKD: Unsupported event type 0x2b
[  459.240896] ACPI: \_SB_.ATKD: Unsupported event type 0x2a
Quoted 5 lines

Does this patch help:

---
 drivers/acpi/bus.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Yes, it seems to be working fine.

Thanks!

Signature · 5 lines
Mantas Mikulėnas <[email protected]>
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#4 lore raw
Quoted 25 lines · Mantas Mikulėnas
Quoted 24 lines · Rafael J. Wysocki
Quoted 22 lines · Sitsofe Wheeler
Quoted 11 lines · Mantas Mikulėnas

After commit 1a699476e258 [two months ago], Linux has stopped recognizing the media & function keys on my laptop's keyboard (the laptop is ASUS K52JT.206).

When I press any of the Fn keys (Play/Pause, Stop, Prev, Next, Vol+, Vol-, Mute, WiFi, Brightness +/-...), I get the following messages in dmesg:

| ACPI: \_SB_.ATKD: Unsupported event type 0x45
| ACPI: \_SB_.ATKD: Unsupported event type 0x43
| ACPI: \_SB_.ATKD: Unsupported event type 0x40
| etc.

I'm seeing the same problem with an EeePC 900's volume and brightness keys:

[ 90.098518] ACPI: \_SB_.ATKD: Unsupported event type 0x14
[   90.785202] ACPI: \_SB_.ATKD: Unsupported event type 0x15
[  457.062072] ACPI: \_SB_.ATKD: Unsupported event type 0x2e
[  457.926754] ACPI: \_SB_.ATKD: Unsupported event type 0x2d
[  458.418740] ACPI: \_SB_.ATKD: Unsupported event type 0x2c
[  458.821482] ACPI: \_SB_.ATKD: Unsupported event type 0x2b
[  459.240896] ACPI: \_SB_.ATKD: Unsupported event type 0x2a
Quoted 7 lines
Quoted 5 lines

Does this patch help:

---
 drivers/acpi/bus.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

Yes, it seems to be working fine.

OK, thanks for verifying, below it goes with a changelog and tags.

Rafael

---
From: Rafael J. Wysocki <[email protected]>
Subject: ACPI / notify: Do not block unknown type notifications in root handler

Commit 1a699476e258 "ACPI / hotplug / PCI: Hotplug notifications from acpi_bus_notify()" changed the root notify handler, acpi_bus_notify(), to block unknown type norifications, but it overlooked the fact that they might be propagated to drivers via the ->notify() callback.

Fix the problem by allowing drivers to receive unknown type notifications via ->notify() as before.

---
 drivers/acpi/bus.c |    5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
drivers/acpi/bus.c +2 -3
Index: linux-pm/drivers/acpi/bus.c
===================================================================
@@ -380,9 +380,8 @@ static void acpi_bus_notify(acpi_handle
 		break;
 
 	default:
-		acpi_handle_warn(handle, "Unsupported event type 0x%x\n", type);
-		ost_code = ACPI_OST_SC_UNRECOGNIZED_NOTIFY;
-		goto err;
+		acpi_handle_debug(handle, "Unknown event type 0x%x\n", type);
+		break;
 	}
 
 	adev = acpi_bus_get_acpi_device(handle);

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html