Contribute
Register

[Success] ASRock Z390 Phantom Gaming-ITX + TB3 + iGPU + Mojave + SFF Build

Congrat to @rj510

I am going to build with same parts:
  1. Asrock Z390 PHANTOM GAMING ITX BIOS 4.0 :(
  2. INTEL I9-9900K + COOLER MASTER AIO 240 COOLER
  3. G.SKILL TridentZ RGB Series 32GB (2 x 16GB) DDR4 SDRAM 3200
  4. COLORFUL SSD 120 GB
  5. WD BLACK NVME 250 GB
Sadly I can't boot either USB for fresh install or clone working GIGABYTE Z390 + i9600K + 32GB +NVME 250 GB
Could you provide your working EFI? Thank you in advance.

Your parts list looks good. So you're switching from a GB Z390 to the ASRock Z390 mobo? On the ASRock mobo, are you planning on using the iGPU alone, or a graphics card? Your choice will determine some subtle changes to the config.plist file.

From the first post of this thread, if you download the config.plist file, the kext folder and the driver's folder, you have the essentials of the EFI folder. You will have to create on your own the SNs, etc within the config file.
 
Some USB/TB questions:

Do the SSP1 and SSP2 USB ports count towards the 15 port maximum? (Or no, because they're behind the TB3 controller?)

Booting with a USB C (USB 2.0) <-> Lightning cable to an iPhone results in my seeing the XHC5 controller in Hackintool, and the SSP1 and SSP2 ports being detected in Hackintool, but no data is transferred (not visible in iTunes, the Hackintool entires are not green, etc.) Is the current aml file you have developed only compatible with TB3 devices connected at boot? I've attached an IOreg screencap of my TB port's contents with the iPhone cable.

And in your most recent screenshot of Hackintool's USB page, you have HS07, HS10, HS12, HS13, SS09, SS10, and the two SSP ports green-ed. In my experimentation, I wasn't able to trigger this—could you elaborate on how you got that to happen / what they are? Your USB-Layout.rtf doesn't mention them either (except SS10, which I think might be a typo).

Also, what are the USR entries? I've seen USR1 and USR2 in prior experiments but have never gotten them green / they seem probably useless.

Thanks!
 

Attachments

  • Screen Shot 2019-07-13 at 12.21.19 PM.png
    Screen Shot 2019-07-13 at 12.21.19 PM.png
    250.9 KB · Views: 133
  • Screen Shot 2019-07-13 at 12.29.30 PM.png
    Screen Shot 2019-07-13 at 12.29.30 PM.png
    24.6 KB · Views: 120
Your parts list looks good. So you're switching from a GB Z390 to the ASRock Z390 mobo? On the ASRock mobo, are you planning on using the iGPU alone, or a graphics card? Your choice will determine some subtle changes to the config.plist file.

From the first post of this thread, if you download the config.plist file, the kext folder and the driver's folder, you have the essentials of the EFI folder. You will have to create on your own the SNs, etc within the config file.

I had managed to boot it up with BIOS patch.

But after install DW1560 card, only Wi-Fi works, BT no working.

I try to figure out but no luck. May be relevant to USB patch?
 
Some USB/TB questions:

Do the SSP1 and SSP2 USB ports count towards the 15 port maximum? (Or no, because they're behind the TB3 controller?)

Booting with a USB C (USB 2.0) <-> Lightning cable to an iPhone results in my seeing the XHC5 controller in Hackintool, and the SSP1 and SSP2 ports being detected in Hackintool, but no data is transferred (not visible in iTunes, the Hackintool entires are not green, etc.) Is the current aml file you have developed only compatible with TB3 devices connected at boot? I've attached an IOreg screencap of my TB port's contents with the iPhone cable.

And in your most recent screenshot of Hackintool's USB page, you have HS07, HS10, HS12, HS13, SS09, SS10, and the two SSP ports green-ed. In my experimentation, I wasn't able to trigger this—could you elaborate on how you got that to happen / what they are? Your USB-Layout.rtf doesn't mention them either (except SS10, which I think might be a typo).

Also, what are the USR entries? I've seen USR1 and USR2 in prior experiments but have never gotten them green / they seem probably useless.

Thanks!

Correct: SSPx do not count against the 15 port limit.

I've got these turned off: HS07, HS09, HS10, HS11, HS12, HS13, SS06, SS09, SS10, USR1, URS2.

Injected (via USBPort kext) are: HS01-06, HS08, HS14, SS01-05, SS07, SS08 = 15 ports.

USRx don't do anything as far as I know. Hackintools shows what ports it can find, not necessarily those that are active. I think a more accurate method is using USBMap, a script run in Terminal (I placed a downloadable version on the first post). Double-click on "USBMap.command" and a Terminal window will open. Press "D" and you'll get a listing of presently active ports. This tool very useful; I made some comments about it here.
 

Attachments

  • USBPorts.jpg
    USBPorts.jpg
    129.7 KB · Views: 127
Last edited:
I had managed to boot it up with BIOS patch.

But after install DW1560 card, only Wi-Fi works, BT no working.

I try to figure out but no luck. May be relevant to USB patch?

When Wifi works, but BT doesn't, it is usually due to no USB power or less likely, a loose antenna. You need to verify that HS14 is active and was not turned off. If HS14 is off, then no USB power is going to the BT/Wifi card.

I prefer using USBMap to check this out (see above post and this post).
 
Last edited:
Correct: SSPx do not count against the 15 port limit.

I've got these turned off: HS07, HS09, HS10, HS11, HS12, HS13, SS06, SS09, SS10, USR1, URS2.

Injected (via USBPort kext) are: HS01-06, HS08, HS14, SS01-05, SS07, SS08 = 15 ports.

USRx don't do anything as far as I know. Hackintools shows what ports it can find, not necessarily those that are active. I think a more accurate method is using USBMap, a script run in Terminal (I placed a downloadable version on the first post). Double-click on "USBMap.command" and a Terminal window will open. Press "D" and you'll get a listing of presently active ports. This tool very useful; I made some comments about it here.

Ah, I think maybe you just never hit Clear in Hackintool to do your testing with it. It might have had everything green by default. My USB configuration works as-is, and is basically the same as yours (except I disabled SS05 instead of SS06, am not using HS01 and HS02, and have HS11 enabled).

In any case, does booting with a USB C (USB 2.0, or 3.0/3.1) cable in the Thunderbolt 3 port work for you using with the latest SSDT patch (SSDT-Z390-TB3AR-ASRock-Z390-ITX-v3.aml)? I'm mainly interested in having it work as the XHC5 USB controller since I don't have the TB3 hub you have.
 
I've spent several hours working on getting the PCI section as clean and neat as possible, yet make it functional as well.

More importantly, through these and other changes indicated below, the TB3 port on the mobo now has USB-C functionality. However, all devices (either USB-C drive, or TB dock or TB3 device) must be connected and turned on prior to booting the computer.

There is only one SSP1 port on this mobo. Previously adapted TB SSDT files led us to believe otherwise. Only SSP1 is functional, so the imaginary SSP2 port was removed. The SSP1 port is injected with the other USB ports inside of the kext: USBPorts-z390-ASRock-PhGmITX-iMac19,1-v7. This updated kext is available for download on the first post (with other kexts) or as a complete EFI folder as some have requested. (This file's name can be shortened to whatever you want and it will still work.) If you need to adjust the regular USB ports, do NOT change any settings on the SSP1 side. (See the USBPorts Spoiler on the first post for more details; this section was also updated today.)

The activation of SSP1 can now be clearly seen on Hackintools (see the attached image). Remember: the SSP1 port does not count against the 15 USB port limit, so there is no need to worry about its presence.

The SSDT TB3 file was also reworked as it integrates with the USBPorts kexts and both of these affect the PCI section of the System Information. You can not change one without affecting the other. It took me multiple re-boots and study to figure this out. This new TB3 file is also labelled as V7 (SSDT-Z390-TB3AR-ASRock-Z390-ITX-v7) for consistency with today's changes. This file is available for download in the first post as part of the patched folder.

The config.plist file was also updated to allow better PCI information. Since this data can vary with or without a graphics card, the user can simply disable whatever is not being used. (After a change, a re-boot will make this obvious.)

416508


The above image is an excerpt of the Clover/Arbitrary window. The entries in this table which are less than 3:00:00 do not vary with the presence of a graphics card. However, those greater than or equal to 3:00, do vary with the presence of a graphics card.

Above are sample entries for Broadcom BT/Wifi card, all of which are in the supplied config.plist file. There are two entries: 3b and 3e, only one of which should be enabled. One is for use with a graphics card, the other for use with the iGPU alone.

The 3e should be active when a graphics card is installed (as in this example). If only using the iGPU, disable 3e and de-click to enable the 3b entry. For the attached System Information, I had a Vega 56 installed. The data for entries 3:00:0 and 3:00:1 are for a graphics card. The specific data supplied in the config.plist file are for a Vega 56. If you're using a different card, you can enter other data for the name, vendor-id, etc on your own (Hackintools is very helpful for figuring out the correct values).

This new, single config.plist file is labelled V7 (NoSN-config-19,1-V7.plist), again to keep it consistent with the changes I've made to the system this weekend. There are no SNs entered; you're on your own to fill them in. And remember to re-name it simply as "config.plist" prior to use.
 

Attachments

  • Hackintools-SSP1.jpg
    Hackintools-SSP1.jpg
    201.8 KB · Views: 129
  • SystemInfo-V7.jpg
    SystemInfo-V7.jpg
    420.6 KB · Views: 129
Last edited:
I'm trying to install BootCamp, but I can't. I get an error "Can’t install the software because it is not currently available from the Software Update server.". I registered the serial number in the config. What could be the problem?

Bootcamp.png
 
I'm trying to install BootCamp, but I can't. I get an error "Can’t install the software because it is not currently available from the Software Update server.". I registered the serial number in the config. What could be the problem?

View attachment 416536

You have clover, no need for bootcamp
 
Awesome, I have merged in many of your changes and the XHC5 USB controller works beautifully when booted with a USB 2.0 device. Very nice work!! Really appreciate it, though still a mystery to me how one edits aml files with confidence :) A few questions/comments, if you don't mind (no urgency):
  1. What guides might I read to understand the significant changes you made? (or topics to google)
  2. Why enable the various options you have in the ACPI section? (FixTMR, FixRTC, FixShutdown, Halt Enabler, and FixHeaders) I hadn't had those enabled in my config and hadn't noticed issues.
  3. In USBPorts.kext, using hackintool vs corpnewt's script result in similar, but different plists. I've attached a screencap showing a partial diff of my current one vs. yours, and was wondering if the specification of power levels I have obviates the "HighCurrent" USB setting you have in Clover > Devices. (I've merged in your XHC5 node.) Though I haven't tested what happens when I remove those current settings, I have had no power issues when plugging in secondary devices to the USB ports in my Apple Wired Keyboard (Windows complains about power draw when I use the same mouse in the same keyboard). You may be able to disable the setting, but may need these current values.
  4. Despite having only SSP1 configured as you had in the USBPorts kext, booting with the iPhone cable in the TB3 port actually results in my seeing SSP1 and SSP2 in Hackintool (not IOReg), with SSP2 as "AppleUSBXHCI Root Hub Simulation." Any idea why you do not have this as well?
  5. Interestingly, when listening to music via the audio line out port, plugging devices in and out of the TB3 port cause a 1/2 second 'stutter' in playback, as though the OS is scanning for audio out devices in the newly-plugged TB3 port. Not sure if this is useful.
  6. When a USB 3.0 device is plugged in on boot to the TB3 port, despite it registering on SSP1 (superspeed plus), it only works at 2.0 speeds. (I do not need this working for anything, but I just noticed the deficiency). The attached hackintool screencap illustrates the 2.0 and 3.0 cases, and detected speeds. Using the front-panel (USB 3 header on the right hand side of the motherboard) with the same flash drive results in faster speeds.
  7. I have attached screencaps of the device settings I set for my BCM94360CS2 in case that helps anyone.
 

Attachments

  • usb-kext-diff-current-settings.png
    usb-kext-diff-current-settings.png
    371.7 KB · Views: 140
  • hackintool-with-usb2-in-tb3-port.png
    hackintool-with-usb2-in-tb3-port.png
    248.3 KB · Views: 135
  • usb-kext-diff-current-settings.png
    usb-kext-diff-current-settings.png
    371.7 KB · Views: 133
  • corrected-broadcom-for-CS2.png
    corrected-broadcom-for-CS2.png
    53 KB · Views: 121
  • hackintool-with-usb3-in-tb3-port.png
    hackintool-with-usb3-in-tb3-port.png
    250.6 KB · Views: 127
Back
Top