Contribute
Register

XHC USB Kext Creation Guideline

Status
Not open for further replies.
Joined
Dec 7, 2018
Messages
41
Motherboard
ASrock X99M Killer
CPU
E5-2675v3
Graphics
Vega 56
Mac
iMac, MacBook Air, Mac mini
Mobile Phone
Android
if my bios setting is something wrong ?? @Feartech
q6.jpg
 
Joined
Dec 7, 2018
Messages
41
Motherboard
ASrock X99M Killer
CPU
E5-2675v3
Graphics
Vega 56
Mac
iMac, MacBook Air, Mac mini
Mobile Phone
Android
Use the proper ACPI replacements in the config.plist!!!!! See my original X99 EFI-Folder distribution!!!

Man, man, man..
sorry ...
 
Joined
Nov 12, 2018
Messages
30
Motherboard
Asus ROG Maximus X Hero Gaming
CPU
i7-8700K
Graphics
RX 570
Mac
MacBook, MacBook Pro
Mobile Phone
iOS
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.
 

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
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
 
Joined
Nov 12, 2018
Messages
30
Motherboard
Asus ROG Maximus X Hero Gaming
CPU
i7-8700K
Graphics
RX 570
Mac
MacBook, MacBook Pro
Mobile Phone
iOS
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.
 

trs96

Moderator
Joined
Jul 31, 2012
Messages
14,462
Motherboard
GA-Z97X-UD3H-BK
CPU
i5-4690K
Graphics
HD4600 / RX 570
Mac
iMac, Mac mini
Mobile Phone
Android
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:

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
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?
 

kgp

Retired
Joined
May 30, 2014
Messages
6,902
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
iOS
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:
Joined
Nov 12, 2018
Messages
30
Motherboard
Asus ROG Maximus X Hero Gaming
CPU
i7-8700K
Graphics
RX 570
Mac
MacBook, MacBook Pro
Mobile Phone
iOS
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.
Top