Contribute
Register

GPP0 instant waking out of sleep. How to disable?

Status
Not open for further replies.
Joined
Sep 25, 2022
Messages
26
Motherboard
Gigabyte B550 Aorus Pro
CPU
Ryzen 5600X
Graphics
Vega 64
I am having trouble with my Hackintosh waking up from sleep immediately after going to sleep. Now in Linux I would just edit the wake up table. However I don't think macOS has one?

I saw some people on MSi boards having trouble with the newer BIOS files, so I rolled back to F12. This doesn't fix the problem however. I am still getting this one:
2022-09-25 12:18:25 +0200 DarkWake DarkWake from Normal Sleep [CDN] : due to GPP0/ Using AC (Charge:0%) 5 secs

I found someone having the same issue and he wrote this guide: https://aplus.rs/2021/hackintosh-sleep-wake/
However I can't get MaciASL to work (getting decompilation error on startup) and I don't know if there is just another way of doing this without all the hassle?

In Ioregistryexplorer I find this:
Screenshot 2022-09-25 at 13.17.31.png


Can't I just try to change acpi-wake-gpe from 0x4 to 0x3 (and how would I go about it)?

Because in the follow section I can't find anything about wake-up properties.


Screenshot 2022-09-25 at 13.20.16.png
 
Do you have a wireless/bluetooth card installed?

If so do you have a USB connection for the BT function?

If so have you done any USB port configuration?
 
Do you have a wireless/bluetooth card installed?

If so do you have a USB connection for the BT function?

If so have you done any USB port configuration?
I have tried removing ALL USB devices (including AIO cooler) and use TeamViewer on my iPhone to set the pc to sleep. Still wakes up. The log gives me the GPP0/ as the culprit. I am not using BT or wireless (also no cards installed), it is disabled as well.

What do you mean with USB port config? I don't think that is the problem, since when I remove all USB devices I still get auto wake. Also, I believe macOS handles up to 15 addresses per controller, I never have more than 12 I believe per controller, certainly not 15+. So there is no need to USB Map. Hence I didn't do it. Also, it maps out GPP1 and GP13. The issue is generated by GPP0. At least that is who is giving the wakeup call.

I also tried editing my DSDT and changing all 0x04 Wake up values to 0x03 (like in the link I gave, where the guy did it automated, I changed them all manually...). Doesn't work either.
 
What do you mean with USB port config? I don't think that is the problem, since when I remove all USB devices I still get auto wake. Also, I believe macOS handles up to 15 addresses per controller, I never have more than 12 I believe per controller, certainly not 15+. So there is no need to USB Map.

Okay. But although you dismiss my questions, you should still consider that not all of your USB ports are exactly the same - some are Internal, some are USB3, USB2, perhaps Type-C. You might have addressable LED lighting on the motherboard which is controlled through an Internal USB port ... There is a variable called "UsbConnector type" to properly pass the information to macOS. Getting that wrong can cause USB polling to wake the system immediately.

You do not believe this is the case, I understand.
 
Okay. But although you dismiss my questions, you should still consider that not all of your USB ports are exactly the same - some are Internal, some are USB3, USB2, perhaps Type-C. You might have addressable LED lighting on the motherboard which is controlled through an Internal USB port ... There is a variable called "UsbConnector type" to properly pass the information to macOS. Getting that wrong can cause USB polling to wake the system immediately.

You do not believe this is the case, I understand.
True, I will give it a shot :)

However, I did address your question with: What do you mean with USB port config? hahaha.
I don't understand the question exactly ;)
 
True, I will give it a shot :)

However, I did address your question with: What do you mean with USB port config? hahaha.
I don't understand the question exactly ;)
 
Okay. But although you dismiss my questions, you should still consider that not all of your USB ports are exactly the same - some are Internal, some are USB3, USB2, perhaps Type-C. You might have addressable LED lighting on the motherboard which is controlled through an Internal USB port ... There is a variable called "UsbConnector type" to properly pass the information to macOS. Getting that wrong can cause USB polling to wake the system immediately.

You do not believe this is the case, I understand.

Thank you guys! :)
After searching a bit in Hackintool I think I found the culprit:
GPP0 points to the Starship/Matisse PCI Bridge, which has 1 device behind it: NVMe SSD Controller PM9A1/PM9A3/980PRO (Samsung 980PRO M.2 SSD).

I don't see GPP0 correlate to a device anywhere else, so I believe this is the baddie. Does that ring a bell with you guys for a fix? I will do the USB config anyway, tomorrow, but maybe this gives us another direction as well?

EDIT: I did the USB config. I used Hackintool and mapped out my USB slots. I deleted some to get back to 15 slots. Exported it and chose the kext method to change it (was easiest since I already had a USBMap.kext linked in config.plist, just had to swap out the files this way :) ). Rebooted. Nothing changed. Still same issue :) So at least we can rule that out for sure right? :)
 
Last edited:
The normal issue with a Samsung M.2 drive is Trim being borked in recent versions of macOS. It doesn't normally cause unexpected reboots or instant wake from shutdown/sleep.

The issues you are seeing are normally caused by power calls on USB ports/devices. Do any of the USB ports on your system work through the Matisse PCI Bridge?

Post a copy of your USBPorts.kext so we can see what you have created, as making a mistake in the setting of connector types for USB ports is very easy to do.

Most common issue is setting Internal motherboard header ports being set as USB2 (0), when they should be set as Internal (255).

Next most common issue is setting USB2 ports served from a physical USB3 port as USB2 (0), when they should be set to match the physical port, i.e. USB3 (3).

So you saying you have created a custom USBPorts.kext, while good, is not an indication that you have solved any USB issues.
 
Last edited:
The normal issue with a Samsung M.2 drive is Trim being borked in recent versions of macOS. It doesn't normally cause unexpected reboots or instant wake from shutdown/sleep.

The issues you are seeing are normally caused by power calls on USB ports/devices. Do any of the USB ports on your system work through the Matisse PCI Bridge?

Post a copy of your USBPorts.kext so we can see what you have created, as making a mistake in the setting of connector types for USB ports is very easy to do.

Most common issue is setting Internal motherboard header ports being set as USB2 (0), when they should be set as Internal (255).

Next most common issue is setting USB2 ports served from a physical USB3 port as USB2 (0), when they should be set to match the physical port, i.e. USB3 (3).

So you saying you have created a custom USBPorts.kext, while good, is not an indication that you have solved any USB issues.

Yes, the other funny thing is that my 970 EVO is all a Samsung M.2 Drive and it's not doing the wakeup calls. It's just the 980 PRO, or maybe I don't see them yet since the GPP0 is first ;). The 980 PRO on the GPP0 address is connection straight to the CPU in the M2A_CPU M.2 socket (over Matisse Bridge.) There are 4 USB 3.2 ports connected to the CPU as well. However they all have different addresses, GPP0 is only referring to the M2A_CPU M.2 Socket. ALL USB addressed as XHC0 controller are also on the Matisse Bridge. The rest is run through the SB (SouthBridge, PTXH).

1664216166135.png

Ill post some pictures to give you a complete image of how my USB Lay out is set up:

1664218572048.png


1664220102071.png


I disabled HS01/SS01 on XHC0 since that is my BIOS Q flash port and I never use it anyway.
Then I also disabled HS02/SS02 on PTXH (on the back) as its a USB3.2 A port and I never use it, only the C port occasionally next to it and it saved me 2 positions. Then I also disabled HS07 and HS05 since I NEVER managed to get them activated in ANY case. I tried everything. They have no USB3.0 counterpart (SS05/SS07) so I guess it's an intern header for f.e. AiO Watercooler and the other one is an unused port anyhow, so I disabled them both.


And now the mapping is attached. Here is an image from Hackintool to make it easier:

1664219894451.png
 

Attachments

  • 1664218709096.png
    1664218709096.png
    77.4 KB · Views: 30
  • Info.plist
    5.9 KB · Views: 31
First, you are not making best use of the USB ports and controllers available on your system.

You have 2 x USB controllers, PTXH & XHC0, so you can have 15 ports on each controller. You do not need to limit your system to 15 ports in total.

The next issue is you have PTXH SS03 and SS04 set with the connector Type 'Internal'. This is wrong. If they are USB3 ports, which the 'SSxx' nomenclature indicates, then they should be set as USB3, not Internal. If they are from a USB3 header, they need to be set as USB3, as do the 2 x USB2 companion ports.

You only have 1 x Type-C port identified, PTXH SS02. There should be a companion port (USB2) that is also set as Type-c+sw.

I am not sure how the other ports should be set, as but with the above errors your USB configuration will not work correctly in macOS.

Your motherboard has the following USB ports:

CPU:​
3 x USB 3.2 Gen 1 ports on the back panel​
1 x USB 3.2 Gen 2 Type-A port (red) on the back panel​
Chipset:​
1 x USB Type-C™ port on the back panel, with USB 3.2 Gen 2 support​
1 x USB 3.2 Gen 2 Type-A port (red) on the back panel​
2 x USB 3.2 Gen 1 ports available through the internal USB header​
2 x USB 2.0/1.1 ports on the back panel​
Chipset+2 USB 2.0 Hubs:​
8 x USB 2.0/1.1 ports (4 ports on the back panel, 4 ports available through the internal USB headers)​

Based on this information you should have the following ports available.
  • 6 x USB2 physical ports, set with connector type USB2 (0)
  • 4 x USB2 Internal header ports, set with connector type Internal (255)
  • 5 x USB3 (3.2) physical ports, set with connector type USB3 (3)
  • 5 x USB2 virtual ports (from the physical ports above), set with connector type USB3 (3)
  • 2 x USB3 ports (from the Internal USB3 header), set with connector type USB3 (3)
  • 2 x USB2 ports (from the Internal USB3 header), set with connector type USB3 (3)
  • 1 x Type-c port (USB3+), set with connector type Type-c+sw
  • 1 x Type-c port (USB2), set with connector type Type-c+sw
This gives a maximum of 26 ports, if they were all to be used. Depending on how they are split between the 2 controllers will say whether you can use all 26 ports or not.

I would recommend you remove your current USBPorts.kext and start again with the USB port discovery. Keeping the above information in mind when you do so.

You might also want to make use of the comments column in Hackintool > USB tab, it can be very helpful when it comes to troubleshooting any issues. As shown in the example screenshot below.

Screenshot 2022-09-26 at 21.01.31.png
 
Status
Not open for further replies.
Back
Top