AMD USB Port Custom Mapping Mini Guide.

Gigamaxx

Donator
Donator
Joined
Dec 4, 2020
Messages
106
AMD USB Port Custom Mapping Mini Guide.

This is a basic simple guide to create a custom USBPorts.kext or SSDT for your AMD motherboards. There are other methods like USBMapping.kext etc., but this guide is mainly focused on the USBPorts.kext. It has been pointed ou that all the guides out there are for Intel systems only. I have found that following the basic Intel guides works for me with a few caveats. USBInjectall.kext does not work for AMD systems and is not recommended to be used. The USB HUB controllers are named differently for AMD systems and the use of SSDTs created for Intel systems don't work. USB 2.0 can be spotty, but I have been able to isolate them (some of them) and they work. I have done this on a few motherboards, MSI B550s, Asus B450s, Gigabyte X370, X470, and B550 models. They all have had some level of success and functionality. On some boards all the ports work as desired, others certain ports are deactivated, and ports right next to each other can be hit or miss. The bottom line is this is Hackintosh and AMD systems have different quirks that Intel users don't have to deal with. Mapping your ports can help to eliminate the guessing game as to whether the ports will work correctly or not, they can also determine whether your Bluetoooth or other internal headers function correctly. You should start out with bare basics and remove any Usb fixes you may be using and start from scratch so to speak . Save a copy of your working EFI and it is a good Idea to test this using a USB Installer EFI Partition and if it works for you transfer it to your system EFI. If anyone has any input or recommendations please leave a comment and a link. If there are any device properties rename patches please leave a copy or link.

Getting Started
1. Download the SSDT-EC-USBX-AMD.aml file attached below, it is not the same as the recent version included in the Dortania/Kronokernel guides.

The version included below doesn't compile errors in MacIasl.

SSDT-EC-USBX-AMD-aml.png

The version linked to other guides may have this version which is for Intel based systems and creates errors in macIasl.

SSDT-EC-USBX-AMD-aml BAD.png

The SSDT-EC-USBX-AMD.aml goes in the Open Core/ACPI Folder and must be set in the config.plist to enable it in Open Core. I use Propertree to run the OC Snapshot function as it does it automatically instead of a manual edit.

**Remove any other USB fixes you may have in your EFi like USBInjectall.kext, GenericXHCI.kext, USBMapping.kext etc...

Screen Shot 2021-01-11 at 7.03.29 PM.png

Propertree OC Snapshot

Propertree OC Snapshot 1.png


Propertree OC Snapshot 2.png


2. Download these utilities for creating and editing the USB ports.kext/SSDT. HACKINTOOLheadkaze/Hackintool: The Swiss army knife of vanilla ... - GitHubgithub.com › headkaze › Hackintool, and IORegistry Explorer. utopia-team/IORegistryExplorer: The following repo is ... - GitHubgithub.com › utopia-team › IORegistryExplorer

3. Enable XhciPortLimit in Open Core config.plist Kernels/Quirks section. This may or may not help with port limits.

4. Reboot and check for stability. Open Hackintool and select USB tab. Next open IOARegistry Explorer and scroll down to the PTXH or XHCO sections. Plug in a USB 2.0 drive into one of your Motherboard (back panel) ports and check to find it in IoReg explorer, it will appear as USB 2.0 device in Green text. This means it is live and mounted. Now check Hackintool and check that the locations and functions are the same.

AMD USB IOReg and Hackintool.png

5. Using Hackintool adjust the port type to USB 2.0 if it isn't already. The small up down arrows on the right side of the USB2 label in Hackintool can be used to set correct values. Set Bluetooth or other Internal Hubs to "Internal" as shown.

Screen Shot 2021-01-11 at 7.27.32 PM.png

6. Continue testing the USB 2.0 stick in each port even if it is a Blue 3.0 port or red 3.1 port. These 3.0, 3.1 ports have backward compatibility in most cases and this is important to do so that you have proper power to the 2.0 portion of the physical ports. Next use a USB 3.0 stick and repeat the process and set the ports in Hackintool accordingly. If you have a USB 3.1 type C device use that too and set all ports to their correct values using the arrow tabs. There is a broom to sweep the ports and remove the green filled sections and a refresh tab as well to repopulate them. These can be used in case you make errors and need to start over. If you reset close IOReg app and reopen to refresh the filled in ports.

Note: It is a good idea and most intel guides recommend drawing a map of the front and back panels while doing this mapping. If you can find a picture of yours download it and print if possible and take notes like below. This comes in handy if you want to customize the names of these ports later.

Mobo panel USB 2.0.png

7. Now that you have properly configured your ports its time to save those changes. Use the box with the arrow that points right tab at the bottom of the Hackintool window. It will leave a USBPorts.kext, and other aml and dsl files on the desktop. These can be used in Open Core in ACPI folder for the SSDTs, or the Kexts folder. Make sure to enable these in config.plist as mentioned earlier. Normally, you use the Kext or the SSDTs, but not both.


Hackintool export USBPorts.kext.png

Using the USBPorts.kext is the easiest way to enable and use your ports. If you plan on using the USBX or UIAC aml files make sure to name them SSDT-XXXX-AMD.aml or similar name and include the .aml at the end. The .dsl files need to be saved as or compiled in .aml format. This is normally done using the MacIasl app.
 

Attachments

  • SSDT-EC-USBX-AMD.aml.zip
    1,006 bytes · Views: 177
Last edited by a moderator:

Gigamaxx

Donator
Donator
Joined
Dec 4, 2020
Messages
106
Reserved. Coming soon.

AMD USBPorts.kext Custom Naming.
 
Last edited:

Aluveitie

Donator
Donator
AMD OS X Member
Joined
May 2, 2020
Messages
895
Enabling XhciPortLimit is usually not necessary on AMD as the ports are distributed across 2-3 USB controller and the limit is rarely hit.
 

AudioGod

Guru
Guru
Joined
Nov 7, 2020
Messages
1,386

Sexy Dog

New member
AMD OS X Member
Joined
Jan 16, 2021
Messages
1
my usb drive isn't getting detected in any slots except the usb3 ones, no idea why
pls help
 

taiyuan

New member
AMD OS X Member
Joined
Jan 4, 2021
Messages
4
iShot2021-01-21 20.10.35.png
I don't know why,My computer's USB port is empty, no green or gray
 

DarkSilentSC

Active member
AMD OS X Member
Joined
Jun 4, 2021
Messages
121
Some comments to add (along with things I have learned as I worked)

1. Dorthania’s guide on USB Shutdown fix mentions using Fix Shutdown SSDT - this method is specifically for Intel builds, and is not applicable for AMD builds. Because AMD builds usually involve multiple XHC controllers, trying to find XHC0 and modify .aml file just doesn’t make sense.
2. USBInjectAll.kext does not work on AMD system, as per Dorthania’s guide, so adding this kext to OC doesn’t really do anything.
3. USBMap.kext does not contain any executables, so leave them empty in OC config.plist, or it will not boot.
4. DO create USBX-RHUB.aml using USBMap tool by corpnewt so that the USB port list is reset and re-produced during the boot.
5. Start by creating dummy USBMap.kext generated from USBMap tool by corpnewt, add that to OC conflig.plist, and reboot. This will populate maximum number of unconfigured ports, but it will recognize devices as you connect them.
6. Draw out all USB ports layout, and as you plug USB2 device and USB3 device back and forth and start figure out which port belongs to what USB address.
7. Once map sketch is all figured out, open USBMap.kext config.plist by “Show Packaged Content” in Finder, and open plist using ProperTree
8. Start entering down the USBMap with proper port names (e.g. HS01, SS01, etc.) and port type (e.g. 3,9,255) and save.
9. Reset NVRAM and reboot, and check with hackintool (clear and refresh) and see if the mapping layout is done as you configured.
10. I’m pretty sure XHC1 renaming is not required. I accidentally did it but it didn’t seem to impact anything.
11. ERP had to be disabled at BIOS since it simply could not resolve the waking issue while enabled. Disconnecting a USB device off from PC while powered down finally didn’t start on its own.

Lots of trials and errors, but finally got it and learned lots out of this activity.
 

Moozuki

Active member
AMD OS X Member
Joined
May 3, 2020
Messages
196
4. DO create USBX-RHUB.aml using USBMap tool by corpnewt so that the USB port list is reset and re-produced during the boot.
This is a must with the Gigabyte A520 boards or half your ports will be missing!
 

Nextdoorboy

New member
AMD OS X Member
Joined
Mar 21, 2022
Messages
15
I had shutdown and sleep problem with x570 Master, fixed shutdown/restart issue with dartonia quide, but i heavy modified ssdt for my 4 usb controller.
Now shutdown issue fixed even with erp enabled.
Have USB mapped with usbtoolbox on windows but i suspect it does not work very well and i have titan ridge 2 Thunderbolt AIC with hot-plug ssdt, now sleeps works too, but only wakes from sleep with power button, no keyboard or mause press, i believe when i have correctly mapped usb with usbmap keystroke wake will gonna work too.
This is my ssdt's for example
 

Attachments

  • X570Master TB3Titanridgehotplug+Sleep+Shutdown fixes.zip
    4.3 KB · Views: 12
Last edited:

wardroomacid

New member
AMD OS X Member
Joined
Mar 28, 2023
Messages
6
I had shutdown and sleep problem with x570 Master, fixed shutdown/restart issue with dartonia quide, but i heavy modified ssdt for my 4 usb controller.
Now shutdown issue fixed even with erp enabled. word wipe
Have USB mapped with usbtoolbox on windows but i suspect it does not work very well and i have titan ridge 2 Thunderbolt AIC with hot-plug ssdt, now sleeps works too, but only wakes from sleep with power button, no keyboard or mause press, i believe when i have correctly mapped usb with usbmap keystroke wake will gonna work too.
This is my ssdt's for example
I am also facing same issue. While the shutdown/restart issue was resolved with the help of the dartonia quide, the ssdt for my four USB controllers required extensive modification.
Even with erp enabled, the shutdown problem has been resolved.
 
Top Bottom
  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.