OPENCORE - Sleep crashing on AMD / How to disable XCH0 via ACPI

Hello,

I'm trying to fix the sleep / wake with AMD Ryzen.

On Dortania's Guide to fix it, states that the XCH0 should be disabled completely.

Post-Install Issues | OpenCore Install Guide (dortania.github.io)

You can double check which controller is XHC0 via IOReg and checking the Vendor ID(1022 for AMD chipset). The fix for this sleep issue is either:

  • Avoid the chipset USB all together(ideally set _STA = 0x0to disable the controller outright with an SSDT)
  • Correct the USBX power properties to what the controller expects

How can I disable the chipset controller with the _STA = 0x0?

I've tried to Disable via SSDT with this code:

DefinitionBlock ("", "SSDT", 2, "CORP", "UsbReset", 0x00001000) { External (\_SB.PCI0.GP17.XHC0, DeviceObj) Scope (\_SB.PCI0.GP17.XHC0) { Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (Zero) } Else { Return (0x0F) } } } } 

But it changes my controller to AppleUSBXHCIPCI but it stays "enabled" with this SSDT.

What am I doing wrong here?

submitted by /u/tiagoadriao
[link] [comments]