Contribute
Register

iMac Pro X99 - Live the Future now with macOS 10.14 Mojave [Successful Build/Extended Guide]

Status
Not open for further replies.
As promised, here are the files used for my Asus X99-DELUXE mobo with Nvidia 960-GTX.
The SSDT-ASUS_X99_DELUXE-XXX.aml files are specific to this mobo.
The SSDT-ASUS_X99_DELUXE-Nvidia.aml file is specific to the PCI slot I put mu card, so that might need tweaks for other users.
The SSDT-X99-XXX.aml files are more generic to any X99 mobo and similar to the ones nicely provided by KGP.
The SSDT-CC_ALC1150.aml is specific to the ALC1150 and its Codec Commander settings.

My USB kext injection truncated (15 ports) is hW-iMacPro-ASUS-X99_DELUXE-XHCI-15port.kext to put in EFI kexts. This could need tweaks as truncated ports may be different depending on the case (but fundamentally the base for any AsusX99-DELUXE mobo).

The AHCI Injectors archive contains 2 kexts to put in the EFI for proper cosmetic naming of AHCI for this mobo.

The AppleUSBCardReaderInjector.kext is also to put in EFI, and is for a USB Gensys card reader in my case (so not X99 or X99-DELUXE specific).

I also had to add the kext driver for the 2nd ethernet port (SmallTree-Intel-211-AT-PCIe-GBE.kext)
 

Attachments

  • SSDT-ASUS_X99_DELUXE-ARPT.aml
    415 bytes · Views: 82
  • SSDT-ASUS_X99_DELUXE-ETH0.aml
    483 bytes · Views: 89
  • SSDT-ASUS_X99_DELUXE-SAT2.aml
    383 bytes · Views: 77
  • SSDT-ASUS_X99_DELUXE-SAT1.aml
    381 bytes · Views: 86
  • SSDT-ASUS_X99_DELUXE-Nvidia.aml
    687 bytes · Views: 82
  • SSDT-ASUS_X99_DELUXE-HDEF.aml
    517 bytes · Views: 80
  • SSDT-ASUS_X99_DELUXE-EVSS.aml
    341 bytes · Views: 80
  • SSDT-ASUS_X99_DELUXE-ETH1.aml
    377 bytes · Views: 89
  • SSDT-ASUS_X99_DELUXE-XHC2.aml
    471 bytes · Views: 92
  • SSDT-ASUS_X99_DELUXE-XHCI.aml
    466 bytes · Views: 80
  • SSDT-CC_ALC1150.aml
    146 bytes · Views: 81
  • SSDT-DTPG.aml
    100 bytes · Views: 77
  • SSDT-SLEEP.aml
    182 bytes · Views: 81
  • SSDT-X99-USBX.aml
    185 bytes · Views: 96
  • hW-iMacPro-ASUS-X99_DELUXE-XHCI-15port.kext.zip
    3.2 KB · Views: 73
  • AHCI Injectors.zip
    6.5 KB · Views: 82
  • AppleUSBCardReaderInjector.kext.zip
    2.6 KB · Views: 88
New macOS independent XCPM-Performance patch provided by @PMHeart and based on the approach developed by @vit9696.

Code:
Find:    C1E30848 63D389D0 48C1EA20
Replace: C1E30889 D831D290 90909090

This new patch should work with all versions of 10.14 and also with 10.13.6. If the latter can be performed also by others we are now able to reach a fully vanilla macOS build also with our X99 iMacPro's, always provided that one also uses a truncated 15-port XHC USB kext in addition, which makes any macOS dependent port limit patch obsolete in addition!

Please report back if you can confirm the recent findings!

Enjoy and have fun,

kgp.png
 
New macOS independent XCPM-Performance patch provided by @PMHeart and based on the approach developed by @vit9696.

Code:
Find:    C1E30848 63D389D0 48C1EA20
Replace: C1E30889 D831D290 90909090

This new patch should work with all versions of 10.14 and also with 10.13.6. If the latter can be performed also by others we are now able to reach a fully vanilla macOS build also with our X99 iMacPro's, always provided that one also uses a truncated 15-port XHC USB kext in addition, which makes any macOS dependent port limit patch obsolete in addition!

Please report back if you can confirm the recent findings!

Enjoy and have fun,

View attachment 383435

Hi @kgp
I have implemented this and it is working absolutely fine.
 
  • Like
Reactions: kgp
As promised, here are the files used for my Asus X99-DELUXE mobo with Nvidia 960-GTX.
The SSDT-ASUS_X99_DELUXE-XXX.aml files are specific to this mobo.
The SSDT-ASUS_X99_DELUXE-Nvidia.aml file is specific to the PCI slot I put mu card, so that might need tweaks for other users.
The SSDT-X99-XXX.aml files are more generic to any X99 mobo and similar to the ones nicely provided by KGP.
The SSDT-CC_ALC1150.aml is specific to the ALC1150 and its Codec Commander settings.

My USB kext injection truncated (15 ports) is hW-iMacPro-ASUS-X99_DELUXE-XHCI-15port.kext to put in EFI kexts. This could need tweaks as truncated ports may be different depending on the case (but fundamentally the base for any AsusX99-DELUXE mobo).

The AHCI Injectors archive contains 2 kexts to put in the EFI for proper cosmetic naming of AHCI for this mobo.

The AppleUSBCardReaderInjector.kext is also to put in EFI, and is for a USB Gensys card reader in my case (so not X99 or X99-DELUXE specific).

I also had to add the kext driver for the 2nd ethernet port (SmallTree-Intel-211-AT-PCIe-GBE.kext)

Hi @bolemo,

sorry that it took me that much time to respond on your post.

I am writing you concerning your valuable XHC USB kext contribution for the ASUS X99 Deluxe, which certainly would be also of benefit for the XHC USB kext library.

However, there are several things to be done previously.

Would it be possible to also provide a fully implemented XHC USB kext for the latter motherboard and to implement in both the fully implemented and truncated 15-port kext a port-layout.rtf, as implemented in all other kets available in the XHC USB kext library?

Having the fully implemented XHC USB kext and the respective port-layout.rtf available, it might also be easier to decide which ports to be dropped in the truncated 15-port kext for the most general case applicable.

I would really appreciate your collaboration.

Many thanks in advance,

KGP
 
Hi @bolemo,

Would it be possible to also provide a fully implemented XHC USB kext for the latter motherboard and to implement in both the fully implemented and truncated 15-port kext a port-layout.rtf, as implemented in all other kets available in the XHC USB kext library?

Yes, absolutely!
I planned to do so, just did not take the time yet.

Thank you again for this guide and all the work you share here.
 
  • Like
Reactions: kgp
So, here is all I know about USB for ASUS X99 DELUXE layout. Both fully implemented XHCI and truncated-15 USB kexts are attached.

For the HS layout, I don't have all the information as there are 4 USB2 ports (via 2 x 10-1 connectors on the motherboard) that I don't use: USB1112 and USB1314. Therefore I don't have the ability to match the correct HS registry to those 4 ports (but by elimination, they have to be among these 5 : HS05, HS07, HS08, HS11 and HS12).

HS06 is internal (no connectors or physical port) and is used by the internal Broadcom Bluetooth USB module.
One of HS05, HS07, HS08, HS11 or HS12 has to be internal as well since there are only 4 USB2 ports (via 2 connectors) on the motherboard. I am not sure if it is used by any device but IOReg does not show anything under HS05, HS07, HS08, HS11 or HS12). Maybe from Windows I could get more info.

ASUS-X99-DELUXE-USB-BACK-PORT-LAYOUT.jpg


ASUS-X99-DELUXE-USB-PORT-FRONT-LAYOUT.jpg

To sum-up what I know (in bold my guess when unsure ; in italic unlikely when unsure) :
  • HS01 / SSP1 -> USB3_12 20-1 pin connectors going to FRONT of PC case.
  • HS02 / SSP2 -> USB3_12 20-1 pin connectors going to FRONT of PC case.
  • HS03 / SSP3 -> USB3_34 20-1 pin connectors going to FRONT of PC case.
  • HS04 / SSP4 -> USB3_34 20-1 pin connectors going to FRONT of PC case.
  • HS05 -> unclear (USB1112 10-1 pin connectors or USB1314 10-1 connectors or internal).
  • HS06 -> internal for Broadcom Bluetooth USB module
  • HS07 -> unclear (USB1112 10-1 connectors or USB1314 10-1 connectors or internal).
  • HS08 -> unclear (USB1112 10-1 connectors or USB1314 10-1 connectors or internal).
  • HS09 / SSP5 -> BACK USB 3.0 ports 7, 8, 9 and 10 through internal hub ASM107x
  • HS10 / SSP6 -> BACK USB 3.0 ports 3, 4, 5 and 6 through internal hub ASM107x
  • HS11 -> unclear (USB1112 10-1 connectors or USB1314 10-1 connectors or internal).
  • HS12 -> unclear (USB1112 10-1 connectors or USB1314 10-1 connectors or internal).
  • HS13 -> BACK USB 2.0 port 5 (for info port supporting BIOS Flashback)
  • HS14 -> BACK USB 2.0 port 6
NOTE: BACK USB 3.0 ports 1 and 2 are using XHC2 (ASMedia USB 3.0 Controller) so are not concerned by the XHCI layout kext.

PS: New macOS independent XCPM-Performance patch is working for me (Haswell E)
 

Attachments

  • hW-iMacPro-ASUS-X99_DELUXE-XHCI.kext.zip
    1.1 KB · Views: 66
  • hW-iMacPro-ASUS-X99_DELUXE-XHCI-15port.kext.zip
    1.1 KB · Views: 55
Last edited:
So, here is all I know about USB for ASUS X99 DELUXE layout. Both fully implemented XHCI and truncated-15 USB kexts are attached.

For the HS layout, I don't have all the information as there are 4 USB2 ports (via 2 x 10-1 connectors on the motherboard) that I don't use: USB1112 and USB1314. Therefore I don't have the ability to match the correct HS registry to those 4 ports (but by elimination, they have to be among these 5 : HS05, HS07, HS08, HS11 and HS12).

HS06 is internal (no connectors or physical port) and is used by the internal Broadcom Bluetooth USB module.
One of HS05, HS07, HS08, HS11 or HS12 has to be internal as well since there are only 4 USB2 ports (via 2 connectors) on the motherboard. I am not sure if it is used by any device but IOReg does not show anything under HS05, HS07, HS08, HS11 or HS12). Maybe from Windows I could get more info.

View attachment 383799

View attachment 383800
To sum-up what I know (in bold my guess when unsure ; in italic unlikely when unsure) :
  • HS01 / SSP1 -> USB3_12 20-1 pin connectors going to FRONT of PC case.
  • HS02 / SSP2 -> USB3_12 20-1 pin connectors going to FRONT of PC case.
  • HS03 / SSP3 -> USB3_34 20-1 pin connectors going to FRONT of PC case.
  • HS04 / SSP4 -> USB3_34 20-1 pin connectors going to FRONT of PC case.
  • HS05 -> unclear (USB1112 10-1 pin connectors or USB1314 10-1 connectors or internal).
  • HS06 -> internal for Broadcom Bluetooth USB module
  • HS07 -> unclear (USB1112 10-1 connectors or USB1314 10-1 connectors or internal).
  • HS08 -> unclear (USB1112 10-1 connectors or USB1314 10-1 connectors or internal).
  • HS09 / SSP5 -> BACK USB 3.0 ports 7, 8, 9 and 10 through internal hub ASM107x
  • HS10 / SSP6 -> BACK USB 3.0 ports 3, 4, 5 and 6 through internal hub ASM107x
  • HS11 -> unclear (USB1112 10-1 connectors or USB1314 10-1 connectors or internal).
  • HS12 -> unclear (USB1112 10-1 connectors or USB1314 10-1 connectors or internal).
  • HS13 -> BACK USB 2.0 port 5 (for info port supporting BIOS Flashback)
  • HS14 -> BACK USB 2.0 port 6
NOTE: BACK USB 3.0 ports 1 and 2 are using XHC2 (ASMedia USB 3.0 Controller) so are not concerned by the XHCI layout kext.

PS: New macOS independent XCPM-Performance patch is working for me (Haswell E)

That's somehow an unexpected result as for the HS and SS port assignment ASUS usually strictly uses and follows the connector and header nomenclature outlined in the user manuals.

Thus in the case of the X99 Deluxe I would expect the following HS and SS port assignment, where HS07 and HS08 might not be used or be assigned to internal devices?:

Screenshot 2019-01-31 at 23.13.22.png


In any case for deriving the fully implemented kext, a complete port discovery covering all XHCI onboard connectors and onboard headers is absolutely mandatory. Unfortunately it is not possible to skip some of the XHCI onboard onboard headers. Usually you should be able to purchase the following tool in any electronic store around the corner to successfully complete your port discovery and the respective fully implemented kext creation:

Screenshot 2019-01-31 at 23.33.54.png

Do you think you would be able to do so?
 
Hello kgp, I would like to ask about ssdt。
I bought a dataland's vega56 X-serial graphics card.
I Don't Want To overclocking.
Can I just delete pp_phmsoftpowerplaytable, pp_qq55lepowercontainment and pp_fuzzy fancontrol form SSDT-X99-Vega56.aml ?
 

Attachments

  • Yes iMac Pro.ioreg.zip
    900 KB · Views: 59
  • SSDT-X99-Vega56.aml.zip
    1.6 KB · Views: 58
Hello kgp, I would like to ask about ssdt。
I bought a dataland's vega56 X-serial graphics card.
I Don't Want To overclocking.
Can I just delete pp_phmsoftpowerplaytable, pp_qq55lepowercontainment and pp_fuzzy fancontrol form SSDT-X99-Vega56.aml ?

yes
 
That's somehow an unexpected result as for the HS and SS port assignment ASUS usually strictly uses and follows the connector and header nomenclature outlined in the user manuals.

Thus in the case of the X99 Deluxe I would expect the following HS and SS port assignment, where HS07 and HS08 might not be used or be assigned to internal devices?: (...)

In any case for deriving the fully implemented kext, a complete port discovery covering all XHCI onboard connectors and onboard headers is absolutely mandatory. Unfortunately it is not possible to skip some of the XHCI onboard onboard headers. Usually you should be able to purchase the following tool in any electronic store around the corner to successfully complete your port discovery and the respective fully implemented kext creation: (...)

Do you think you would be able to do so?

I figured that much, and that is why I was not able to provide a port-layout.rtf yet.

In the past, I noticed that the physical port numbers (Asus motherboard) and Mac OS port numbers (under IOReg) were not matching. The Mac OS layout was even different when I changed from Yosemite to El Capitan (HS and SS were different). I think the ASUS board layout is standard, but MacOS is not giving the same order as Asus when it assigns the ports. I think it is correct under Windows ; I will definitely have to check that.
However, my IOReg layout is consistent over time within each Mac OS version, so it is not random at each boot, and I am sure that Mojave on any Asus X99-DELUXE would have the same layout (what matters for us to produce the kext injector).

We know that there is at least one internal USB2 port, the one for the Broadcom bluetooth (HS06 for Mojave IOReg).
It seems logical that there would another internal USB2 port, but I don't know as of now if it is unused or connected to a device invisible from Mac OS (not showing under IOReg).

Then there are the 4 USB2 ports (the 2 10-1 connectors USB 1112 and 1314 on the motherboard) that I don't know about yet as I am unable to test them now. I will have to find the correct tool (like the one you mentionned) or find if I have something else in my drawers to connect there or make something (I do some electronics). It is all about making the time for me as I am not often using this computer. As soon as I learn more, I will keep you and the readers of this thread updated.

Thank you again for your patience.
 
  • Like
Reactions: kgp
Status
Not open for further replies.
Back
Top