Contribute
Register

XHC USB Kext Creation Guideline

Status
Not open for further replies.
I see.. I mean one could implement a XHC to XHCI ACPI replacement in the config.plist or just implement the latter replacement in the XHCI-SSDT. In this case also IOPortNameMatch XHCI should work without problems. Maybe XHC is indeed hardwired in the DSDT of your motherboard. In the latter case we can also stay with IOPortNameMatch XHC in the kext, although in this case IOPortNameMatch XHC will not be fully compatible with my other instructions concerning the USB system implementation, which bases on the XHCI implementation.

Else the two kexts attached to post #193 are working as expected? All USB2.0 and USB3.0 connectors(headers) are implemented and are working at expected speeds?

Yes, it works as expected with appropriate drive speeds.

I also tried with SMBIOS iMacPro 1.1 and had the same result. I think everybody has to look at IORegistryExplorer with an "uninjected" system, to find out whether XHCI or XHC is the right IOPortNameMatch. Personally I find it easier and "cleaner" to implement IOPortNameMatch in the kext than to change names in Clovers config.plist

Edited: 15 Port Version includes HS09 now
 

Attachments

  • Racke-iMac18.3-ASUS-Z370-RMXH-XHC-15port.kext.zip
    3.4 KB · Views: 65
  • Racke-iMac18.3-ASUS-Z370-RMXH-XHC.kext.zip
    3.3 KB · Views: 72
Last edited:
Yes, it works as expected with appropriate drive speeds.

I also tried with SMBIOS iMacPro 1.1 and had the same result. I think everybody has to look at IORegistryExplorer with an "uninjected" system, to find out whether XHCI or XHC is the right IOPortNameMatch. Personally I find it easier and "cleaner" to implement IOPortNameMatch in the kext than to change names in Clovers config.plist

Your truncated 15-port kext just have 14 ports. Why not to include at least one of the two back-panel USB2.0 connectors? Please modify attached truncated 15-port kext in this case. Does the CorsairLink controller really need a fully implemented internal USB2.0 header? It might be totally sufficient to enable just one HSxx port out of the two assigned. Otherwise, I would rather prefer to upload my former 15-port kext after just implementing XHC instead of XHCI. The latter modification, will require an additional modification of my XHCI-SSDT though for all respective users.
 
Your truncated 15-port kext just have 14 ports. Why not to include at least one of the two back-panel USB2.0 connectors? Please modify attached truncated 15-port kext in this case. Does the CorsairLink controller really need a fully implemented internal USB2.0 header? Otherwise, I would rather prefer to upload my former 15-port kext after just implementing XHC instead of XHCI. The latter modification, will require an additional modification of my XHCI-SSDT though for all respective users.
Sorry, I uploaded my version again. I prefer to connect things at the back and have my Bluetooth and keyboard at HS07/08, but I will probably not connect 4 Sticks at the same time at the Front Panel. Therefore I have thrown out the USB2.0 connectors at the front and will try to replace them with an USB C Connector which is still free on the MB.
Of course you can use your Version if you just replace XHCI.
 
Sorry, I uploaded my version again. I prefer to connect things at the back and have my Bluetooth and keyboard at HS07/08, but I will probably not connect 4 Sticks at the same time at the Front Panel. Therefore I have thrown out the USB2.0 connectors at the front and will try to replace them with an USB C Connector which is still free on the MB.
Of course you can use your Version if you just replace XHCI.

My bad, HS07/HS08 are of course assigned to the two back-panel USb2.0 connectors. Please add HS09 anyway to complete the 15-ports. By this, one can also connect at least 1 device to one of the two internal USB2.0 connectors, if necessary. Don't forget that the kexts you uploaded in post #221 might also be used by others.

Thanks for all your efforts and collaboration. Nice job you did, anyway :thumbup:

Racke-iMac18.3-ASUS-Z370-RMXH-XHC.kext and Racke-iMac18.3-ASUS-Z370-RMXH-XHC-15port.kext for the ASUS Z370 ROG MAXIMUS X HERO attached below are now part of the Github XHC USB kext library.
 

Attachments

  • Racke-iMac18.3-ASUS-Z370-RMXH-XHC.kext.zip
    4.2 KB · Views: 68
  • Racke-iMac18.3-ASUS-Z370-RMXH-XHC-15port.kext.zip
    4 KB · Views: 60
Last edited:
Good Evening Guy´s,

here is my kexts for the GIGABYTE Z170 DESIGNARE

kgp, please have a look if I again have forgotten something.
 

Attachments

  • Racke-iMac17.3-Gigabyte-Z170-Designare-XHC-15Port.kext.zip
    3.8 KB · Views: 67
  • Racke-iMac17.3-Gigabyte-Z170-Designare-XHC.kext.zip
    3.7 KB · Views: 63
Good Evening Guy´s,

here is my kexts for the GIGABYTE Z170 DESIGNARE

kgp, please have a look if I again have forgotten something.

kexts look fine.. no apparent issues.. thanks a lot!

But also this board requires IONameMatch XHC instead of XHCI?
 
kexts look fine.. no apparent issues.. thanks a lot!

But also this board requires IONameMatch XHC instead of XHCI?
Yes, I could also not go further when naming XHCI. Don't know why. Could it be something to do with some other kext or clover prefs?
I will do the kext for the Z390 Designare next (SSDT at the moment). Very interesting what will happen there?
 
Yes, I could also not go further when naming XHCI. Don't know why. Could it be something to do with some other kext or clover prefs?
I will do the kext for the Z390 Designare next (SSDT at the moment). Very interesting what will happen there?

Well I don't know.. On all X299 and X99 motherboards, XHCI is implemented by default. XHC seems to be a particular feature of all Z-motherboards in this case. Anyway, it only becomes important if one uses my SSDT-X299-XHCI.aml. One needs to change from XHCI to XHC also in the latter to make the SSDT work with your kexts.

Looking forward in receiving your Z390 Designare kexts :thumbup:
 
Your attached kext is totally wrong and it is not at all the kext distributed in the originating post of this thread! Why don't you just follow my XHC USB Kext guideline in the originating post of this thread and implement everything as suggested? Otherwise no support here, my friend. BTW.. Are you using the same HackingTool software like @ywz306 for your XHC USB kext creation? Seems that this software really implements a totally weird and odd XHC USB configuration. This is definitely not the appropriate thread for posting related kexts or discuss related issues. No support for the HackingTool software along this thread, sorry..

Anyway.. I do not understand what this is all about and why you do not just use the respective XHC USB kexts for the Asus ROG Maximus X Hero of @Racke in post #224 in your case!

That's the reason why I asked. Cool down a bit. For me it looked like HackingTool is the cool new stuff, so I decided to give it a try. But yeah, I played around with it for hours and as you mentioned above it seems to do not work as expected. To confirm my opinion, I wanted to share this kext with you and not to let you solve my stupid issues. By now I'm still using my AML in EFI/CLOVER/ACPI/patched, modified it to my needs because I didn't read post #224 before my post #220. ;-) But it seems @Racke doesn't include HS10 where my Fenvi FV-T919 is connected as well as HS11 where my Corsair H115i Pro is connected. So I use HS01-07, HS10-11, SS01-06. BTW. I tried the first versions of @Racke kext, they seemed to do nothing on my system?! Tried in EFI/C/K/O and /L/E, but it was late at night, maybe I screwed up something else. Well... if it helps the community, I'll try @Racke kext again, but I definitely need HS10 and HS11 in my production setup, okay - at least HS10, there is not really a need to touch my AIO in macOS.

What I noticed while writing. @Racke seems to use iMac18,3. I use iMacPro1,1 which fixed an issue after installation I can't remember. I used first iMac18,3 but hat to switch to iMacPro. Sorry, I try to figure out why I did that. Sorry for being some kind of chaotic, because of my stressing job (DevOps/Automation) I have to do my private IT stuff sometimes quick and dirty.
 
That's the reason why I asked. Cool down a bit. For me it looked like HackingTool is the cool new stuff, so I decided to give it a try. But yeah, I played around with it for hours and as you mentioned above it seems to do not work as expected. To confirm my opinion, I wanted to share this kext with you and not to let you solve my stupid issues. By now I'm still using my AML in EFI/CLOVER/ACPI/patched, modified it to my needs because I didn't read post #224 before my post #220. ;-) But it seems @Racke doesn't include HS10 where my Fenvi FV-T919 is connected as well as HS11 where my Corsair H115i Pro is connected. So I use HS01-07, HS10-11, SS01-06. BTW. I tried the first versions of @Racke kext, they seemed to do nothing on my system?! Tried in EFI/C/K/O and /L/E, but it was late at night, maybe I screwed up something else. Well... if it helps the community, I'll try @Racke kext again, but I definitely need HS10 and HS11 in my production setup, okay - at least HS10, there is not really a need to touch my AIO in macOS.

What I noticed while writing. @Racke seems to use iMac18,3. I use iMacPro1,1 which fixed an issue after installation I can't remember. I used first iMac18,3 but hat to switch to iMacPro. Sorry, I try to figure out why I did that. Sorry for being some kind of chaotic, because of my stressing job (DevOps/Automation) I have to do my private IT stuff sometimes quick and dirty.

If you use SMBIOS iMacPro1,1, you might also want to change IONameMatch XHC to XHCI. No idea if for this motherboard you also need an additional ACPI replacement XHC -> XHCI in your config.plist in this case.

Good luck,

KGP
 
Status
Not open for further replies.
Back
Top