Ghost Reboot / Restart instead of Shutdown - ASRock B650E Steel Legend WiFi

errevi

Donator
Donator
AMD OS X Member
Mar 8, 2021
85
1
19
8
Italia
CPU:
7800x3d

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
Root cause identified in DSDT:

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

  1. Binary patches — _PRW S4→S3 for 0x02 and 0x08 wake sources (DSDT has 76 static Name (_PRW) declarations)
  2. SSDT-PRWFIX — override all 76 static _PRW with Method returning {0x00, 0x00} → fails with AE_ALREADY_EXISTS
  3. SSDT-SPTSFIX — rename SPTS→XPTS, redefine SPTS to call XPTS then set PWDE = Zero after S5 → SSDT loads correctly but reboot persists
  4. SSDT-DisableXHC — disable _STA of XHC0/XHC1/XHC2 via Darwin-only _STA = 0 → loads correctly but reboot persists
  5. HibernationFixup with hbfx-ahbm=129 → no effect
  6. FadtEnableReset = true → no effect
  7. 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
  8. 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!
 

Attachments

  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.