Hardware
- Motherboard: ASRock B650E Steel Legend WiFi
- BIOS: 4.10 (AGESA ComboAM5 PI 1.3.0.0a) — tested also on 3.50, same issue
- CPU: AMD Ryzen 7 7800X3D
- OS: macOS Tahoe 26.3 / Sequoia (same issue on both)
- Bootloader: OpenCore 1.0.6
- OCLP laobamac 3.5.1
Problem
The system shuts down for a second and then immediately restarts instead of staying powered off. The issue is present on every BIOS version from 3.08 onwards (AGESA 1.2.x and 1.3.x). AGESA 1.1.x was not tested.Sleep/Wake works fine, I just need a second click after keyboard/mouse has been waked up.
Investigation
pmset logs confirm:- SMC shutdown cause: 5 → macOS correctly sends S5 shutdown signal
- Dark Wake Count: 3 → system wakes immediately 3 times after every shutdown
- The system enters S5 correctly, but something triggers an immediate wake at hardware level
In Method (SPTS), when Arg0 == 0x05 (S5 shutdown):
asl
If ((Arg0 == 0x05))
{
PWDE = One // This is the problem!
}
PWDE is bit 6 at offset 0x3BB of OperationRegion (GSMM, SystemMemory, 0xFED80000, 0x1000).
Setting PWDE = 1 during S5 appears to trigger an AGESA-level wake event, causing the immediate reboot. This behavior is identical across BIOS 3.08 through 4.10.
_S5 is correct: {0x05, 0, 0, 0} — macOS knows S5 properly.
What has been tried (all failed)
- Binary patches — _PRW S4→S3 for 0x02 and 0x08 wake sources (DSDT has 76 static Name (_PRW) declarations)
- SSDT-PRWFIX — override all 76 static _PRW with Method returning {0x00, 0x00} → fails with AE_ALREADY_EXISTS
- SSDT-SPTSFIX — rename SPTS→XPTS, redefine SPTS to call XPTS then set PWDE = Zero after S5 → SSDT loads correctly but reboot persists
- SSDT-DisableXHC — disable _STA of XHC0/XHC1/XHC2 via Darwin-only _STA = 0 → loads correctly but reboot persists
- HibernationFixup with hbfx-ahbm=129 → no effect
- FadtEnableReset = true → no effect
- BIOS settings — Deep Sleep disabled, USB Device Power On disabled, PCIE Devices Power On disabled, RTC Alarm Power On disabled, USB Power delivery in S5 disabled — all already disabled
- pmset — powernap=0, womp=0, tcpkeepalive=0 — no effect on shutdown behavior
Key observation
The SSDT-SPTSFIX approach correctly loads and executes — the rename SPTS→XPTS works, the new SPTS calls XPTSand then sets PWDE = Zero. However the reboot still occurs, suggesting that PWDE is either not the sole trigger, or the AGESA acts on it before our ACPI override can clear it, or the wake event is triggered at a lower level than ACPI can reach.Question
Has anyone found a working solution for this specific issue on B650/X670 with AGESA 1.2.x or 1.3.x?Is a modified DSDT.aml (full override via OpenCore) rather than SSDT patches a viable approach? Or is this truly only fixable via BIOS mod patching the AGESA binary directly?
Any help appreciated!