Contribute
Register

XHC USB Kext Creation Guideline

Status
Not open for further replies.
if my bios setting is something wrong ?? @Feartech
q6.jpg
 
Use the proper ACPI replacements in the config.plist!!!!! See my original X99 EFI-Folder distribution!!!

Man, man, man..
sorry ...
 
I am afraid, there are still several inconsistencies in your kexts.
View attachment 379866

Apart from minor cosmetic modifications, I also performed the following substantial modifications:

Fully implemented kext (18 ports):

1.) IONameMatch: XHC -> XHCI
2.) Removal of SS07 -> SS10
3.) SSxx -> SSPx
4.) Removal of HS13/HS14
5.) port-count: 0a000000 -> 16000000

Truncated 15-port kext:

For its most general application, I actually dropped one back-panel USB2.0 connector (HS08) and one internal USB2.0 header (HS11/HS12) in the truncated 15-port kext. By this there is still one USB 2.0 back-panel connector (HS07) and one internal USB2.0 header (HS09/HS10) operational. All USB3.0 external connectors and the only USB3.0 internal header are fully operational in addition.

Please test and verify the attached kexts. In case that everything works as expected, I will upload both kexts to the XHC USB Kext Github library.

Cheers,

KGP

Edit: There was still a minor inconsistency in the 15-port kext, which I previously uploaded. SSxx -> SSPx and modified file reloaded.

Which one would be the best to use? By now I use a self modified version of this AML. For me those stupid internal ports are necessary. HS01/02 for FrontPanel, HS09/10 for Bluetooth from Fenvi card and I'd like to enable HS11/12 which my Corsair AIO is connected to. So is there a disadvantage to use 18 port kext? I don't get why there seems no way to just use all of those ports.
 
Which one would be the best to use? By now I use a self modified version of this AML. For me those stupid internal ports are necessary. HS01/02 for FrontPanel, HS09/10 for Bluetooth from Fenvi card and I'd like to enable HS11/12 which my Corsair AIO is connected to. So is there a disadvantage to use 18 port kext? I don't get why there seems no way to just use all of those ports.

You cannot use a 18-port kext without a working port limit patch. The 15-port kext in contrary makes your system macOS version independent!

If you need HS09/10 and HS11/12, drop some of the back-panel USB3.0 connectors, i.e., HS03/SSP3, HS04/SSP4, HS05/SSP5 or HS06/SSP6 and one of the two back-panel USB2.0 connectors, i.e., USB07 or USB08.

Just logics and up to your personal taste.. Just intent to end up with 15 HS/SS ports in total.

Good luck
 
You cannot use a 18-port kext without a working port limit patch. The 15-port kext in contrary makes your system macOS version independent!

If you need HS09/10 and HS11/12, drop some of the back-panel USB3.0 connectors, i.e., HS03/SSP3, HS04/SSP4, HS05/SSP5 or HS06/SSP6 and one of the two back-panel USB2.0 connectors, i.e., USB07 or USB08.

Just logics and up to your personal taste.. Just intent to end up with 15 HS/SS ports in total.

Good luck

Okay, got it. Thank you for the explanation! In my opinion this limit is some kind weird, but I didn't read about why this limit exist yet. I'll do my homework soon.
 
but I didn't read about why this limit exist yet.
Nobody but Apple knows for sure. It may be that they just want to have us work harder to get a fully functional hack.
It may just be because Apple is moving away from USB connections to Thunderbolt 3 and feels there is no need for extra USB ports in the numbers that PCs have.
 
Last edited:
Okay, got it. Thank you for the explanation! In my opinion this limit is some kind weird, but I didn't read about why this limit exist yet. I'll do my homework soon.

By default, macOS does not implement more than 15 HS/SS ports. With a working port limit kext patch, which always is macOS version dependent and requires an update after each macOS update (non-vanilla), you can circumvent Apple's 15-port USB limit and implement more than 15 HS/SS ports (not recommended though and not possible under all macOS versions.) I strongly recommend to use a truncated 15-port XHC USB kext instead and to disable any USB port limit kext patch in your config.plist. This will make your system more vanilla and will prevent possible buffer overruns induced by the USB port limit kext patch. The fully implemented XHC USB kext allows the subsequent drop of specific HS/SS ports up to the taste of each user.

Clear enough?
 
Nobody but Apple knows for sure. It may be that they just want to have us work harder to get a fully functional hack.

I guess it is just that Macs usually do not use more than 15 HS/SS ports and respective USB2.0 and USB3.0 connectors/headers. Most Macs also feature USB3.1, USB-C and TB3 in addition. Just a well thought combination of available technologies.

In contrary I do not understand why most PC motherboards still exceed such XHC USB port limit. In my opinion on most motherboards, the amount of available onboard USB2.0 and USB3.0 connectors is simply an overkill. One should better focus on state of the art techniques like USB3.1, USB-C or TB3 and at least drop all external USB2.0 connectors, as USB3.0 connectors are anyway also backwards compatible to USB2.0.

Unfortunately, third party hardware providers like Corsair and other brands still use the internal USB2.0 bus to connect different devices (e.g. PSU, of-the-shelf water blocking components, BT/WIFI adapters, TB controllers, etc.), which unnecessarily implies a huge amount of internal USB2.0 onboard headers, which are anyway not anymore available on most state-of-the-art motherboards. Many times one is force to implement an expensive Corsair USB2.0 Hub controller or any other internal 3rd-party USB2.0 hub controller as the only possible solution.

One would wish a better collaboration between motherboard manufacturers and third party hardware developers. This would significantly reduce the amount of required USB2.0/USB3.0 connectors/headers also on Hackintosh systems.
 
Last edited:
Nobody but Apple knows for sure. It may be that they just want to have us work harder to get a fully functional hack.
It may just be because Apple is moving away from USB connections to Thunderbolt 3 and feels there is no need for extra USB ports in the numbers that PCs have.

Seems so, but we should happy that they still do not prevent use macOS on custom hardware. Hope they never implement any dirty magic bundled with the T2 chip.
 
Status
Not open for further replies.
Back
Top