Contribute
Register

Gigabyte B550 Vision D (Thunderbolt 3) + AMD Ryzen 7 3700X + AMD RX 5600 XT

Happy to report I recently managed to install Sonoma Public Beta on the B550 Vision D.
Turns out I needed to disable Secure Boot in OC as well as NVMeFix.kext.
 
Happy to report I recently managed to install Sonoma Public Beta on the B550 Vision D.
Turns out I needed to disable Secure Boot in OC as well as NVMeFix.kext.
On my Asus X670E Gene I was able to install Sonoma without disabling SecureBootModel. However, I did disable NVMeFix.kext. Haven't installed Sonoma on my B550 Vision D yet, but that's on my to-do list.
 
Not sure what else to suggest at this point. But here are 2 options:

Option 1:
Diagram all of the USB ports. This can be done by disabling the existing USB SSDTs and USB Kext, then rebooting. Then insert a USB 2.x device into each port one by one and use IORegistryExplorer to determine where that device connected (and write it down), then repeat the process with a USB 3.x device.

Based on this I can determine if any additional changes need to be made to USB port map.

Option 2:
Disable all of the Ethernet kexts. Reboot and test sleep/wake.

Hi Casey, pardon for a delay with answer.
Got it done via USBToolbox on pure Windows (without OC loaded) and did a port mapping kext (attached).
AMD USB 3.10 eXtensible Host Controller - 1.10 (Microsoft) | USB 3.0 (XHCI) | 12/14 ports
[#] 1. Port 1 | USB 3.0 | Type C - with switch | Companion to 5
FUSBC3
- External - operating at USB 3.0
[#] 2. Port 2 | USB 3.0 | USB 3 Type A | Companion to 6
USB32_bottom_red
- Mass Storage Device - operating at USB 3.0
[ ] 3. Port 3 | USB 3.0 | Internal | Companion to 7
[#] 4. Port 4 | USB 3.0 | USB 3 Type A | Companion to 8

FUSB3
- Mass Storage Device - operating at USB 3.0
[#] 5. Port 5 | USB 2.0 | Type C - with switch | Companion to 1
USB32_top_red
- USB2.0 Hub - operating at USB 2.0
- PQI USB Flash Drive - operating at USB 2.0
- Generic Billboard Device - operating at USB 2.0
- Mass Storage Device - operating at USB 2.0
[#] 6. Port 6 | USB 2.0 | USB 3 Type A | Companion to 2
USB3_blue
- PQI USB Flash Drive - operating at USB 2.0
[ ] 7. Port 7 | USB 2.0 | Internal | Companion to 3
USB3_bottom_blue
[#] 8. Port 8 | USB 2.0 | USB 3 Type A | Companion to 4
USB3_top_blue
- PQI USB Flash Drive - operating at USB 2.0
[#] 9. Port 9 | USB 2.0 | Type A
USB2_black
- PQI USB Flash Drive - operating at USB 2.0
- Mass Storage Device - operating at USB 2.0
[#] 10. Port 10 | USB 2.0 | Type A
USB2_QFLASH_black
- USB2.0 Hub - operating at USB 2.0
- Intel(R) Wireless Bluetooth(R) - operating at USB 1.1
- PQI USB Flash Drive - operating at USB 2.0
- Mass Storage Device - operating at USB 2.0
[#] 11. Port 11 | USB 2.0 | Internal
- ITE Device - operating at USB 1.1
[#] 12. Port 12 | USB 2.0 | Type C - with switch
USB32_TB_bottom
- USB2.0 Hub - operating at USB 2.0
- PQI USB Flash Drive - operating at USB 2.0
- Generic Billboard Device - operating at USB 2.0
- USB2.0 HUB - operating at USB 2.0
- Logitech Webcam C925e - operating at USB 2.0
- USB Receiver - operating at USB 1.1
- Unknown Device - operating at USB 1.1
[#] 13. Port 13 | USB 2.0 | Type C - with switch
USB32_TB_top
- USB2.0 HUB - operating at USB 2.0
- Logitech Webcam C925e - operating at USB 2.0
- USB Receiver - operating at USB 1.1
- USB Receiver - operating at USB 1.1
- Unknown Device - operating at USB 1.1
- USB2.0 Hub - operating at USB 2.0
- Generic Billboard Device - operating at USB 2.0
[#] 14. Port 14 | USB 2.0 | Type A
FUSB2_hub
- USB2.0 Hub - operating at USB 2.0
- PQI USB Flash Drive - operating at USB 2.0
- Mass Storage Device - operating at USB 2.0


AMD USB 3.10 eXtensible Host Controller - 1.10 (Microsoft) | USB 3.0 (XHCI) | 8/8 ports
[#] 15. Port 1 | USB 2.0 | USB 3 Type A | Companion to 19
- PQI USB Flash Drive - operating at USB 2.0
[#] 16. Port 2 | USB 2.0 | USB 3 Type A | Companion to 20
- PQI USB Flash Drive - operating at USB 2.0
[#] 17. Port 3 | USB 2.0 | USB 3 Type A | Companion to 21
- PQI USB Flash Drive - operating at USB 2.0
[#] 18. Port 4 | USB 2.0 | USB 3 Type A | Companion to 22
- PQI USB Flash Drive - operating at USB 2.0
[#] 19. Port 5 | USB 3.0 | USB 3 Type A | Companion to 15
- Mass Storage Device - operating at USB 3.0
[#] 20. Port 6 | USB 3.0 | USB 3 Type A | Companion to 16
- Mass Storage Device - operating at USB 3.0
[#] 21. Port 7 | USB 3.0 | USB 3 Type A | Companion to 17
- Mass Storage Device - operating at USB 3.0
[#] 22. Port 8 | USB 3.0 | USB 3 Type A | Companion to 18
- Mass Storage Device - operating at USB 3.0


Intel(R) USB 3.1 eXtensible Host Controller - 1.10 (Microsoft) | USB 3.0 (XHCI) | 4/4 ports
[#] 23. Port 1 | USB 2.0 | Type C - with switch | Companion to 25
[#] 24. Port 2 | USB 2.0 | Type C - with switch | Companion to 26
[#] 25. Port 3 | USB 3.0 | Type C - with switch | Companion to 23

USB32_TB_top
- External - operating at USB 3.1 Gen 2
[#] 26. Port 4 | USB 3.0 | Type C - with switch | Companion to 24
USB32_TB_bottom
- External - operating at USB 3.1 Gen 2


Binding companions is currently on.

Tested all ports, except two motherboard internal headers F_USB1 and F_USB2. Most likely they are ports #3 and #7 in the list.

PQI USB Flash Drive - USB2.0 device USB-A
Mass Storage Device - USB3.0 device USB-A
External - USB3.1 Gen2 device USB-C

Please let me know if I had to do different testing, in Hackintool for example.
 

Attachments

  • UTBMap.kext.zip
    1.4 KB · Views: 20
Last edited:
Hi @CaseySJ,

Another Vision D-P user here. Thank you for all your guidance! This has been so incredibly helpful to follow this thread and get my system running.

I may be able to add some more info on the Vision D-P sleep issues, however, I don't know what action to take to resolve.

So when I use MaciASL to view the DSDT info, I see that the USB ports do all seem fairly accurate (after your recent updated ACPI and Kernel files you just posed on Jul 2. It seems generally the PTXH/RHUB in MaciASL matches the XHC2 tree in iORegisteryExplorer. The only one that doesn't match is POT7 should be PO7, I think?

However for PT21, PT22, PT23 etc. I am seeing these as NOT matching between the DSDT and in iORegisteryExplorer (they are missing). In particular the PT23 (DSDT) is different than the PT24 (iORegistery). See the output of the PCI0.GPP1 tree from MaciASL vs the screenshot from iORegisteryExplorer.

For my system, the wake is happening on "PT23". So I wonder if one of the LAN ports is doing something, but iORegister doesn't see it as a LAN call, so wakes up? Both of the LAN ports are fully functioning as-is.

Code:
2023-08-22 08:26:10 -0600 Wake                    DarkWake to FullWake from Invalid [CDNVA] : due to HID Activity Using AC (Charge:0%) 104 secs
2023-08-22 08:27:54 -0600 Sleep                   Entering Sleep state due to 'Software Sleep pid=178':TCPKeepAlive=disabled Using AC (Charge:0%) 40 secs 
2023-08-22 08:28:34 -0600 DarkWake                DarkWake from Normal Sleep [CDN] : due to PT23/ Using AC (Charge:0%) 12 secs 
2023-08-22 08:28:46 -0600 Wake                    DarkWake to FullWake from Normal Sleep [CDNVA] : due to HID Activity Using AC (Charge:0%)

PCI0.GPP1 tree from MaciASL:
Code:
Scope (\_SB.PCI0.GPP1)
    {
        Device (PTXH)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
            {
                Return (Package (0x02)
                {
                    0x08,
                    0x04
                })
            }

            Device (RHUB)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Device (POT1)
                {
                    Name (_ADR, One)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        0x0A,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x5,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (POT5)
                {
                    Name (_ADR, 0x05)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        0x0A,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x5,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (POT2)
                {
                    Name (_ADR, 0x02)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        0x0A,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "CENTER",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x6,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (POT6)
                {
                    Name (_ADR, 0x06)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        0x0A,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "CENTER",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x6,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (POT3)
                {
                    Name (_ADR, 0x03)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        0x03,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "CENTER",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x3,
                            PLD_GroupPosition      = 0x3,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (PO7)
                {
                    Name (_ADR, 0x07)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        Zero,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "CENTER",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x3,
                            PLD_GroupPosition      = 0x3,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (POT4)
                {
                    Name (_ADR, 0x04)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        0x03,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "CENTER",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x3,
                            PLD_GroupPosition      = 0x9,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (POT8)
                {
                    Name (_ADR, 0x08)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        Zero,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "CENTER",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x3,
                            PLD_GroupPosition      = 0x9,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (PO9)
                {
                    Name (_ADR, 0x09)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        Zero,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "RIGHT",
                            PLD_VerticalPosition   = "UPPER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x1,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (PO10)
                {
                    Name (_ADR, 0x0A)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        Zero,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "RIGHT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "VERTICALRECTANGLE",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x2,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (PO11)
                {
                    Name (_ADR, 0x0B)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        Zero,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "RIGHT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "LEFT",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x7,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (PO12)
                {
                    Name (_ADR, 0x0C)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        Zero,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "RIGHT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "CENTER",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x8,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (PO13)
                {
                    Name (_ADR, 0x0D)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        0xFF,
                        Zero,
                        Zero,
                        Zero
                    })
                    Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                    {
                        ToPLD (
                            PLD_Revision           = 0x2,
                            PLD_IgnoreColor        = 0x1,
                            PLD_Red                = 0x0,
                            PLD_Green              = 0x0,
                            PLD_Blue               = 0x0,
                            PLD_Width              = 0x0,
                            PLD_Height             = 0x0,
                            PLD_UserVisible        = 0x1,
                            PLD_Dock               = 0x0,
                            PLD_Lid                = 0x0,
                            PLD_Panel              = "LEFT",
                            PLD_VerticalPosition   = "LOWER",
                            PLD_HorizontalPosition = "CENTER",
                            PLD_Shape              = "UNKNOWN",
                            PLD_GroupOrientation   = 0x0,
                            PLD_GroupToken         = 0x1,
                            PLD_GroupPosition      = 0x9,
                            PLD_Bay                = 0x0,
                            PLD_Ejectable          = 0x1,
                            PLD_EjectRequired      = 0x0,
                            PLD_CabinetNumber      = 0x0,
                            PLD_CardCageNumber     = 0x0,
                            PLD_Reference          = 0x0,
                            PLD_Rotation           = 0x0,
                            PLD_Order              = 0x0,
                            PLD_VerticalOffset     = 0xFFFF,
                            PLD_HorizontalOffset   = 0xFFFF)

                    })
                }

                Device (PO14)
                {
                    Name (_ADR, 0x0E)  // _ADR: Address
                    Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                    {
                        Zero,
                        0xFF,
                        Zero,
                        Zero
                    })
                }
            }
        }

        Device (PT01)
        {
            Name (_ADR, One)  // _ADR: Address
        }

        Device (PT02)
        {
            Name (_ADR, 0x02)  // _ADR: Address
            Device (PT20)
            {
                Name (_ADR, Zero)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x14,
                        0x04
                    })
                }
            }

            Device (PT21)
            {
                Name (_ADR, 0x00010000)  // _ADR: Address
            }

            Device (PT22)
            {
                Name (_ADR, 0x00020000)  // _ADR: Address
            }

            Device (PT23)
            {
                Name (_ADR, 0x00030000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x08,
                        0x04
                    })
                }

                Device (LAN)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                }
            }

            Device (PT24)
            {
                Name (_ADR, 0x00040000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x14,
                        0x04
                    })
                }
            }

            Device (PT25)
            {
                Name (_ADR, 0x00050000)  // _ADR: Address
            }

            Device (PT26)
            {
                Name (_ADR, 0x00060000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x02,
                        0x04
                    })
                }
            }

            Device (PT27)
            {
                Name (_ADR, 0x00070000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x02,
                        0x04
                    })
                }
            }

            Device (PT28)
            {
                Name (_ADR, 0x00080000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x0D,
                        0x04
                    })
                }

                Device (LAN)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                }

                Device (COM1)
                {
                    Name (_ADR, One)  // _ADR: Address
                }

                Device (COM2)
                {
                    Name (_ADR, 0x02)  // _ADR: Address
                }

                Device (IPM)
                {
                    Name (_ADR, 0x03)  // _ADR: Address
                }

                Device (USB)
                {
                    Name (_ADR, 0x04)  // _ADR: Address
                }
            }

            Device (PT29)
            {
                Name (_ADR, 0x00090000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x02,
                        0x04
                    })
                }

                Device (WLAN)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Name (_S0W, 0x04)  // _S0W: S0 Device Wake State
                }
            }
        }
    }
 

Attachments

  • iORegisteryExplorer Output Vision D-P.png
    iORegisteryExplorer Output Vision D-P.png
    680.3 KB · Views: 22
Last edited:
Also, @cccip, @CaseySJ, I just remembered something else.

For me this issue has existed even on Ubuntu, where the machine will not go to sleep and stay sleeping. I had to put in hibernate.

So I did a bit of digging and I found a few threads elsewhere where gigabyte’s BIOS update F13 and beyond introducing the immediate wake on sleep issue on other B550 motherboards. My machine is on F15a.

So tomorrow I will try downgrading my BIOS to F12 and see if the issue persists. Wish me luck!
 
Last edited by a moderator:
Alright another update after downgrading to firmware F12 on Vision D-P.

The immediate wake from sleep issue still persists in Ubuntu AND with OpenCore/Ventura (13.5.1).

HOWEVER, I checked MaciASL again to see if anything changes in the DSDT... lo and behold a change!

Code:
            Device (PT23)
            {
                Name (_ADR, 0x00030000)  // _ADR: Address
            }

            Device (PT24)
            {
                Name (_ADR, 0x00040000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x14,
                        0x04
                    })
                }
            }

So while the immediate wake from sleep is happening, we have a different log from `pmset -g log | grep -e "Sleep.*due to" -e "Wake.*due to"`

Code:
2023-08-23 12:16:27 -0600 Sleep                   Entering Sleep state due to 'Maintenance Sleep':TCPKeepAlive=disabled Using AC (Charge:0%) 1 secs
2023-08-23 12:16:28 -0600 DarkWake                DarkWake from Normal Sleep [CDN] : due to SWUS SWDS XHC2/HID Activity Using AC (Charge:0%) 1 secs
2023-08-23 12:16:29 -0600 Wake                    DarkWake to FullWake from Normal Sleep [CDNVA] : due to UserActivity Assertion Using AC (Charge:0%)

SWUS SWDS are all associated with the graphics card, but there are some USB Controllers there I think "com.apple.driver.usb.AppleUSBXHCIPCI". Of course! Because the AMD Radeon 6800XT has a built in USB-C port... Not sure if this may be what is causing the wake?

While XHC2 is a controller for many USB ports, one is suspicious to me: ITE Device on PO11. I can't seem to light it up when I plug things into each port. Some research indicates ITE Device might be RGB controller.
 

Attachments

  • AMD USB.png
    AMD USB.png
    679.8 KB · Views: 26
Yes the ITE device is the on-board RGB controller.
 
Also, @cccip, @CaseySJ, I just remembered something else.

For me this issue has existed even on Ubuntu, where the machine will not go to sleep and stay sleeping. I had to put in hibernate.

So I did a bit of digging and I found a few threads elsewhere where gigabyte’s BIOS update F13 and beyond introducing the immediate wake on sleep issue on other B550 motherboards. My machine is on F15a.

So tomorrow I will try downgrading my BIOS to F12 and see if the issue persists. Wish me luck!
I had a downgrade few months back and got another issue where USB1.1 devices (keyboard/mouse) stopped working while USB2/3 devices had no issues. Others had ResBAR disabled

ITE device you saw is internal RGB LED controller.

PS. My XFX6800XT doesn’t have a USB port :)
 
Last edited:
Okay so, more experimentation. I upgraded to F16e and am now getting exact same logs as @cccip

But I went to Ubuntu to track down what was going on there. With B550 Gigabyte boards there are many threads all over the web about instant wake on suspend (aka “sleep”).

Most everyone having this issue isolates down to GPP0 being the culprit and I was able to solve the instant wake on my system in Ubuntu by disabling wake events from GPP0:
Code:
sudo /bin/sh -c '/bin/echo GPP0 > /proc/acpi/wakeup'

Using the SSDT-DISABLE-GPP0.aml that was posted earlier only moves the wake source to "SWUS SWDS XHC2".

I exported DSDT from Linux and it's the same as what is read in MacOS on this machine. In particular there are 4 PRW definitions that I believe are causing the wake issue.

Ideally we could override the _PRW methods on GPP0, PT21, PT22, PT23, but when I try to create a custom SSDT with PRW method overrides they do not seem to do anything.

GPP0:
Code:
            Device (GPP0)
            {
                Name (_ADR, 0x00010001)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (GPRW (0x04, 0x04)) // <<------- HERE! Fix would be to change to (0x09, 0x04)
                }

                // etc etc ...
            }

PT21, 22, 23
Code:
            Device (PT21)
            {
                Name (_ADR, 0x00010000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x08,
                        0x04
                    }) <<--------- HERE Return {0x09, 0x04} instead
                }
            }

            Device (PT22)
            {
                Name (_ADR, 0x00020000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x08,
                        0x04
                    }) <<--------- HERE Return {0x09, 0x04} instead
                }
            }

            Device (PT23)
            {
                Name (_ADR, 0x00030000)  // _ADR: Address
                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    Return (Package (0x02)
                    {
                        0x08,
                        0x04
                    }) <<--------- HERE Return {0x09, 0x04} instead
                }
                ...
            }

@CaseySJ, is there any way to patch (hot patch?) the _PRW methods in DSDT? I've seen some examples of patching PRW return values, but this doesn't seem to work with SSDT AML files + OpenCore config.plist at ACPI -> Add. Maybe I'm doing something wrong or am being naive about it. Do I need to create a binary patch?
 
Last edited:
@CaseySJ

eg. here is an example of something I tried. I compiled to SSDT and included in my config.plist, but no luck

The idea here is to override the PRW return values to point to 09 (non-defined GPE). But does not work.
 

Attachments

  • SSDT-FIX-PT21-22-23-GPP0.dsl
    1,013 bytes · Views: 18
Back
Top