Contribute
Register

The New Beginner's Guide to USB Port Configuration

OpenCore doesn't like it when you use a patched DSDT.aml, well the Developers of OpenCore don't!

They prefer you to use custom SSDT's that contain the various patches, so the system is as Vanilla as possible when using another OS.

The USB issues may be because USBInjectAll.kext, which I assume you are using, doesn't include the USB devices from your old X58 system. I think the first series of Intel USB controller to be added to the USBInjectAll.kext was the 8-series (Haswell) controller.

There are a few Clover to OpenCore conversion options that can help with the USB ports, depending on whether you used them in Clover or not.

USB:
  • FixOwnership: UEFI -> Quirk -> ReleaseUsbOwnership
  • ClockID: DeviceProperties -> Add -> PciRoot... -> AAPL,clock-id
  • HighCurrent: DeviceProperties -> Add -> PciRoot... -> AAPL, HighCurrent
    • Irrelevant for OS X 10.11 and newer
    • Newer variant is either PowerProperties defined in IOUSBHostFamily.kext -> AppleUSBHostPlatformProperties or added with a USBX SSDT for Skylake SMBIOS and newer
DeviceProperties: (For Fake ID's)

device_type: EHCI
  • device-id
  • AAPL,current-available
  • AAPL,current-extra
  • AAPL,current-available
  • AAPL,current-extra
  • AAPL,current-in-sleep
  • built-in
device_type: XHCI
  • device-id
  • AAPL,current-available
  • AAPL,current-extra
  • AAPL,current-available
  • AAPL,current-in-sleep
  • built-in

USB Port Limit Patches:
  • Kernel -> Quirks -> XhciPortLimit -> YES
These were all taken from this conversion guide - https://github.com/dortania/OpenCore-Install-Guide/blob/master/clover-conversion/Clover-config.md, which you have probably already seen and read.
 
Post a copy of your current OpenCore EFI, so we can see what you are using to boot macOS Catalina. We may be able to offer some insight.

Remember to redact/delete your Serial Number from your config.plist before you post a copy here.
 
Quite the contrary: I don't inject anything at all :) I'm trying to keep the changes to the DSDT/SSDTs, seeing as they're more robust and I can obviously reuse them every time ;) As for the conversion: I really didn't bother much with a guide, I just kicked everything installed with clover from the system (that includes the rc-scripts) and started from scratch and tried and tried and tried, till it worked :D
But nonetheless here's my OC folder (lo and behold :lol:)
 

Attachments

  • OC.zip
    10.8 MB · Views: 44
Hope this is the correct thread to post this to...

This is in regard to my X97X-Gaming7 motherboard Hackintosh.

I changed, some months ago, the model type from iMac15,1 to iMac16,1, so I wouldn't have any problems updating to Monterey 12.x. Currently I'm on OC 0.7.7 on this Hack as well. The updates to Monterey went fine, until a couple of weeks ago I noticed that one of my front panel USB ports wasn't working. I had done a USB mapping years ago under Catalina and I thought it was successful. At least the system was stable, and sleep worked etc.

So I did a little digging. My Hackintool USB showed that 30+ USB ports seemed enabled. So mapping wasn't working. I then noticed that in the USBMaps.kext, Contents/Info.plist, that there was a model key with a value of 15,1. I tried changing it to 16,1 and rebooted. No change USB mapping still failed.

I follow the Dortania USB automapping : https://dortania.github.io/OpenCore-Post-Install/usb/intel-mapping/intel.html procedure.

I downloaded the latest USBMap tools and selected the USB ports I knew I wanted ( from injecting years ago )activated and created a new USBMap.kext from the tool. This new USBMap.kext Info.plist looks like it has many more keys than the old one, and the model key has a value of 16,1, which seems correct. I installed the new USBMap.kext in the EFI of the boot SSD and restarted.

The mapping looks a lot better in the Hackintool utility but it has these 4 references to USBPorts EH01 and EH02, which I think are wrong. The USBMap.command tool shows ONLY the 15 USB ports I have mapped.

How do I remove the references to the EH01 and EH02 USB ports? Or is it okay as is? Is there a patch that Opencore is not applying automatically, or am I applying a patch that should NOT be there. Here's what the Hackintool USB tab looks like:

Hackintool-USB-EH01-EH02.jpg
 
To remove the EH01 and EH02 hubs you need to use an SSDT.

SSDT-EHCx_OFF.aml, which I have attached below.

Remember to add the correct ACPI entry for the new SSDT to your config.plist.
 

Attachments

  • SSDT-EHCx_OFF.aml.zip
    820 bytes · Views: 33
Remember to add the correct ACPI entry for the new SSDT to your config.plist.


Understood.

But FIRST don't I have to stop the rename of the EHC ports to EH01 and EH02, before using the SSDT-EHCx_OFF.aml ?

Or can I leave the rename as is?
 
You can leave the renames as they are, no need to change or remove them.
 
Hello again! I’m trying to configure the USB ports on a new build, but I’m having some trouble. With USBInjectAll.kext installed (I’ve tried both v 0.7.6 and 0.7.3) and XhciPortLimit set to True, no USB ports show up in Hackintool. However, I was able to get my USB ports to show up and configure them using USBMap as recommended in the OC guide. The problem is that whenever the USB port for my Bluetooth adapter is enabled in my USBMap.kext, even though I’ve set it to Internal, my computer wakes instantly when I try to put it into sleep mode. My specs are below, and I’ve attached my EFI folder and BIOS settings. Do you have any ideas how I might fix the sleep issue?

Specs:
OpenCore 0.7.6
macOS Catalina
Motherboard: ASUS Z490-A Prime (BIOS 2301)
CPU: i7-10070K
Graphics: RX 580
Memory: Crucial Ballistix 3200 (2x8GB)
Wifi/Bluetooth Adapter: YOUBO BCM94360CD 802.11a/g/n/ac BT4.0 PCIe
 

Attachments

  • EFI.zip
    3.7 MB · Views: 36
  • BIOS_setting.txt
    29.8 KB · Views: 36
Possible Bios issues:
  1. Serial Port [Auto], should be disabled when running macOS.
  2. Have you disabled your IGPU in the Bios?
  3. The iMac20,1 SMBIOS will expect an IGPU to be present and enabled for running an Empty Framebuffer.
  4. I don't see any IGPU memory settings in the Bios_Settings.txt file.
  5. You have disabled the Thunderbolt device, purposely?
USBMap.kext (issues):
  1. HS07 & HS08 are set with connector (0) USB2, are these Case front ports connected to an Internal Header port?
  2. I would check the Type-C ports to ensure they are set correctly as Type-c+sw (9) and are not Type-C (10) ports.
Screenshot 2022-01-16 at 21.28.28.png Ports in USBMap.kext/Contents/Info.plist.

Screenshot 2022-01-16 at 21.30.08.png
 
Back
Top