Jump to content

1 post in this topic

Recommended Posts

USB port mapping on the Z390 Aorus Elite motherboard so that they do not exceed the limit imposed by macOS Catalina (15 ports). Setting the type of each port so that it works at the correct speed. Following the method proposed in the help integrated in headkaze Hackintool app.

Note: USB2 ports are referred as HSxx (HighSpeed) and USB3 as SS (SuperSpeed). Onboard USB2 hubs are shown as PRxx or USRxx.

macOS Catalina by design only can handle 15 USB ports maximum. No Mac exceeds or even comes close to that number but any motherboard we use to build a Hackintosh exceeds that number. For example, my Z390 Aorus Elite board comes with 4 USB2 ports + 1 USB3 Type-C port + 7 USB3 ports + 2 USB2 hubs. To count the ports, you have to know that that each USB2 port counts as 1 but each USB3 port (classic or type C) counts as 2, the USB2 part and the USB3 part. So my board comes with 14 USB3 ports (7 USB3 + 7 USB2) + 3 USB2 ports + 2 Type-C ports (1 USB3 + 1 USB2) + 2 USB2 hubs, total 21 ports. You can let the system work like this, but it is most likely that some ports do not work well or do not work at the appropriate speed and even that this affects other functions such as boot or sleep.

RehabMan has an extension, USBInjectAll.kext, which used in conjunction with the patch, written by pmheart and others, which removes the 15-port limit (Port-Limit Removal Patch, PLRP onwards), allows loading all ports on the motherboard however high their number is. Some users use their system with this configuration for the convenience of having all the ports on the board active but it is an unstable configuration intended only to work during port mapping but not permanently. USBInjectAll together with PLRP are the most widely used option to configure and mapping ports up to the number at 15 with their right speeds. To follow this method there is an excellent guide from UtterDisbelief titled "The New Beginner's Guide to USB Port Configuration".

In this article I am going to comment on another method, the one proposed in the Hackintool help instructions that, although it uses USBInjectAll, instead it does not use PLRP but commands included in USBInjectAll to exclude groups of ports at startup so that we can boot only with USB2 or USB3 active and assign ports to each of the 2 groups separately.


Thanks to headkaze, Rehabman, pmheart, UtterDisbelief and others who make these modifications possible.

Prerequisite: this board has the "Canon Lake PCH USB 3.1 xHCI" controller with device identifier A36D (8086: A36D) so it requires XHCI-unsupported.kext installed for the driver to be well recognized.

1. USBInjectAll

Copy the USBInjectAll extension to the EFI / CLOVER / kexts / Other folder. USBInjectAll requires that we have in Clover> DSDT some patches to rename XHCI to XHC / XHC1 to XHC / EHC1 to EH01 / EHC2 to EH02. From Skylake onwards there are no EHCI controllers so in my system (Coffee Lake) this change is not necessary. It is also not required to rename XHC1 to XHC. The only change that can be useful is the one from XHCI to XHC although I have tried with and without it and have observed no differences. To rename XHCI to XHC, add these lines in the DSDT> Patches section:

                    <string>change XHCI to XHC</string>

Then you have to restart.

2. Hackintool

In the USB tab, you have to write down the ports in which you have the mouse and keyboard permanently connected and perhaps the bluetooth (for example HS11, HS12 and HS13 in my case). Select all the ports, press the Delete button and then the Refresh button that will fill the list of ports with all those detected by the tool, without limit.

In Clover Configurator> Boot> Boot Arguments add this command so that, when booting, the USB3 ports are discarded but the ones we have noted for keyboard, mouse, etc are included:

-uia_exclude_ss uia_include=HS11,HS12,HS13

Then you have to restart.

Go back to Hackintool> USB tab. A USB2 device must be plugged and unplugged on each of the ports on the board. When finished, active ports are highlighted in green. Select the ones that are NOT highlighted in green and press the Delete button.

In Clover Configurator> Boot> Boot Arguments delete the command added in the previous step and add this command so that when booting the USB2 ports are discarded but the ones we have noted for keyboard, mouse, etc. are included:

-uia_exclude_hs uia_include=HS11,HS12,HS13

Then you have to restart.

Go back to Hackintool> USB tab. A USB3 device must be plugged and unplugged on each of the ports on the board. If you use the Type C connector you also have to connect a Type C device in that port, remember to connect it both ways. When finished, active ports are highlighted in green. Select the ones that are NOT highlighted in green and press the Delete button.

In the list that we have now completed, it is the turn to assign the appropriate connector type to each port:

  • ports that have a permanently connected device (ex: bluetooth) are set to "Internal"
  • HS ports connected to USB3 ports are set as "USB3"
  • SS ports are set as "USB3"
  • the Type C port can use identical HSxx / SSxx in both directions, in which case it is set as "TypeC + Sw" but if it uses different HSxx / SSxx in each orientation, it is set as "TypeC ".

If the number of elements in the list is greater than 15, you have to choose ports to discard. To stay at number 15, I have deleted the HS03 and HS04 (USB2) ports from the red rear connectors so they will only recognize USB3 devices.




Click on the Export button to generate on the Desktop some files from which we are going to take 3: SSDT-EC-USBX.aml, SSDT-UIAC.aml and USBPorts.kext. The .aml files must be copied to the EFI / CLOVER / ACPI / patched folder and the extension to the EFI / CLOVER / kexts / Other folder. In theory the USBPorts.kext extension and the SSDT-UIAC.aml file are redundant and both perform the same modification from different places, but in practice it has been better for me to use both.

In Clover Configurator> Boot> Boot Arguments delete the added command to exclude ports and also delete the USBInjectAll.kext extension.

Then you have to restart.

Go back to Hackintool> USB tab. Select all the items that appear in the list of ports, press the Delete button and then the Refresh button to load the current configuration. Here you can check that everything works correctly. If you need to make corrections, you have to export the files again and replace the existing ones.


Last picture shows the ports on my Z390 Aorus Elite board. Modified from an original of u/afchvs en Reddit.





Perfil del sistema.png

Edited by miliuco

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.


  • Similar Content

    • By miliuco
      macOS Catalina on: Gigabyte Z390 Aorus Elite motherboard + i3 9100 Coffee Lake processor + AMD Radeon RX 580 graphics card + fenvi FV-T919 WIFI and Bluetooth card + Clover r5121 + AppleALC, Lilu, VirtualSMC, XHCI-unsupported, IntelMausiEthernet, USBPorts and WhateverGreen.

      Gigabyte Z390 Aorus Elite motherboard: support for Intel 8 and 9 generation processors, Realtek ALC1220 audio, Intel I219V Ethernet, 4 PCI-E slots, 2, 3 and 3.1 USB ports, Intel Graphics 630 integrated graphics card 9th generation Intel i3 9100 processor Nox Hummer H-212 120mm CPU Fan Corsair Vengeance LPX 3200 MHz 16 GB RAM (2 x 8) AMD Radeon RX 580 8GB graphics card Wifi and Bluetooth Card Fenvi FV-T919 Mars Gaming MPII850 Power Supply (850W) Samsung EVO 860 SSD disk.
        What works well?

      Pretty much everything I've tried:
      Radeon RX 580: 3 DP ports and 1 HDMI port, output to 2 displays simultaneously Shutdown, reboot and sleep Integrated sound and HDMI sound output USB ports (2, 3 and 3.1) Enable TRIM for SSD drive AirDrop, Sidecar, etc.
        What is not working well?

      Integrated Intel UHD Graphics 630 card: see below.

      BIOS settings (version F9)

      I only write down the significant options, there are many other options that do not influence macOS and that you can configure to your liking (for example the LEDs on the board, etc.).
      XMP Profile: Auto / Profile 1 / Enabled (eXtreme Memory Profile, I use 3200 MHz memory and without this profile it works at 2600) Platform Power Management: Disabled VT-d: Disabled XHCI Hand-Off: Enabled Legacy USB Support: Enabled Network Stack: Disabled CSM: Disabled Secure Boot: Disabled Fast Boot: Disabled OS Type: Other OS Wake on LAN: Disabled Integrated Graphics: Auto Initial Display Output: PCIe 1 Slot DVMT Pre-Allocated: 256M or higher.
        EFI folder for Clover (installation USB stick / SSD disk with Catalina)


      Some SSDT.aml files in EFI/CLOVER/ACPI/patched.

      SSDT-DTPG.aml (helper module for SSDT)
      SSDT-EC.aml (USB power charge)
      SSDT-NVRAM.aml (active NVRAM)
      SSDT-UIAC.aml (USB port mapping)
      SSDT-USBX.aml (USB port mapping)
      SSDT-PMC.aml got from OpenCore to better NVRAM on Z390 mother boards
      SSDT-Z390-RP21-SLOT4-TB3HP.aml (Thunderbolt devices hot plug) it can be skipped.

      Drivers in EFI/CLOVER/drivers/UEFI

      OcQuirks.efi *
      OpenRuntime.efi *
      OcQuirks.plist *.

      * see OC Quirks below.

      Extensions in EFI / CLOVER / kexts / Other


      NOTE 1: The USBPorts.kext extension along with 3 aml files included in patched folder (SSDT-EC.aml, SSDT-UIAC.aml y SSDT-USBX.aml) were generated by joanserramiret with the configuration of USB ports for this motherboard so that the limit defined by macOS of 15 ports is not exceeded. Leaves the system configured in this way:
      Enabled all USB2 ports that are not part of a USB3 port (1 internal for BT + 4 rear that are together + 2 on the front) Enabled the USB2 ports that are part of the 2 rear red USB3.1 ports Disabled the USB2 ports that are part of the 4 rear blue USB3 ports Enabled all USB3 ports except the internal one for USB type C connection. Summary: Rear blue ports do not recognize USB2 devices.

      NOTE 2: XHCI-unsupported.kext is required for XHC chipsets whose Device ID is not included in macOS. Depending on the USB driver of your board, it may be necessary to install some additional extension:
      8086: 8CB1 on macOS 10.11.1 or lower: XHCI-9-series.kext 8086: 8D31, 8086: A2AF, 8086: A36D, 8086: 9DED: XHCI-unsupported.kext 8086: 1E31, 8086: 8C31, 8086: 8CB1, 8086: 8D31, 8086: 9C31, 8086: 9CB1: FakePCIID.kext + FakePCIID_XHCIMux.kext. This board (generally Z390 chipset boards) carries the USB 3.1 controller with device ID A36D so the XHCI-unsupported kext is required. You can check your device ID at
      /System/Library/Extensions/IOUSBHostFamily.kext/Contents/Plugins/AppleUSBXHCIPCI.kext/Contents/Info.plist Config.plist file

      The differential options are:

      Acpi> DSDT: change HECI to IMEI / change SAT0 to SATA
      Acpi> Fixes: FixShutdown
      Acpi> Drop OEM_DSM
      Acpi> Drop Tables> DMAR / MATS
      Acpi> SSDT> PluginType selected (Plugin Type number blank)
      Acpi> Halt Enabler / FixHeaders

      Boot> Boot Arguments> slide = 0 / darkwake = 8

      Devices> USB> Inject / FixOwnership / HighCurrent
      Devices> Audio> Inject 11

      Kernel and Kext Patches> Apple RTC and KernelXCPM selected
      Kernel and Kext Patches> KextsToPatch> Name: com.apple.driver.AppleAHCIPort / Find: 40600200 / Replace: 00000000 / Comment: SATA hot plug
      Kernel and Kext Patches> KextsToPatch> Name: com.apple.driver.AppleAHCIPort / Find: 45787465 726E616C / Replace: 496E7465 726E616C / SATA orange icons

      SMBIOS> iMac19.1

      System Parameters> Inject Kexts: Yes / Inject System ID: selected.

      Quirks > select AvoidRuntimeDefrag – DevirtualiseMmio – EnableSafeModeSlide – ForceExitBootServices – ProtectUefiServices – ProvideConsoleGopEnable – ProvideCustomSlide – SetupVirtualMap – SyncRuntimePermissions and set ProvideMaxSlide = 0. *

      Set true DevirtualiseMmio and ProtectUefiServices in OcQuirks.plist file (recommended on Z390 mother boards).

      * see OC Quirks below.

      macOS Catalina install

      There are many publications with instructions so I will only comment on a few specific details.
      The installation USB memory must have a GUID partition scheme so that the board's UEFI can boot from it. I have prepared the USB with the createinstallmedia method + the application "Install macOS Catalina" in the Applications folder The device is USB 3 and, connected to the front USB 3 port, it performs the task quite quickly I have used Clover r5121 which is currently the latest version. The EFI folder of the installation USB can be the same as that of the hard disk with 2 differences: Acpi> SSDT> PluginType deselected and Acpi> Boot leave Default Boot Volume blank and Timeout -1 (so that no volume will boot automatically from the Clover menu). To mount the EFI partition (of the disk or the USB device) I have used Clover Configurator which makes this task very simple or the command line (diskutil), first finding out what disk and partition number is the EFI (diskutil list) and showing it later (mountdisk):
      sudo diskutil list
      sudo diskutil mountdisk / dev / disk2s3  
      RX 580

      Although my RX 580 card is a model from the XFX brand, known for using custom VBios and giving problems in macOS, in my case it seems to work well with Lilu and WhatEverGreen. Booting the operating system it does not show artifacts, the 3 DP ports and the only HDMI port work, you can send the image simultaneously to 2 screens (I have not tried more) with the usual duplication options, yo can send sound in addition to image to one TV by HDMI, during the installation of the operating system it works correctly provided that Lilu and WhatEverGreen are in the USB device, etc. GeekBench 5 Scores: Metal 50100 / OpenCL 44100. As a comparison, the integrated card does not reach 4800 in Metal.
      Regarding the hardware decoding of H264 and HEVC videos, the Hackintool tool and the VideoProc application report that it is not supported although the playback of files of both types with rates of up to 20 mbps is correct so I suspect that it actually encodes well. In order for hardware decoding to appear as supported in the commented applications, the integrated Intel Graphics 630 card must be enabled even if it is disconnected in headless mode (using the RX 580 card as primary sending image to the screen).


      This board incorporates the Realtek ALC1220 chip that needs the AppleALC extension to work. AppleALC is a Lilu plugin so both must be properly installed.
      Note: Clover > Devices > Audio > Inject 11 or 13 or 15. I’ve tried several layouts and this are the only valid at least in my case.
      Some users have commented that the system does not load AppleALC and they have no sound despite having the extensions in EFI / CLOVER / kexts / Other. In these cases it can be successful to install AppleALC and Lilu in / Library / Extensions and rebuild the extensions cache with Hackintool (a very convenient way to do it) or with this Terminal command:
      sudo spctl --master-disable; sudo mount -uw /; killall Finder; sudo chown -v -R root: wheel / System / Library / Extensions; sudo touch / System / Library / Extensions; sudo chmod -v -R 755 / Library / Extensions; sudo chown -v -R root: wheel / Library / Extensions; sudo touch / Library / Extensions; sudo kextcache -i /  
      What this command does is disable Gatekeeper, mount the system disk in read / write mode, repair permissions on the extensions folders and rebuild the cache. But all of that is done by Hackintool with less work on our part.


      This board carries the Intel I219V chip that works well with the IntelMausiEthernet extension.

      Wifi & Bluetooth

      I use a Fenvi FV T-919 mini PCI-E card that carries both wifi and bluetooth chips. This card works perfectly in macOS without needing anything other than placing it on the board because it is recognized as Airport Extreme and Bluetooth Apple. Has its own article on perez987.


      Samsung EVO 860 SSD. It is a solid state disk with references to work well in Mac. In my case it works well, with a read speed of 430 and a write speed of 250. I have tried faster SSDs but they have given problems to install Catalina, instead with the EVO 860 everything has worked perfectly.

      Integrated graphics

      Integrated Intel Graphics 630 card: we can to make it work correctly by adding some properties in Clover's Devices tab. For it to work you have to:

      - enable it on the board as primary graphics: Initial Display Output IGFX instead of PCIe 1 Slot (actually this is the final step after modifying config.plist)
      - add in config.plist: Boot> Boot Arguments> igfxonln = 1
      - apply a patch (video and audio) in config.plist: Devices> Properties. It is easier to do it from the config.plist file in text mode than from Clover Configurator. With the file open as text find the lines
      <key>Audio</key> <dict> <key>ResetHDA</key> <false/> <key>Inject</key> <integer>11</integer> </dict>  
      Immediately above of them paste this text:
      <key>Properties</key> <dict> <key>PciRoot(0x0)/Pci(0x1F,0x3)</key> <dict> <key>layout-id</key> <data>CwAAAA==</data> <key>model</key> <string>Cannon Lake HDMI</string> <key>hda-gfx</key> <string>onboard-2</string> <key>AAPL,slot-name</key> <string>Internal@0,31,3</string> <key>device_type</key> <string>Audio device</string> </dict> <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>framebuffer-con0-busid</key> <data>AAAAAA==</data> <key>framebuffer-con0-type</key> <data>AAgAAA==</data> <key>framebuffer-con2-flags</key> <data>xwMAAA==</data> <key>model</key> <string>Intel UHD Graphics 630</string> <key>framebuffer-con1-busid</key> <data>AAAAAA==</data> <key>device-id</key> <data>kT4AAA==</data> <key>framebuffer-con2-type</key> <data>AAgAAA==</data> <key>framebuffer-con2-busid</key> <data>BAAAAA==</data> <key>device_type</key> <string>Display controller</string> <key>hda-gfx</key> <string>onboard-1</string> <key>framebuffer-patch-enable</key> <data>AQAAAA==</data> <key>framebuffer-con1-type</key> <data>AAgAAA==</data> <key>AAPL,slot-name</key> <string>Internal@0,2,0</string> <key>AAPL,ig-platform-id</key> <data>BwCbPg==</data> <key>framebuffer-con2-enable</key> <data>AQAAAA==</data> <key>framebuffer-con1-enable</key> <data>AQAAAA==</data> <key>framebuffer-con0-enable</key> <data>AQAAAA==</data> </dict> </dict> But the system crashes when comes out of sleep mode (the PC restarts after a few seconds of leaving sleep mode). This behavior occurs if the cable that comes out from the HDMI port on the motherboard (the only existing connector on this Mobo) plugs in a DisplayPort port on the monitor; if it plugs directly into another HDMI port (monitor or TV) the bug does not occurs and the PC goes in and out of sleep normally.

      Currently the only way to have the graphics card connected to a port other than HDMI without this crash is by replacing the "hda-gfx" property with "no-hda-gfx" in the above code of config.plist. The 2 lines
      <key>hda-gfx</key> <string>onboard-2</string> must be replaced by
      <key>No-hda-gfx</key> <data>AAAAAAAAAAA=</data> After adding this property, you will no longer have sound over HDMI / DP but sleep works very well.

      In summary:
      - Intel HDMI to DisplayPort monitor> has HDMI audio output but has kernel panic when coming from sleep
      - Intel HDMI to HDMI TV> has HDMI audio output and sleep works fine
      - Intel HDMI to DisplayPort monitor with "no-hda-gfx"> sleep works fine but HDMI audio output is lost.

      (based on the post "[GUIDE] General Framebuffer Patching Guide (HDMI Black Screen Problem)" by CaseySJ; thanks also to deeveedee for his help).

      This card can be left activated without connection to the monitor (headless mode) and apparently does not show any interference with the rest of the system.

      With the integrated card as the main card, the system shows enabled both graphics cards and allows to have a screen connected to the Intel 630 via HDMI and a different screen connected to the RX 580 via DP or HDMI, in this case the primary screen is that from the Intel and the other only works when the graphics driver is loaded but, once the system is up and running, the screens allow duplication options as if they depend on a single card.
      Evolution to Oc Quirks

      OC Quirks is an EFI driver for Clover that replaces AptioMemoryFix and all OsxAptioFix variants. It supports the OpenCore quirks model. AptioMemoryFix has evolved little in the most recent stage and is in a way becoming obsolete. Next versions of Clover will probably stop installing AptioMemoryFix and switch to OC Quirks which is evolving and receiving frequent improvements. You can read about this on the working group website: ReddestDream.

      Migrating our installation from AptioMemoryFix to OC Quirks is relatively simple:
      download the latest version of OC Quirks (search Releases, current version is 23) have a USB device that boots up properly to use in case of failure mount the disk's EFI partition delete AptioMemoryFix and any other OsxAptioFix variant add OcQuirks.efi, OpenRuntime.efi and OcQuirks.plist to Clover's drivers/UEFI folder change to true DevirtualiseMmio and ProtectUefiServices in the file OcQuirks.plist (recommended on boards with Z390 chipset) in Clover> Quirks config.plist file, check the boxes AvoidRuntimeDefrag - DevirtualiseMmio - EnableSafeModeSlide - ForceExitBootServices - ProtectUefiServices - ProvideConsoleGopEnable - ProvideCustomSlide - SetupVirtualMap - SyncRuntimePermissions and assign the value 0 to ProvideMaxSlide Restart the PC. efi-quirks.zip
    • By miliuco
      Ajustar los puertos USB de la placa base Z390 Aorus Elite para que no superen el límite impuesto por macOS Catalina (15 puertos) y asignar correctamente el tipo de cada puerto para que funcione a la velocidad correcta. Siguiendo el método propuesto en la ayuda integrada en la herramienta Hackintool de headkaze.
      macOS Catalina tiene por diseño un límite de 15 puertos USB que puede manejar. Ningún Mac supera o se acerca siquiera a ese número pero cualquier placa base de las que utilizamos para construir un Hackintosh supera ese número, bastantes de ellas ampliamente. Por ejemplo, mi placa Z390 Aorus Elite viene con 4 puertos USB2 + 1 puerto USB3 tipo C + 7 puertos USB3 + 2 hubs USB2 en la placa.
      Para contar los puertos con vistas al límite hay que tener en cuenta que cada puerto USB2 cuenta como 1 pero cada puerto USB3 (clásico o tipo C) cuenta como 2, la parte USB2 y la parte USB3. Así que mi placa en realidad viene con 14 puertos USB3 (7 USB3 + 7 USB2) + 3 puertos USB2 + 2 puertos en el tipo C (1 USB3 + 1 USB2) + 2 hubs USB2, total 21 puertos. Se puede dejar que el sistema trabaje así pero lo más probable es que algunos puertos no funcionen bien o no lo hagan a la velocidad adecuada e incluso que esto repercuta en otras funciones como el encendido o el reposo.
      Nota: Los puertos USB2 se muestran como HSxx (HighSpeed) y los USB3 como SS (SuperSpeed). Los hubs USB2 integrados en la placa se muestran como PRxx o como USRxx.
      RehabMan tiene una extensión, USBInjectAll.kext, que utilizada junto con el parche, escrito por pmheart y otros, que elimina el límite de 15 puertos (Port-Limit Removal Patch, PLRP en adelante), permite cargar todos los puertos de la placa base por elevado que sea su número. Algunos usuarios utilizan su sistema con esta configuración por la comodidad de disponer de todos los puertos de la placa pero es una configuración inestable pensada únicamente para trabajar durante la asignación de puertos pero no de forma permanente. USBInjectAll junto al PLRP son la opción más ampliamente utilizada para configurar y asignar los puertos dejando el número en 15 y con sus velocidades correctas. Para seguir este método hay una guía excelente de UtterDisbelief titulada «The New Beginner’s Guide to USB Port Configuration».
      En este artículo voy a comentar otro método, el que se propone en las instrucciones de la ayuda de Hackintool que, si bien recurre a USBInjectAll, en cambio no utiliza PLRP sino comandos incluidos en USBInjectAll para excluir grupos de puertos al arrancar de manera que podemos arrancar solamente con los USB2 o con los USB3 activos y realizar la asignación de puertos sobre cada uno de los 2 grupos por separado.
      Agradecimientos a headkaze, Rehabman, pmheart, UtterDisbelief y otros que hacen posible estas modificaciones.
      Requisito previo: esta placa lleva el controlador «Canon Lake PCH USB 3.1 xHCI» con identificador de dispositivo A36D (8086:A36D) por lo que requiere tener instalada la extensión XHCI-unsupported.kext para que el controlador sea bien reconocido.
      Hay que copiar la extensión USBInjectAll a la carpeta EFI/CLOVER/kexts/Other. USBInjectAll requiere que tengamos en Clover> DSDT parches para cambiar de nombre XHCI a XHC – XHC1 a XHC – EHC1 a EH01 – EHC2 a EH02. Desde Skylake en adelante no existen controladores EHCI por lo que en mi sistema (Coffee Lake) este cambio no es necesario. Tampoco se requiere renombrar XHC1 a XHC. El único cambio que puede ser útil es el de XHCI a XHC aunque yo he probado con y sin él y no he observado diferencias. Para renombrar XHCI a XHC hay que añadir estas líneas en la sección DSDT> Patches:
      <key>DSDT</key> <dict> <key>Patches</key> <array> <dict> <key>Find</key> <data>WEhDSQ==</data> <key>Replace</key> <data>WEhDXw==</data> <key>Disabled</key> <false/> <key>Comment</key> <string>change XHCI to XHC</string> </dict> </array> Después hay que reiniciar.
      En la pestaña USB has de anotar los puertos en los que tienes conectados de forma permanente el ratón y el teclado y tal vez el bluetooth (por ejemplo HS11, HS12 y HS13 en mi caso). Has de seleccionar todos los puertos, pulsar el botón Delete y después el botón Refresh que rellenará la lista de puertos con todos los que detecta la herramienta, sin límite.
      En Clover Configurator> Boot> Boot Arguments añade este comando para que al arrancar se descarten los puertos USB3 y se incluyan los que hemos anotado para teclado, ratón, etc.:
      -uia_exclude_ss uia_include=HS11,HS12,HS13
      Después hay que reiniciar.
      Volvemos a Hackintool> pestaña USB. Hay que conectar y desconectar un dispositivo USB2 en cada uno de los puertos de la placa. Al terminar, los puertos activos están resaltados en verde. Selecciona los que NO están resaltados en verde y pulsa el botón Delete.
      En Clover Configurator> Boot> Boot Arguments borra el comando añadido en el paso anterior y añade este comando para que al arrancar se descarten los puertos USB2 y se incluyan los que hemos anotado para teclado, ratón, etc.:
      -uia_exclude_hs uia_include=HS11,HS12,HS13
      Después hay que reiniciar.
      Volvemos a Hackintool > pestaña USB. Hay que conectar y desconectar un dispositivo USB3 en cada uno de los puertos de la placa. Si utilizas el conector Type C también has de conectar un dispositivo Type C en ese puerto, recuerda conectarlo en ambos sentidos. Al terminar, los puertos activos están resaltados en verde. Selecciona los que NO están resaltados en verde y pulsa el botón Delete. En la lista que hemos completado ahora es el turno de asignar a cada puerto el tipo de conector adecuado:
      - los puertos que tienen un dispositivo conectado permanentemente (ej: bluetooth) se ponen como Internal
      - los puertos HS conectados a puertos USB3 se ponen como USB3
      - los puertos SS se ponen como USB3
      - el puerto Type C puede utilizar idénticos HSxx/SSxx en ambos sentidos en cuyo caso se pone como TypeC+Sw pero si utiliza diferentes HSxx/SSxx en cada orientación se pone como TypeC.
      Si el número de elementos de la lista es mayor de 15 has de elegir puertos para descartar. Para mantenerme en el número 15 yo he borrado los puertos HS03 y HS04 (USB2) de los conectores rojos traseros que con este cambio solamente reconocerán dispositivos USB3.

      Pulsa en el botón Export para generar en el Escritorio unos archivos de los que vamos a coger 3: SSDT-EC-USBX.aml, SSDT-UIAC.aml y USBPorts.kext. Los archivos .aml han de copiarse a la carpeta EFI/CLOVER/ACPI/patched y la extensión a la carpeta EFI/CLOVER/kexts/Other. En teoría la extensión USBPorts.kext y el archivo SSDT-UIAC.aml son redundantes y ambos realizan la misma modificación desde lugares diferentes pero en la práctica a mí me ha dado mejor resultado emplear ambos.
      En Clover Configurator> Boot> Boot Arguments borra el comando añadido para excluir puertos y también borra la extensión USBInjectAll.kext.
      Después hay que reiniciar.
      Volvemos a Hackintool > pestaña USB. Selecciona todos los elementos que aparecen en la lista de puertos, pulsa el botón Delete y después el botón Refresh para cargar la configuración actual. Aquí puedes comprobar que todo funcione correctamente. Si necesitas realizar alguna corrección hay que exportar los archivos de nuevo y reemplazar los existentes.
      En la imagen están numerados los puertos de mi placa Z390 Aorus Elite. Imagen modificada de un original de u/afchvs en el sitio Reddit.