Contribute
Register

XHC USB Kext Creation Guideline

Status
Not open for further replies.
Just to be sure. This kext goes in the kext folder on the EFI? Or in S/L/E folder? or both-neither?

Sure, EFI Folder would be the easiest way...
 
I am having a bit of a weird problem:

When I go into IORegistryExplorer app, scroll to look for XHCI and I cannot expand to see any info on the ports even though I have USB devices plugged into some of those ports. I mean, there's no triangle to expand any info but a USB drive using one of the ports is showing up in the desktop, kind of bizarre.. I'm sure it's a stupid problem, but it got me stuck at 5a! So close.. :banghead:

Screen Shot 2018-07-02 at 02.57.27.png
 
Last edited:
I am having a bit of a weird problem:

When I go into IORegistryExplorer app, scroll to look for XHCI and I cannot expand to see any info on the ports even though I have USB devices plugged into some of those ports. I mean, there's no triangle to expand any info but a USB drive using one of the ports is showing up in the desktop, kind of bizarre.. I'm sure it's a stupid problem, but it got me stuck at 5a! So close.. :banghead:

View attachment 338719

Delete the "xhci" on the search field above and you will be able to expand the ports.. ;)

BTW.. looking to your IOREG it seems that you still miss SS-ports, don't you?

Are you using the correct port limit patch?

Well trip to Munich today... will be off the entire day... see you tomorrow..

Good luck,

KGP
 
Last edited:
Delete the "xhci" on the search field above and you will be able to expand the ports.. ;)

Did it, same result..
Screen Shot 2018-07-03 at 20.30.28.png

BTW.. looking to your IOREG it seems that you still miss SS-ports, don't you?

Are you using the correct port limit patch?

I thought so too. Don't understand what's happening..

This is my /EFI/kexts/Other folder and attached is my config.plist

I'm using this patch:

Code:
Name*          Find*[Hex]               Replace* [Hex]           Comment
AppleUSBXHCI   837D940F 0F839704 0000   837D941A 90909090 9090   USB Port Limit Patch ©PMHeart

Screen Shot 2018-07-03 at 20.35.59.png

Thanks for helping me with this. Really, it was supposed to be an easy fix and it's becoming kind of frustrating.

Well trip to Munich today...

Hope you have had a good day in Munich. it's a beautiful, beautiful city!!

P. D: I think I read somewhere here or on IM that it's possible to buy you a beer through PayPal (haha!). I'd be honored!
 

Attachments

  • config.plist
    21.9 KB · Views: 218
Last edited:
Did it, same result..
View attachment 339046


I thought so too. Don't understand what's happening..

This is my /EFI/kexts/Other folder and attached is my config.plist

I'm using this patch:

Code:
Name*          Find*[Hex]               Replace* [Hex]           Comment
AppleUSBXHCI   837D940F 0F839704 0000   837D941A 90909090 9090   USB Port Limit Patch ©PMHeart

View attachment 339048
Thanks for helping me with this. Really, it was supposed to be an easy fix and it's becoming kind of frustrating.



Hope you have had a good day in Munich. it's a beautiful, beautiful city!!

P. D: I think I read somewhere here or on IM that it's possible to buy you a beer through PayPal (haha!). I'd be honored!

You know that the above USB port limit patch is the one for 10.13.5? Are you with 10.13.5?

What are your USB BIOS settings?

Else , I really don't know how to help you further.. I don't have your mainboard and therefore I am also not able to do the related work for you, even if I would like..
 
Last edited:
Hi,@KGP,thanks for your great work!
The "IOPCIPrimaryMatch"-ID of the ASUS X99-A II on-board XHC controller is "0x8d318086".
I do not understand the above sentence that you posted.My board is MSI X99A-raider, how can I find the "IOPCIPrimaryMatch"-ID of the X99A-raider on-board XHC controller?
 
Hi,@KGP,thanks for your great work!
The "IOPCIPrimaryMatch"-ID of the ASUS X99-A II on-board XHC controller is "0x8d318086".
I do not understand the above sentence that you posted.My board is MSI X99A-raider, how can I find the "IOPCIPrimaryMatch"-ID of the X99A-raider on-board XHC controller?

IOREG is your friend ;)

Screenshot 2018-08-23 at 08.42.10.png
 
3.) Preconditions for point 4.) below:

I.) You must have all internal USB 2.0 and USB 3.0 connectors connected with respective USB front panel plugs!

This is really a very important precondition! You should have in mind that you want to establish a COMPLETE XHC USB KEXT for your specific mainboard. Thus it is therefore not sufficient just to implement the external USB 2.0 and USB 3.0 on-board connectors! Your XHC USB KEXT must really consider all connectors available on your particular mainboard, especially as you will subsequently distribute your board-specific XHC USB Kext to the community.

Unfortunately it doesn't say where I can upload my mainboard definition to. And come to think of it, maybe somebody has already done that for my mainboard, because a Gigabyte Z97-D3H wasn't exactly exotic back in the day.
 

Unfortunately it doesn't say where I can upload my mainboard definition to. And come to think of it, maybe somebody has already done that for my mainboard, because a Gigabyte Z97-D3H wasn't exactly exotic back in the day.

What do you mean by uploading your mainboard definitions? I would not know about any existing XHC USB kext for the Gigabyte Z97-D3H.

What you have to do in this case is implementing all necessary details into the Dummy kext, by following all individual steps outlined in the XHC USB guide. All necessary information you can retrieve be means of IOREG explorer.

One important hint though. You should create your board-specific system either under 10.14.0 or 10.3.6, or at least under a version of macOS where the port limit patch approach is still functional. Only by this you will be able to properly implement ALL your onboard USB connectors. Subsequently you can drop a few ports to stay within the 15 port limit and use the resulting XHC USB kext under macOS 10.14.1 without any issue. Further helpful and useful comments and instructions how to perform the latter can be found in section 4.) - USB Configuration of my main guide for X299.

Don't hesitate to ask in case of further questions.

Everything appears very difficult in the beginning, but once you are in it, it will turn out to be quite easy ;)

Edit: Initially I implemented a link to the wrong guide. I now updated the link above, which now correctly directs you to my X299 Mojave guide (see Section E.4 of this latter guide).
 
Last edited:
What do you mean by uploading your mainboard definitions? I would not know about any existing XHC USB kext for the Gigabyte Z97-D3H.

I'm sorry for being unclear.

The guide says "especially as you will subsequently distribute your board-specific XHC USB Kext to the community". So I assumed there was a repository of some sort in place, where kexts could be shared with the community.
 
Status
Not open for further replies.
Back
Top