Contribute
Register

10.13.6 USB3 X99-UD4

Status
Not open for further replies.
Same instructions as before: Put this in your EFI/Clover/Kexts/Other folder and remove all kexts related to USB port limits, such as the USBInjectAll.kext and X99 injector kexts. Also, remove the clover port limit patch. This will enable all your USB 2 and 3 ports.

Let me know how it goes...
So, I did that, but no luck so far. With this kext, all my USB ports are working as USB2, even USB3 ports.
Here is what it looks like in IOReg after kext applied:
Screenshot 2019-06-04 at 10.11.45.png


I can't debug this alone and I'm pretty lost, but here is what I can say:
  • I can see that on your kext, USB3 ports are SPXX, but on my IOReg with the basis config (USBinjectall + patches), my USB3 ports are SSXX
  • When I turn off patches on clover, I just tick "disabled", hope it's not causing problems, but I don't think so.
  • When I tried to discover ports on my X99-UD4, I found that XHCI ports are SS01 > SS04, and the 4 other USB3 ports are EHCI SS05. I understood on this forum that you are not supposed to deal with EHCI ports in the USB SSDT/Kext. But you seemed to took another approach.
  • Maybe my port discovery is wrong?
  • Maybe my motherboard is somewhat different than yours? It's 1.0 Rev.
  • Here is my port discovery table:
Screenshot 2019-06-04 at 10.32.25.png


Thanks for you time!

EDIT: I'm running on 10.14.5, not 10.13, sorry if I didn't mention that before, but I don't think it makes any differences regarding USB kexts
 
Last edited:
That's impressive numbers. I'm looking forward to OC my machine more precisely, thanks for the profile! For the moment I'm @4Ghz auto in Bios, but if I apply XMP profile with this auto OC no post, no boot. So I have to do it manually I guess.

Lastly, can you confirm that EHCI and XHCI handoff enabled is not messing with sleep (or anything else) in your config?

@IsidoreIsou Your computer will not boot with OC and XMP profile applied. That seems to be an issue with the BIOS. Use the default speeds for RAM, and use the OC profile. You should get those results without any problems. I have no problems with sleep from EHCI or XHCI handoff enabled. In fact, that is recommended for hackintosh.
 
So, I did that, but no luck so far. With this kext, all my USB ports are working as USB2, even USB3 ports.
Here is what it looks like in IOReg after kext applied:
View attachment 409670

I can't debug this alone and I'm pretty lost, but here is what I can say:
  • I can see that on your kext, USB3 ports are SPXX, but on my IOReg with the basis config (USBinjectall + patches), my USB3 ports are SSXX
  • When I turn off patches on clover, I just tick "disabled", hope it's not causing problems, but I don't think so.
  • When I tried to discover ports on my X99-UD4, I found that XHCI ports are SS01 > SS04, and the 4 other USB3 ports are EHCI SS05. I understood on this forum that you are not supposed to deal with EHCI ports in the USB SSDT/Kext. But you seemed to took another approach.
  • Maybe my port discovery is wrong?
  • Maybe my motherboard is somewhat different than yours? It's 1.0 Rev.
  • Here is my port discovery table:
View attachment 409671

Thanks for you time!

EDIT: I'm running on 10.14.5, not 10.13, sorry if I didn't mention that before, but I don't think it makes any differences regarding USB kexts

@IsidoreIsou I can see that your port discovery and mine are exactly identical, but it seems that your XHCI and EHCI rename patches are still active (I can see on the ioreg screenshot that your XHCI controller is still named 'XHC'). Maybe that's why the kext is having no effect. What you are seeing right now is that MacOS is just using the first 15 ports, according to its 15-port limit.

I am attaching a kext for your machine. I had dropped a few ports on mine, to stay within the 15-port limit. Use this kext with the iMacPro6,1 SMBIOS and let me know if you have any problems.

Are you using a bluetooth controller attached to HS13?
 

Attachments

  • JL-MacPro-Gigabyte-x99-UD4-XHCI.kext.zip
    3.2 KB · Views: 86
but it seems that your XHCI and EHCI rename patches are still active (I can see on the ioreg screenshot that your XHCI controller is still named 'XHC'). Maybe that's why the kext is having no effect.
Ouch I had no idea I had to turn off those patches. They were still active. My abstract understanding of this is bad. A little bit better now! They were the problem I guess.
I am attaching a kext for your machine.
The new Kext works PERFECT. Exactly the port I needed. :thumbup:
Are you using a bluetooth controller attached to HS13?
Absolutely. Working OK so far with the Kext.

So a BIG thank you.

Last things: why in your Kext USB3 ports are SSP1, but in my discovery, they were SS01 ?
 
Ouch I had no idea I had to turn off those patches. They were still active. My abstract understanding of this is bad. A little bit better now! They were the problem I guess.

The new Kext works PERFECT. Exactly the port I needed. :thumbup:

Absolutely. Working OK so far with the Kext.

So a BIG thank you.

Last things: why in your Kext USB3 ports are SSP1, but in my discovery, they were SS01 ?

@IsidoreIsou, your port discovery diagram indicated that you were using only HS13 on the internal USB2 header, so I made sure I kept it on the plist. I figured that I could drop the others, since you're not using them (I am using all four ports on the internal USB2 header, on the front side of my cabinet, so I dropped two ports from the back panel for myself, to stay within the 15-port limit).

I'm very glad that the kext is working for your particular configuration!

To answer your last question, I think it is up to how they are named in the plist file. I also remember my ports earlier being named SS0x, and then changing to SSPx. I don't have the kind of knowledge to know the why and how, but I don't think it makes a difference to their functionality.

Is your sleep/wake functionality ok? Hope no problems with that, after this kext...
 
Is your sleep/wake functionality ok? Hope no problems with that, after this kext...
I still have to test it, no time today. That would be the first time sleep would work on this machine. Finger crossed.

Well I'm gonna take advantage of your knowledge a little more if it's OK.

Could you tell me how do you manage your CPU Power Management? If you have some speed steps working?
For my part, the only way I can do it is by using VoodooTSCSync.kext (for 6 cores of course) + nullcpupowermanagement.kext. I think it's working OK, in Intel Power Gadget my CPU moves from 1.3GHz to 4GHz.
But I understand that is not "native power management". And my knowledge don't go beyond that.
Would love to have your feedback about that.

Cheers and have a good night (it's late here).
 
I still have to test it, no time today. That would be the first time sleep would work on this machine. Finger crossed.

Well I'm gonna take advantage of your knowledge a little more if it's OK.

Could you tell me how do you manage your CPU Power Management? If you have some speed steps working?
For my part, the only way I can do it is by using VoodooTSCSync.kext (for 6 cores of course) + nullcpupowermanagement.kext. I think it's working OK, in Intel Power Gadget my CPU moves from 1.3GHz to 4GHz.
But I understand that is not "native power management". And my knowledge don't go beyond that.
Would love to have your feedback about that.

Cheers and have a good night (it's late here).

I think if your USB configuration is correct, you shall get sleep/wake working without any problem.

For CPU power management, I use xcpm. To enable that, you will have to do the following steps:

  • Remove nullcpupowermanagement.kext
  • In your config.plist, using Clover Configurator, check the box for 'PluginType' (bottom right in ACPI page, see screenshot)
409811

  • In the 'Kernel and Kext Patches' > 'Kernel to Patch' section (see screenshot), place the following patches, and remove others pertaining to your CPU:
409812


Code:
Comment    String  <->  xcpm_bootstrap_HASwell_E © Pike R. Alpha
Disabled     Boolean <-> No
Find            Data<->  89D804C4 3C227722
MatchOS    String <-> 10.12.x,10.13.x,10.14.x
Replace     Data<-> 89D804C1 3C227722

Code:
Comment    String  <-> xcpm_pkg_scope_msrs (c) Pike R. Alpha for 10.14 N.Mano
Disabled   Boolean <-> No
Find       Data<-> BE070000 0031D2E8 AEFCFFFF
MatchOS    String <-> 10.14.x
Replace    Data<-> BE070000 0031D290 90909090

Code:
Comment    String  <->    xcpm_SMT_scope_msrs (c) Pike R. Alpha for X99 10.14 by N.Mano
Disabled   Boolean <-> No
Find       Data<->   BE0B0000 0031D2E8 7EFCFFFF
MatchOS    String <-> 10.14.x
Replace    Data<-> BE0B0000 0031D290 90909090

Code:
Comment    String  <-> XCPM Performance fix by @PMheart  Fixed 10.14.4 Beta 1 By N.Mano
Disabled   Boolean <-> No
Find       Data<-> C1E30848 63D389D0 48C1EA20 B9990100 000F3048 FF05926E 76004883 C4085B5D C30F1F00
MatchOS    String <-> 10.14.x
Replace    Data<-> BB00FF00 004863D3 89D048C1 EA20B999 0100000F 3048FF05 93AE7600 4883C408 5B5DC390

Code:
Comment    String  <-> @Pike R. Alpha xcpm MSR Patch 4
Disabled   Boolean <-> No
Find       Data<-> 42060000 DC330000 00000000 00000000 1F000000 00000000 18000000 00000000 00000000 00000000 00000000 00000000
MatchOS    String <-> 10.13.x,10.14.x
Replace    Data<-> 42060000 00000000 00000000 00000000 1F000000 00000000 18000000 00000000 00000000 00000000 00000000 00000000

Code:
Comment    String  <->SammlerG Sierra xcpm MSR Patch 3 / xcpm support Pike R. Alpha/0x82D390/MSR_PP0_POLICY 0x63a
Disabled   Boolean <-> No
Find       Data<-> 3A060000 DC330000 00000000 00000000 1F
MatchOS    String <-> 10.13.x,10.14.x
Replace    Data<-> 3A060000 00000000 00000000 00000000 00

The above steps should enable xcpm for your machine. Confirm with Intel Power Gadget. Let me know how it goes...!
 
The above steps should enable xcpm for your machine. Confirm with Intel Power Gadget. Let me know how it goes...!
All right, never try xcpm yet, excited! Before jumping into it, with the 5820k, we still have to keep VoodooTSCSync.kext, even when using xcpm as you just describe, right?
 
All right, never try xcpm yet, excited! Before jumping into it, with the 5820k, we still have to keep VoodooTSCSync.kext, even when using xcpm as you just describe, right?

Yes, you have to keep the VoodooTSCSync.kext as-is...
 
All right, never try xcpm yet, excited! Before jumping into it, with the 5820k, we still have to keep VoodooTSCSync.kext, even when using xcpm as you just describe, right?

@IsidoreIsou did you implement xcpm? How are things running with it on?
 
Status
Not open for further replies.
Back
Top