Jump to content

cat2devnull

Just Joined
  • Content Count

    1
  • Joined

  • Last visited

About cat2devnull

  • Rank
    InsanelyMac Protégé

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Introduction:So this build has been very challenging as the Z390 platform is fairly new. I struggled for some days trying to get USB, power management and onboard graphics working. You need to do a bit of work customising your own plist and SSDT but if you do, your rig will not disappoint.The guide below should work for any of the ASUS Z390 boards but may require some minor SSDT changes to configure your USB ports but it’s not that hard to do as long as you are willing to read the motherboard manual and do some very basic text file editing.Hardware: Motherboard: ASUS TUF Z390M-Pro Gaming CPU: Intel Coffeelake Core i9-9900k Cooling: Be Quite Dark Rock Pro 4 RAM: G.Skill Ripjaws V 32GB 2X16GB DDR4 3200MHz CL16 Disk: Samsung 970 EVO 2TB NVMe 1.3 M.2 (2280) Ethernet: Onboard Intel I219V Wifi/BT: Broadcom BCM943602CS + PCI-e adapter (Ebay Special) Audio: Onboard Realtek ALC S1200A Graphics: Onboard Intel UHD 630 USB: Onboard Intel Z390 Chipset Working: Onboard USB, audio, ethernet, graphics Wifi and BT via the PCI-e adapter Reboot, shutdown, hibernate, sleep/wake iCloud, iMessage, FaceTime, Time Machine GPU Hardware acceleration RAM XMP (3200MHz) Not Working: USB: I’ve disabled two of the rear USB ports to keep under the 15 port limit. I tried the USB port limit patch but had no luck getting it working. Also the general consensus is that using >15 USB ports is a bad idea and can cause unexpected crashes/data-corruption. iTunes Streaming (I have not investigated this as I don’t use iTunes). Clover auto boot from OS partition (this has me stumped at the moment). Onboard HDMI port during installation (used DP instead). Not Investigated (yet): USB 3.1 Gen 2 and USB-C (I don’t have any such devices) Overclocking or exceeding the 95W TDP of the i9900k Upgrade to Mojave 10.14.3 Install Procedure:This install guide should work with any version of 10.14 but I have only tried 10.14.2 since that was the current version at the time I started this process.BIOS settings (v2.20.1271): Advanced\System Agent (SA) Configuration\VT-d - Disabled Advanced\System Agent (SA) Configuration\Above 4G - Decoding Enabled Advanced\USB Configuration\Legacy USB Support - Disabled Advanced\USB Configuration\XHCI Hand-off - Disabled What you will need: 8GB USB drive (preferably USB 2.0, see below) ASUS Motherboard manual Clover v2.4 r4871 Clover Configurator v5.4.1.1 MaciASL IORegistryExplorer Kexts (all versions are the minimum required): AppleALC v1.3.5 (needed for the Realtek ALC S1200A) IntelMausiEthernet 2.5.0 USBInjectAll from RehabMan v0.7.1 (2018-1108) VirtualSMC v1.0.2 (replaces the older FakeSMC) Lilu 1.3.1 WhateverGreen 1.2.6 This Guide is based on the amazing /r/Hackintosh Vanilla Desktop Guide and follows it with some critical additions that will fix USB, sleep/reboot/hibernate and a few other issues. It is expected that you have a basic understanding of Mac OSX, Clover, Clover Configurator and command line tools such as text editors. If not, give the below a go, and just Google when you get stuckFollow the /r/Hackintosh Vanilla Desktop Guide to do the following; Gather all your kexts as listed above. They can be downloaded and placed in /EFI/CLOVER/kexts/other/ by hand or most can be installed automatically by Clover configurator via the Kexts Installer menu. Build your USB installer. Perform your Clover setup. Update your config.plist file to include all the Coffee Lake specific configuration. Here are some specific alterations to the vanilla build that were required; Acpi I added a few extra patches which were used for USB testing and are probably not required once setup. All of which can be installed from the List Of Patches pulldown. -> change EHC1 to EH01 -> change EHC2 to EH02 -> change _OSI to XOSI Boot You should be able to remove the verbose (-v) option as hopefully it will not be required. Added slide=0 to fix various boot issues. Unfortunately I don’t remember exactly what those errors were or which forum post helped me identify the issue. Added darkwake=10 to fix issues with power nap. Kernel and Kext Patches I disabled the USB port limit patches because the didn’t work and can cause stability issues if left enabled. See the USB section below for more details. SMBIOS Set the Product Name to Macmini8,1 I found that since the Macmini8,1 is based on Coffee Lake and uses the Intel UHD 630 onboard graphics seemed to work better than when set to iMac18,1 which caused random graphical glitches. You shouldn’t need to use macserial to generate the Serial Number or board number, just hit this Generate New button and let Clover Configurator sort it for you. You will still need to verify that the serial number is safe to use with Check Coverage button. USB:By now you should have a bootable USB drive with a near working configuration. The last remaining issue is getting USB working. This is the step that most people get stuck. There are a few issues with USB on Hackintosh that cause problems; You are limited to 15 USB ports. Now this might sound like lots but each physical port usesone port if it is USB 2.0 but if it supports USB 3.1 then it counts as two ports (both a USB 2.0 and USB 3.1 in the one physical port). There are various patches out there which remove this limit but even if you can get them to work, they will probably break when you upgrade and can cause system instability. OSX has a fixed size memory array to store this data and if you have more than 15 ports it can overwrite other critical memory. All 300 series motherboards (in our case the Z390) have way more than 15 USB ports. If you don’t bother fixing this issue then on the 300 series boards you will most likely enumerate 15 USB 2.0 ports before the system ever gets a chance to find the USB 3.1 ports. As such all your USB ports will be locked to USB 2.0. This means if you install off a USB 3.x drive, it will fail part way through the install when the ports get locked to USB 2.0 and the drive can no longer be seen. So in order to fix this problem you have to build your own SSDT file to tell the system which ports to enable, where they are on the XHC bus and what version of USB they support. I used the guide from RehabMan (Creating a Custom SSDT for USBInjectAll.kext) to build mine.Now the catch will be that you probably need to boot into OSX in order to be able to map the USB port locations to create the SSDT file. If you need to do this, you must install from a USB 2.0 drive as discussed above.The other option is just try and guess the location of each port. I mapped them all out and then realised that ASUS actually named each port sensibly so I could have just worked it out if I bothered to read the manual and look at the motherboard layout diagram.So for the ASSUS ASUS TUF Z390M-Pro Gaming the port layout looks like this; Intel® Z390 Chipset : 2 x USB 3.1 Gen 2 port(s) (1 at back panel, teal blue, Type-A, 1 at mid-board) Intel® Z390 Chipset : 7 x USB 3.1 Gen 1 port(s) (4 at back panel, blue, Type-A, 1 x Type-C, 2 at mid-board) Intel® Z390 Chipset : 4 x USB 2.0/1.1 port(s) (4 at mid-board) Location/Type BIOS & Motherboard Manual Description XHC High Speed Identifier XHC Super Speed Identifier Back Panel above HDMI upper port Blue Type-A U31G1_5 HS05 SS05 Back Panel above HDMI lower port Blue Type-A U31G1_6 HS06 SS06 Back Panel USB 3.1 Gen 2 Teal Type-A U31G2_1 HS01 SS01 Back Panel USB 3.1 Type-C U31G1_C2 HS02^ SS02^ Back Panel below ethernet upper port Blue Type-A U31G1_7 HS07 SS07 Back Panel below ethernet lower port Blue Type-A U31G1_8 HS08 SS08 Onboard Connector USB 2.0 Left Header USB11 & USB12 HS11 & HS12 N/A Onboard Connector USB 2.0 Right Header USB3 & USB4 HS03 & HS04 N/A Onboard Connector USB 3.1 Header U31G1_9 & U31G1_10 HS09 & HS10 SS09 & SS10 Onboard USB 3.1 Gen2 Header U31G2_C3 HS13^ SSxx^ ^Unable to confirm as do not have any device to test on these ports.The motherboard manual and BIOS names for each port map perfectly to the XHC name so if this holds true for other ASUS 300 series motherboards (which it appears from my research that they do) then you probably can just build the .dsl file by hand.Building your own custom SSDT file as per Creating a Custom SSDT for USBInjectAll.kext; Start by grabbing SSDT-UIAC-ALL.dsl from RehabMan’s OS-X-USB-Inject-All repository. Delete all sections of the XHC configuration that do not match your XHC device-id. In this case the Z390 chipset is “8086_a36d”. You can confirm this with IORegistryExplorer. Look for /Root/Macmini8,1/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14 then it should be listed as IOName. Now decide which ports you want to enable and which you want disabled remembering that you can only have a maximum of 15. In my case I disabled all the USB 2.0 internal ports except for one which is connected to the Broadcom BCM943602CS for BlueTooth. I also disabled a few of the USB 3.1 ports that I don’t need. Just comment out the ports you don’t need so that if in future you want to make changes it is easy. Check that the USB Connector values are correct. USB2=0, USB3=3, internal=255 Now compile the SSDT-UIAC-ALL.dsl to SSDT-UIAC.aml In MaciASLFile: Save As, format: ACPI Machine Language Binary and place it in /EFI/ACPI/patched. USBInjectAll.kext will now enable only the USB ports you have configured. My file looks like the following; // SSDT-UIAC.dsl // // This SSDT can be used as a template to build your own customization // for USBInjectAll.kext for the ASUS TUF Z390M-Pro Gaming motherboard. // It would be very easy to modify this file for any ASUS Z390 motherboard. // // Ports have comments on each to help identify their location. // You can disable ports by commenting out their configuration. // To avoid errors, this file is best edited in MaciASL. // // Note: UsbConnector: USB2 = 0, USB3 = 3, internal = 255 DefinitionBlock ("", "SSDT", 2, "hack", "_UIAC", 0) { Device(UIAC) { Name(_HID, "UIA00000") Name(RMCF, Package() { "8086_a36d", Package() { "port-count", Buffer() { 26, 0, 0, 0 }, "ports", Package() { // "HS01", Package() // U31G2_1 - Back Panel USB 3.1 Gen 2 Blue Type-A // { // "UsbConnector", 3, // "port", Buffer() { 1, 0, 0, 0 }, // }, // "HS02", Package() // U31G1_C2 - Back Panel USB 3.1 Type-C // { // "UsbConnector", 3, // "port", Buffer() { 2, 0, 0, 0 }, // }, // "HS03", Package() // USB3 - Onboard Connector USB 2.0 Right Header // { // "UsbConnector", 0, // "port", Buffer() { 3, 0, 0, 0 }, // }, "HS04", Package() // USB4 - Onboard Connector USB 2.0 Right Header { "UsbConnector", 0, "port", Buffer() { 4, 0, 0, 0 }, }, "HS05", Package() // U31G1_5 - Back Panel above HDMI upper port Blue Type-A { "UsbConnector", 3, "port", Buffer() { 5, 0, 0, 0 }, }, "HS06", Package() // U31G1_6 - Back Panel above HDMI lower port Blue Type-A { "UsbConnector", 3, "port", Buffer() { 6, 0, 0, 0 }, }, "HS07", Package() // U31G1_7 - Back Panel below ethernet upper port Blue Type-A { "UsbConnector", 3, "port", Buffer() { 7, 0, 0, 0 }, }, "HS08", Package() // U31G1_8 - Back Panel below ethernet lower port Blue Type-A { "UsbConnector", 3, "port", Buffer() { 8, 0, 0, 0 }, }, "HS09", Package() // U31G1_9 - Onboard Connector USB 3.1 Header { "UsbConnector", 3, "port", Buffer() { 9, 0, 0, 0 }, }, "HS10", Package() // U31G1_10 - Onboard Connector USB 3.1 Header { "UsbConnector", 3, "port", Buffer() { 10, 0, 0, 0 }, }, // "HS11", Package() // USB11 - Onboard Connector USB 2.0 Left Header // { // "UsbConnector", 0, // "port", Buffer() { 11, 0, 0, 0 }, // }, // "HS12", Package() // USB12 - Onboard Connector USB 2.0 Left Header // { // "UsbConnector", 0, // "port", Buffer() { 12, 0, 0, 0 }, // }, // "HS13", Package() // Unknown // { // "UsbConnector", 3, // "port", Buffer() { 13, 0, 0, 0 }, // }, // "HS14", Package() // Unknown // { // "UsbConnector", 3, // "port", Buffer() { 14, 0, 0, 0 }, // }, // "SS01", Package() // U31G2_1 - Back Panel USB 3.1 Gen 2 Teal Type-A // { // "UsbConnector", 3, // "port", Buffer() { 17, 0, 0, 0 }, // }, // "SS02", Package() // U31G1_C2 - Back Panel USB 3.1 Type-C // { // "UsbConnector", 3, // "port", Buffer() { 18, 0, 0, 0 }, // }, // "SS03", Package() // Unknown // { // "UsbConnector", 3, // "port", Buffer() { 19, 0, 0, 0 }, // }, // "SS04", Package() // Unknown // { // "UsbConnector", 3, // "port", Buffer() { 20, 0, 0, 0 }, // }, "SS05", Package() // U31G1_5 - Back Panel above HDMI upper port Blue Type-A { "UsbConnector", 3, "port", Buffer() { 21, 0, 0, 0 }, }, "SS06", Package() // U31G1_6 - Back Panel above HDMI lower port Blue Type-A { "UsbConnector", 3, "port", Buffer() { 22, 0, 0, 0 }, }, "SS07", Package() // U31G1_7 - Back Panel below ethernet upper port Blue Type-A { "UsbConnector", 3, "port", Buffer() { 23, 0, 0, 0 }, }, "SS08", Package() // U31G1_8 - Back Panel below ethernet lower port Blue Type-A { "UsbConnector", 3, "port", Buffer() { 24, 0, 0, 0 }, }, "SS09", Package() // U31G1_9 - Onboard Connector USB 3.1 Header { "UsbConnector", 3, "port", Buffer() { 25, 0, 0, 0 }, }, "SS10", Package() // U31G1_10 - Onboard Connector USB 3.1 Header { "UsbConnector", 3, "port", Buffer() { 26, 0, 0, 0 }, }, // "USR1", Package() // { // "UsbConnector", 255, // "port", Buffer() { 15, 0, 0, 0 }, // }, // "USR2", Package() // { // "UsbConnector", 255, // "port", Buffer() { 16, 0, 0, 0 }, // }, }, }, }) } } //EOF Now you should be able to perform a successful install of Mojave. Once you are up and running, copy the EFI folder from your USB to the EFI partition on your SSD/HDD and you should be good to go.iMessage, iCloud and FaceTime:If you get errors enabling these services, you can try this simple repair guide from Hackintosher to get up and running.Files:If it helps I have uploaded all my config files to Dropbox so you can see what I did.If you copy my config.plist file, be aware that I have removed the following keys; SerialNumer SmUUI BoardSerialNumber Memory You will need to generate these keys for yourself. Good Luck!
×