Contribute
Register

Stork's MyHero II Build: ASUS ROG MAXIMUS Z370 HERO X - i7-8700K - AMD RX 580 - Thunderbolt 3

Nice one ! I already implemented my ssdt, so take this as a general suggestion ..
To stay in the 15 port limit you have to sacrifice something (likely internal connectors), wouldn't be nice to also post on github the .DSL with a brief explanation (or maybe a link to Rehabman guide) so one could tweak to its taste and decide which port to sacrifice?
Yes, I did sacrifice one or more internal ports, as the X62 and motherboard RGB functionality are not configurable via OS X in any case.

I will update the GitHub page with links and more information shortly.
 
Here is my USB port map SSDT for this motherboard. It should be used in conjunction with RehabMan's USBInjectAll extension and placed in EFI/Clover/ACPI/Patched. You may then remove the USB port limit patch. ;)

These internal ports will be unavailable but would not otherwise be useful in any case.

I just started again with hackintosh and ordered this build.

Could you explain me what your SSDT Port Map does? I've read through the README of USBInjectAll but didn't understand everything: Since 10.11 Apple changed the way how usb drivers work. The OS tries to detect all possible ports via ACPI, but this information is often false. You could change some kind of information Table (DSDT) but a port injector is the better solution.

But what is the USB Port Limit? Doesn't all USB Ports work? Do i need your patch for case USB ports like the Front USB-A and USB-C on the Fractal Design R6?

And my last question: You were talking about "sacrificing" some internal stuff like the I2D-Port for RGB Lightning. Since this patch get's installed in the EFI-Folder (and as far my knowledge of EFI-Bootloading goes...) this shouldn't effect the ports while booting Windows (since Clover will boot another EFI-Folder, the windows one) am i right?
 
Here is my USB port map SSDT for this motherboard. It should be used in conjunction with RehabMan's USBInjectAll extension and placed in EFI/Clover/ACPI/Patched. You may then remove the USB port limit patch. ;)

These internal ports will be unavailable but would not otherwise be useful in any case.

Thank you for sharing the file, sleep works now.
How do I remove USB port limit patch? / Where can I find it?
 
I just started again with hackintosh and ordered this build.

Could you explain me what your SSDT Port Map does? I've read through the README of USBInjectAll but didn't understand everything: Since 10.11 Apple changed the way how usb drivers work. The OS tries to detect all possible ports via ACPI, but this information is often false. You could change some kind of information Table (DSDT) but a port injector is the better solution.

But what is the USB Port Limit? Doesn't all USB Ports work? Do i need your patch for case USB ports like the Front USB-A and USB-C on the Fractal Design R6?

And my last question: You were talking about "sacrificing" some internal stuff like the I2D-Port for RGB Lightning. Since this patch get's installed in the EFI-Folder (and as far my knowledge of EFI-Bootloading goes...) this shouldn't effect the ports while booting Windows (since Clover will boot another EFI-Folder, the windows one) am i right?

By default, OS X restricts the maximum number of addressable USB ports to fifteen. RehabMan's USBInjectAll extension attempts to inject all potential ports for a given chipset and in doing so, exceeds this limit. Without further modification, the result would typically be that some of a user's ports are functional (those injected below the limit) but not others.

In order to solve this problem, most users will apply a kext patch which disables or raises OS X's port limit, such that all of the ports injected by RehabMan's extension are addressable. This certainly works but tends to be less than ideal, as the specific patch required to bypass the port limit tends to change both within and between point releases of OS X. It also results in many non-existent ports being injected, which may have a negative impact upon system stability and sleep functions.

The purpose of my SSDT is essentially to omit all but the externally accessible USB ports from RehabMan's USBInjectAll extension, leaving the total number of ports below the limit of fifteen. This eliminates the need for an ever-changing port limit patch, yielding more hassle-free update installations.

None of this will have any effect whatsoever upon your Windows installation.

Thank you for sharing the file, sleep works now.
How do I remove USB port limit patch? / Where can I find it?

The port limit patch can be found in your config.plist file, which I would recommend editing via Clover Configurator. The patch is located in the "Kernel and Kext Patches" section.
 
Last edited:
I searched all over the forums but cannot find any clear workarounds or answers. Any ideas why I am getting only 300MHz for my RX 580? Using we and lilu, latest clover, Mojave.
Screenshot 2018-11-07 at 00.13.16.png
 
I searched all over the forums but cannot find any clear workarounds or answers. Any ideas why I am getting only 300MHz for my RX 580? Using we and lilu, latest clover, Mojave.
View attachment 363582

That is simply the RX 580's idle clock. Your LuxMark results are perfectly fine.
 
By default, OS X restricts the maximum number of addressable USB ports to fifteen. RehabMan's USBInjectAll extension attempts to inject all potential ports for a given chipset and in doing so, exceeds this limit. Without further modification, the result would typically be that some of a user's ports are functional (those injected below the limit) but not others.

In order to solve this problem, most users will apply a kext patch which disables or raises OS X's port limit, such that all of the ports injected by RehabMan's extension are addressable. This certainly works but tends to be less than ideal, as the specific patch required to bypass the port limit tends to change both within and between point releases of OS X. It also results in many non-existent ports being injected, which may have a negative impact upon system stability and sleep functions.

The purpose of my SSDT is essentially to omit all but the externally accessible USB ports from RehabMan's USBInjectAll extension, leaving the total number of ports below the limit of fifteen. This eliminates the need for an ever-changing port limit patch, yielding more hassle-free update installations.

None of this will have any effect whatsoever upon your Windows installation.



The port limit patch can be found in your config.plist file, which I would recommend editing via Clover Configurator. The patch is located in the "Kernel and Kext Patches" section.

Thanks for helping me out
Is it possible to enable enable USB910 or USB112?
I need it for the my Bluetooth card.
 

Attachments

  • one of 14.png
    one of 14.png
    246.4 KB · Views: 151
Thanks for helping me out
Is it possible to enable enable USB910 or USB112?
I need it for the my Bluetooth card.

Yes, you can do that. I have added a template DSL file to my repository, with all potential ports for this chipset injected. Internal ports are listed in the comments at the top of the file, along with instructions for compiling the final SSDT.

My ASUS Maximus X Hero is the WiFi-AC version and so my SSDT injects internal port 'HS13' for the Bluetooth radio. If your motherboard does not have an M.2 WiFi/Bluetooth module, then you may simply remove 'HS13' along with the other unnecessary internal ports and instead inject one of those listed in your diagram.

Ensure that the total number of ports remains below fifteen. 'HS09', 'HS10', 'HS11' and 'HS12' may correspond directly to the port numbers in your diagram but I would recommend confirming this using IOJones.

If you require additional detail, please have a read through RehabMan's guide. It is quite a dense document but I would recommend reading from the sentence "In order to discover which ports need to be in the SSDT". This section explains the procedure for determining which 'HSXX' and 'SSXX' port numbers correspond to which physical ports on your motherboard, using IOJones or IORegistryExplorer.

EDIT: Links in original post updated to reflect change of repository directory structure.
 
Last edited:
Today I built my Rig with nearly the exact same setup (Coffee Lake i5 instead of i7, RX580, WiFi T9E and a different case Fractal Design R6 Type-C).

I have 3 drives connected: One OldSchool SSD via Sata, one big HD, and a 500GB Samsung 970 Evo M.2 2280 NVMe PCIe 3.0 x4 32Gb/s 3D-NAND TLC (MZ-V7E500BW).

First I installed WIN 10 (without the NVMe attached) on the SATA SSD. After that I connected the NVMe drive and followed your BIOS Settings.

I can reach Clover but when I select the Installer the error icon appears after around 50%. After some fiddling around I tried to windows again but got a BSOD (not sure if the installed gpu driver is the reason. But still I though that this was unexpected).

I also created a new boot drive but had the same problem. Do you use a HDMI Port on the GPU or the main board? Is Inject ATI needed? Should I try to create a Mojave installer? (Clover recognized the GPU as Rx480. Maybe I have an old RX580 Batch?)

Sadly I can’t read any error while using verbose boot since everything gets artifacted (maybe really a problem with loading some gpu stuff?)

Thanks!
 
@askh44234, I gave up using on-board graphics years ago - it's a pain to get working vs. using a discrete graphics card. So, I can't help you there. As for installing macOS.

Since you have Windows installed, I would disconnect all other drivers except the drive which you are going to install macOS. UniBeast will create the USB install thumb drive with the correct parameters set. After your installation is complete, run MultiBeast v10.4 with my settings. See Post #448 on how to install Mojave.
 
Back
Top