Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,697
Motherboard
Gigabyte Z390M Gaming - Clover 5102
CPU
i5-9600K
Graphics
RX 570 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Okay, I selected USBPorts.kext from the ACPI folder and dragged it into the config.plist's "Kernel" window. Now OpenCore won't boot MacOS at all. It hangs up with an Apple icon but no progress bar. And it doesn't matter whether or not my "SSDT-USB.aml" file is in the ACPI folder or not... same either way. Here is the latest EFI folder for your perusal. What now?

The USBPorts.kext is fine but you have included an Executable Path in the config.plist entry. You should edit this out as the kext doesn't have one, but leave the info.plist entry in.

Here's how it would look in OpenCore Configurator:

EP1.jpg


...but you can just edit out the entry using your favourite editor.

If that doesn't restore boot then just use a UniBeast installer USB memory stick to boot your PC and remove USBPorts altogether to get your system booting again etc.

There's nothing else I can see that would prevent boot of your profile PC. Obviously check the usual suspects like the L/E folder for spurious kexts but I guess they are okay given your experience.

You can test your system further by removing USBPorts and SSDT, and instead installing USBInjectAll.kext (it does have an executable) and the XhciPortLimit Quirk to see if that opens-up all your USB ports. This will confirm whether or not the system is accepting changes.

After that, output from either Hackintool or IORegistryExplorer would enable us to dig deeper...

:)
 
Joined
Mar 3, 2014
Messages
967
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Air
Classic Mac
  1. Power Mac
Thank you for your help; deleting the "executable path" for the USBPorts.kext entry both fixed booting AND resulted in the correct USP port configuration in IORegistryExplorer. That was my fault... I thought that somehow text needed to be filled into the "Executable Path" text field but had somehow been left out. Hey, I'm ignorant of almost all of this computer stuff; just been lucky and able to follow instructions fairly well. See the attachment for what the IORegistryExplorer display should (and does) look like.
IORegistryExplorer 12-01-2020.jpg
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,697
Motherboard
Gigabyte Z390M Gaming - Clover 5102
CPU
i5-9600K
Graphics
RX 570 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Thank you for your help; deleting the "executable path" for the USBPorts.kext entry both fixed booting AND resulted in the correct USP port configuration in IORegistryExplorer. That was my fault... I thought that somehow text needed to be filled into the "Executable Path" text field but had somehow been left out. Hey, I'm ignorant of almost all this computer stuff; just been lucky and able to follow instructions fairly well. See the attachment for what the IORegistryExplorer display should (and does) look like.
View attachment 499396


Hey no, well done. :thumbup: Don't dismiss what you've done. Hackintoshing is never straight-forward. A second pair of eyes can help is all.

I'm not the biggest fan of OpenCore (as most know) but we have to live with it now. Onwards and upwards ...

:)
 
Joined
Mar 3, 2014
Messages
967
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Air
Classic Mac
  1. Power Mac
Actually I'm on Catalina, and Clover R5126 works well. Booting is a little slower than using Clover R5119, but I assume that has something to do with the partial merging of OpenCore code into Clover.

Now my next trick is getting Open Canopy to work as a GUI on OpenCore. So far I have OpenCanopy.efi in my Drivers folder, but nothing happens, i.e. I still get the upper-left corner of my screen with the boot options in text form. Do you suggest anything regarding this? I cannot find any instructions anywhere.
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,697
Motherboard
Gigabyte Z390M Gaming - Clover 5102
CPU
i5-9600K
Graphics
RX 570 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Actually I'm on Catalina, and Clover R5126 works well. Booting is a little slower than using Clover R5119, but I assume that has something to do with the partial merging of OpenCore code into Clover.

Now my next trick is getting Open Canopy to work as a GUI on OpenCore. So far I have OpenCanopy.efi in my Drivers folder, but nothing happens, i.e. I still get the upper-left corner of my screen with the boot options in text form. Do you suggest anything regarding this? I cannot find any instructions anywhere.


Remember I'm not the OpenCore expert but you will need an "image" sub-folder in your OC Resources folder with all the necessary assets (icons etc) for OpenCanopy to work with.

Take a browse through @pastrychef 's well-researched OC 0.6.3 EFI ZIP and see what he has in there. :thumbup:
 
Joined
Jun 10, 2011
Messages
330
Motherboard
Gigabyte Z370 Aorus Ultra Gaming 2.0
CPU
i7 8700K
Graphics
2x RX580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hi there!

I'm having some problems configuring my USB over an old H77-DS3H Gigabyte mobo. The problem is more related to the EH01 and EH02 controllers, since they only have "PR01" and "PR12" devices (no "HSxx" at all), so I just don't know how to map those ports.

Their addresses appear on IOReg and I took notes on every port in the mobo, but the EHxx type is still a mystery.
Regarding XHC it is way more clear since it includes both HH and SS ports, so no problem there.

Attached are three .ioreg files: one booting with nothing at all USB related, another booting with USBInjectAll, and a third one booting with FakePCIID+FakePCIID+XhciMux:

Hope to have explained my issue clearly enough and thanks in advance!
 

Attachments

  • iMacPro - 03 - FakePCIID-XHCIMux.ioreg
    4 MB · Views: 10
  • iMacPro - 02 - USBInjectAll.ioreg
    4 MB · Views: 9
  • iMacPro - 01 - Nothing at all.ioreg
    4.1 MB · Views: 10

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,697
Motherboard
Gigabyte Z390M Gaming - Clover 5102
CPU
i5-9600K
Graphics
RX 570 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Hi there!

I'm having some problems configuring my USB over an old H77-DS3H Gigabyte mobo. The problem is more related to the EH01 and EH02 controllers, since they only have "PR01" and "PR12" devices (no "HSxx" at all), so I just don't know how to map those ports.

Their addresses appear on IOReg and I took notes on every port in the mobo, but the EHxx type is still a mystery.
Regarding XHC it is way more clear since it includes both HH and SS ports, so no problem there.

Attached are three .ioreg files: one booting with nothing at all USB related, another booting with USBInjectAll, and a third one booting with FakePCIID+FakePCIID+XhciMux:

Hope to have explained my issue clearly enough and thanks in advance!
Hi there.

Try using my newer guide using Hackintool to create the necessary configuration files.

The reason for this is because you are seeing too many ports in the OS's attempt to enumerate the EHC/XHC controllers. For some reason "H" version chipsets are always a bit trickier than "Z".

With Hackintool you will see the three main controllers in the top panel - 2x EHC and 1x XHC.

You then test each port using that DataTraveler stick and when it lights-up make a note of where it is. The ones that don't light-up can be removed/deleted from the configuration when you save it.

HSP/SSP are USB2/USB3 ports. PR01/PR12 are "hubs" so only remove their inactive ports, not the hubs themselves.

I wrote a lot more originally explaining what there is in those IOReg exports, but have removed this to keep things simple. Give it a try. :thumbup:
 
Joined
Jun 10, 2011
Messages
330
Motherboard
Gigabyte Z370 Aorus Ultra Gaming 2.0
CPU
i7 8700K
Graphics
2x RX580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hi again!
HSP/SSP are USB2/USB3 ports. PR01/PR12 are "hubs" so only remove their inactive ports, not the hubs themselves.

I wrote a lot more originally explaining what there is in those IOReg exports, but have removed this to keep things simple. Give it a try. :thumbup:

I tried with the new guide and this time I didn't remove the hubs, and now they appear in the USBPorts.kext generated by Hackintool.

However, no HSxx ports appear under the EHxx hubs. Could it be a "connector type" issue? Looking at the Info.plist within USBPorts.kext, I'm not sure if the "connector-type" properties are OK: should the hubs be USB2 or internal? And the HSxx ports, should be USB2 or internal? I also saw a weird numbering of ports... is that OK?

Regarding the XHC part, it seems to me that everything is ok (please confirm).

Attached you have the USBPorts.kext, my port list and the .ioreg file after following the new guide. Thanks in advance!
 

Attachments

  • iMacPro - 04 - New guide.ioreg
    4.1 MB · Views: 9
  • USBPorts.kext.zip
    2.2 KB · Views: 7
  • ports.txt
    2.3 KB · Views: 14
Joined
Jun 10, 2011
Messages
330
Motherboard
Gigabyte Z370 Aorus Ultra Gaming 2.0
CPU
i7 8700K
Graphics
2x RX580
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hi and Happy New Year!

Hi again!


I tried with the new guide and this time I didn't remove the hubs, and now they appear in the USBPorts.kext generated by Hackintool.

However, no HSxx ports appear under the EHxx hubs. Could it be a "connector type" issue? Looking at the Info.plist within USBPorts.kext, I'm not sure if the "connector-type" properties are OK: should the hubs be USB2 or internal? And the HSxx ports, should be USB2 or internal? I also saw a weird numbering of ports... is that OK?

Regarding the XHC part, it seems to me that everything is ok (please confirm).

Attached you have the USBPorts.kext, my port list and the .ioreg file after following the new guide. Thanks in advance!


Any ideas on my issue? Thanks in advance!
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,697
Motherboard
Gigabyte Z390M Gaming - Clover 5102
CPU
i5-9600K
Graphics
RX 570 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Hi and Happy New Year!




Any ideas on my issue? Thanks in advance!

Hi.

I'm not at my computer right now. When I get back later today I'll check everything over for you.

:)
 
Top