AMD USB Port Custom Mapping Mini Guide.

Gigamaxx

Donator
Donator
Joined
Dec 4, 2020
Messages
103
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: 79
Last edited by a moderator:

Gigamaxx

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

AMD USBPorts.kext Custom Naming.
 
Last edited:

Aluveitie

Donator
Donator
Joined
May 2, 2020
Messages
655
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,243
As a second option and also a very simple way.
You can also use this neat little script to map your USB ports and make it super easy for all those non technical people.

Its works like a charm.
 

Sexy Dog

New 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
 
Top Bottom