CLOSED_B550 Gigabyte Aorus Pro (Bios: F16f (Aug 09, 2023)) | Ryzen 7 3700X | Sapphire RX5500 XT | USBMapping via SSDT

Fooose

Member
AMD OS X Member
Jul 27, 2020
70
10
8
B550.png

  • Motherboard: Gigabyte B550 Aorus Pro | rev. 1.0
  • Bios: F16f (Aug 09, 2023)
    Major vulnerabilities updates, customers are strongly encouraged to update to this release at the earliest. Credits to "Assaf Carlsbad and Itai Liba from SentinelOne" • Introduce capsule BIOS support starting this version.
  • CPU: Ryzen 7 3700x
  • GPU: Sapphire RX5500 XT
  • RAM: 32 GB 3200
  • Festplatte: M2 1TB
  • Audio Device: ALC 1220
  • macOS Version: 13.3
  • SMBIOS: iMacPro 1.1 macPro7.1
  • OpenCore Version: 0.9.X

Hello, everyone, I finally got my system (Ryzen3700x, B550AorusPro, RX5500XT) up and running - everything works, including (Sound,Bluetooth,CPU_Temp,etc). For all who are not so patient I provide my debug-EFI. Who still has tips and optimizations, can share them with me, especially regarding USB-mapping. So, now have fun!

Best regards Fooose

LAN-Fix-Realtek® 2.5GbE LAN : open Terminal: "sudo ifconfig en0 media 1000baseT mediaopt full-duplex"
Thanks DSM2!
Update to LucyRTL8125Ethernet.kext Vers.(1.1.0d8) -->lan fix no longer required.

Bios: F15 Unfortunately, sleep does not work for me with all versions after F12. Sleep works with SSDT. Thanks to @atanvarno.

Major settings to be changed based on the default optimal settings:

  • deactivate I2C and ESPI (essential to solve the random freeze problem) it must be in BIOS (advanced mode) under Settings -> AMD CBS -> FCH Common Options NEW BiosVersion 14c, no longer necessary
  • if applicable, set PCIe slot to Gen4 instead of Auto (may contribute to a better stability) NEW BiosVersion 14c, no longer necessary
  • enable X.M.P. memory profile
  • disable trusted computing
  • disable wake and boot over LAN
  • enable power loading in Platform Power settings (may contribute to a better stability)
  • setup fan profiles
  • Other relevant default settings:
  • Above 4G Decoding: disabled →enabled (bootoption: ncpi=2000 removed)
  • Resizable BAR support disabled
  • XHCI Hand-off: enabled
  • HPET: enabled
  • CSM support: enabled →disabled
  • BIOS → Advanced Mode → Settings → Re-Size BAR Support, choose “Auto” (from version OC 0.7.5)
  • USB declared via DSDT by https://www.hackintosh-forum.de/user/34281-apfelnico/ (from version OC 0.7.5) until OC 0.8.4
  • USB via SSDT (SSDT-B550-PTXH-TO-XHC2, SSDT-B550-XHC0-TO-XHC) defines.(vers. OC 0.8.5)
here you will find my new configuration.

You can find all my OC releases for my board here on GitHub !
 
Last edited:
How is sleep working on B550?

Btw, why did you rename both USB Controllers to XHC1? This seems counter productive. For X570 you have to rename them to different names to properly map the ports.
 
  • Like
Reactions: Fooose
Thanks for the tip, I guess I don't have enough experience in portmapping. Unfortunately Sleep does not work.
 
Feel free to test these aml files for USB and test all ports + sleep. Based off my X570 map and used another Gigabyte B550 for reference. I'd suggest using a USB with a clone of your EFI with these files included for testing.
 

Attachments

  • Like
Reactions: Fooose
Thanks for your help, your SSDT-XHC is definitely the better one, unfortunately Sleep doesn't work with it either, I only used your two AML files. But I still have to use my SSDT-PTXH, otherwise my Bluetooth won't work.

In the Hackintoll no more USB ports are shown, is that correct ?


Bildschirmfoto 2020-08-11 um 20.05.20.pngBildschirmfoto 2020-08-11 um 20.11.02.png
 
Last edited:
Can you share the output from ioreg and hackintool without your PTXH aml please.
 
  • Like
Reactions: Fooose
Bildschirmfoto 2020-08-11 um 20.32.14.png
 
Try this now. Again without your aml. For reference this is how my USB looks like in Hackintool.

CaPZbTX.png
 

Attachments

  • Like
Reactions: Fooose
Unfortunately your AML has not brought about any change.
I think the adjustment is not working because a mistake has crept in.
I have completely rewritten my PTXH from the DSDT.
Maybe you can find the error, because if I use it, no USB port will be shown in the hackintool.
I uploaded my original DSDT and my new PTXH.
 

Attachments

  • DSDT_OriG.zip
    DSDT_OriG.zip
    11.5 KB · Views: 11
  • Bildschirmfoto 2020-08-12 um 10.08.09.png
    Bildschirmfoto 2020-08-12 um 10.08.09.png
    126.2 KB · Views: 41
  • Bildschirmfoto 2020-08-12 um 11.05.24.png
    Bildschirmfoto 2020-08-12 um 11.05.24.png
    495.6 KB · Views: 48
Try this now. Changed the device path to match your DSDT.
 

Attachments

  • Like
Reactions: alex-k
Try this now. Changed the device path to match your DSDT.
Thank you for your example, but the device path of XHC0 (\_SB.PCI0.GPP1.XHC0) seems to be wrong. Shouldn't it rather be \_SB.PCI0.GP13.XHC0 ? I'm also trying to map USB ports via a kext, but this doesn't seem to be working at all.
 
  • Like
Reactions: Fooose
So I have now taken a new approach and worked through this tutorial.

I also the first success, controller "GP13" can be mapped without problems.
But as soon as I map controller "GPP1", USB is not working anymore.
Slowly I lose my patience and the overview.
 

Attachments

  • Bildschirmfoto 2020-08-12 um 15.44.38.png
    Bildschirmfoto 2020-08-12 um 15.44.38.png
    493.7 KB · Views: 52
  • USBMapKext.zip
    USBMapKext.zip
    6 KB · Views: 16
From what I understand X570 is similar. This is my IOReg, maybe you can try and match it,

Screenshot 2020-08-12 at 23.48.16.png
 
The official dortania usb mapping guide didn't work for me (couldn't manage to inject usb mappings via a kext), so I decided to create a SSDT patch. The port mapping seems to be working, although I don’t have any bluetooth device. I use the attached SSDT along with the SSDT-EC-USBX.aml (and SSDT-CPUR of course).
 

Attachments

  • SSDT-XHC.aml.zip
    SSDT-XHC.aml.zip
    1.2 KB · Views: 18
  • Screenshot 2020-08-12 at 22.38.19.png
    Screenshot 2020-08-12 at 22.38.19.png
    740.8 KB · Views: 50
  • Screenshot 2020-08-12 at 22.49.19.png
    Screenshot 2020-08-12 at 22.49.19.png
    883.2 KB · Views: 54
The official dortania usb mapping guide didn't work for me (couldn't manage to inject usb mappings via a kext), so I decided to create a SSDT patch. The port mapping seems to be working, although I don’t have any bluetooth device. I use the attached SSDT along with the SSDT-EC-USBX.aml (and SSDT-CPUR of course).
Try them both, the SSDT-XHC0.aml should work, only the SSDT-PTXH.aml doesn't want to yet. maybe you have the solution. Good luck!

With the USBMAp you can test if it works for you, as already said GP13(XHC0) works, GPP1(PTXH) does not.
By the way, your SSDT-XHC.aml also works for me as it should!


Finally, I was able to get all the USBPorts folders.
Actually, it's quite simple, with the hackintool.

I use the USBMap.kext and it worked immediately.
I have removed all ports that do not really exist.

It is possible that an internal USB 2 port is still missing (0x0F), I have not checked that yet.

Otherwise I wish you all a lot of fun with the template.
Unfortunately Sleep is still not working.
 

Attachments

  • USBMapKext.zip
    USBMapKext.zip
    4.2 KB · Views: 32
  • Bildschirmfoto 2020-08-13 um 15.02.22.png
    Bildschirmfoto 2020-08-13 um 15.02.22.png
    219.7 KB · Views: 55
Last edited:
Try them both, the SSDT-XHC0.aml should work, only the SSDT-PTXH.aml doesn't want to yet. maybe you have the solution. Good luck!

With the USBMAp you can test if it works for you, as already said GP13(XHC0) works, GPP1(PTXH) does not.
By the way, your SSDT-XHC.aml also works for me as it should!


Finally, I was able to get all the USBPorts folders.
Actually, it's quite simple, with the hackintool.

I use the USBMap.kext and it worked immediately.
I have removed all ports that do not really exist.

It is possible that an internal USB 2 port is still missing (0x0F), I have not checked that yet.

Otherwise I wish you all a lot of fun with the template.
Unfortunately Sleep is still not working.

Thank you for sharing your experience. Injecting USB mappings via a kext actually works fine (made a silly copy/paste mistake on activating the usb mapping kext in config.plist).
I managed to get sleep/wake working stable. I don't use any usb controller renaming/disabling via a SSDT, only the standard SSDT-EC-USBX.aml and USBPorts.kext. Disabling AMDRyzenCPUPowerManagement.kext and SMCAMDProcessor.kext was essential to get sleep working I also experienced worse overall performance with them). If you are interested here is my USBPorts.kext. Actually PTXH worked just perfect (also with sleep) otb without any patching/mapping required for me. USBPorts.kext just injects some naming/mapping properties for XHC0. I will post my success story on a separate thread.
 

Attachments

@alex-k: Thanks for the tip with the "AMDRyzenCPUPowerManagement.kext", which was responsible that Sleep with me did not want. Now everything works. Really great!
 
@Fooose Could you please confirm that your motherboard is B550 AORUS PRO and not B550 AORUS PRO AC version with WiFi and Bluetooth ;)
 
  • Like
Reactions: Fooose
@Miraklez: What kind of question? Yes, I'm sure. I use a pci-e wifi/BT solution.
 
  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.