https://bugzilla.kernel.org/show_bug.cgi?id=222251
Bug ID: 222251
Summary: [ASUS TUF FX608JMR] Lid open / keypress fails to wake
from s2idle (missing _PRW on \_SB.PC00.LPCB.LID0,
needs GPE 0x14)
Product: ACPI
Version: 2.5
Hardware: Intel
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: Power-Sleep-Wake
Assignee: [email protected]
Reporter: [email protected]
Regression: No
Created attachment 311421
--> https://bugzilla.kernel.org/attachment.cgi?id=311421&action=edit
Stock OEM DSDT (ASUS TUF FX608JMR BIOS 312)
### Description
On the ASUS TUF Gaming F16 (FX608JMR), the system fails to wake up from suspend
(s2idle) when opening the lid, pressing keyboard keys, or pressing the chassis
power button. The system enters sleep normally, but hardware resume triggers
fail to signal the CPU, resulting in a black screen that requires a forced
hardware shutdown.
The root cause is a missing _PRW (Power Resources for Wake) method on the
active physical lid device node (PNP0C0D:01 at \_SB.PC00.LPCB.LID0), combined
with GPE routing:
1. Dual Device ACPI Declaration: The DSDT defines a dummy lid device
\_SB.PC00.LPCB.H_EC.LID0 (PNP0C0D:00) that is hardcoded inactive (_STA = 0).
2. Missing _PRW: The active physical lid device is at \_SB.PC00.LPCB.LID0
(PNP0C0D:01), but firmware omits _PRW.
3. Embedded Controller Routing: On this motherboard, the Embedded Controller
Level event (ECLV()), which handles lid transitions, keyboard interrupts, and
chassis power button events, is connected to GPE 0x14 via Method (_L14).
4. Kernel Wake Disarm: Because no active device claims GPE 0x14 for wake, the
Linux kernel leaves interrupt line 14 disarmed during suspend. Hardware events
fired by the EC never wake the CPU.
---
### System Information
- OS: Fedora Linux
- Kernel Version: 7.2.15-300.fc45.x86_64
- Hardware Model: ASUS TUF Gaming F16 FX608JMR_FX608JMR
- BIOS Version: FX608JMR.312
- Suspend Mode: s2idle
---
### Steps to Reproduce
1. Boot on an ASUS TUF Gaming F16 FX608JMR with stock ACPI tables.
2. Check `cat /proc/acpi/wakeup | grep LID0` (shows *disabled).
3. Suspend via `systemctl suspend`.
4. Wait for sleep transition, then open lid or press keys.
5. Laptop remains stuck in suspend and cannot be woken.
---
### Confirmed Fix / Workaround
Providing an SSDT via early initramfs override attaching _PRW to
\_SB.PC00.LPCB.LID0 returning {0x14, 0x03} completely resolves the issue.
SSDT source:
DefinitionBlock ("", "SSDT", 2, "ASUS ", "LIDWAKE ", 0x00000001)
{
External (\_SB.PC00.LPCB.LID0, DeviceObj)
Scope (\_SB.PC00.LPCB.LID0)
{
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02) {0x14, 0x03})
}
}
}
---
### Verification
- `cat /proc/acpi/wakeup` reflects `LID0 S3 *enabled platform:PNP0C0D:01`.
- `cat /sys/firmware/acpi/interrupts/gpe14` shows `EN enabled unmasked` and
increments immediately upon lid resume.
--
You may reply to this email to add a comment.
You are receiving this mail because:
You are watching the assignee of the bug.
_______________________________________________
acpi-bugzilla mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla