Contribute
Register

[SUCCESS] Gigabyte Designare Z390 (Thunderbolt 3) + i7-9700K + AMD RX 580

Are both IOReg files based on HackinDROM SSDT?
  • z170-Deluxe.ioreg --> booted with HackinDROM SSDT?
  • z170-Deluxe_Thunderbolt.ioreg --> also booted with HackinDROM SSDT?
There are notable differences between the two:

z170-Deluxe.ioreg:
View attachment 514018
z170-Deluxe_Thunderbolt.ioreg:
View attachment 514017View attachment 514016
z170-Deluxe.ioreg is after HackinDROM and DTGP SSDTs were booted with. z170-Deluxe_Thunderboltz.ioreg is with the SSDT that I use which works.
 
z170-Deluxe.ioreg is after HackinDROM and DTGP SSDTs were booted with. z170-Deluxe_Thunderboltz.ioreg is with the SSDT that I use which works.
This means SSDT-HackinDROM.aml was either (a) not processed or (b) rejected by macOS. We can find out what happened by booting with that SSDT and then grabbing the first few lines of the boot log as follows:
Bash:
log show --last boot | tail -1000 > ~/Documents/bootlog.txt
This will create a file in Documents folder called bootlog.txt. I can then take a closer look.
 
Last edited:
Hello, Bonjour @CaseySJ,

if someone is interested on a modified BIOS firmware based on F9i version by including new F9j CPU microcodes (05/2020 and 06/2020 instead of 04/2020) [cut]

I just try it by flashing with Q-Flash BIOS feature without issue.
Hello @Elias64Fr,

Bonjour! I would be glad to test the modded F9i firmware if you can post it here publicly.

If you want more details on what I have done, I can explain :).
Yes please!

Otherwise, I have including on another customised BIOS firmware (not on previous one), some DSDT and SSDT modifications previously done on Opencore patching. Result is really nice !
Sounds interesting. What are some of the changes/benefits?
 
This means SSDT-HackinDROM.aml was either (a) not processed or (b) rejected by macOS. We can find out what happened by booting with that SSDT and then grabbing the first few lines of the boot log as follows:
Bash:
log show --last boot | tail -1000 > ~/Documents/bootlog.txt
This will create a file in Documents folder called bootlog.txt. I can then take a closer look.
I attached two versions. :thumbup:
 

Attachments

  • bootlog_HackinDROM.txt
    208.9 KB · Views: 70
  • bootlog_Thunderbolt_Working.txt
    206.8 KB · Views: 200
Hello @LeleTuratti,

Thanks for pointing out the corrections. Changes made.

We spent months trying to activate Thunderbolt Bus on Titan Ridge with SSDT, but the effort failed. The Titan Ridge controller resets to Internal Connection Manager (ICM) mode after 20-30 seconds. Flashing the controller is the solution we're aware of.
So as I understand it, firmware flash does not lead to link speed improvements.
Currently the hotplug in my system works, the only difference is that to connect a device at boot (a Dock TB for example) I have to have the option "Thunderbolt boot support" enabled in the BIOS.
Unfortunately, with this option enabled, if no TB device is connected and powered on at boot, both TB ports will not work.
With "Thunderbolt boot support" disabled, however, to make a device work I have to disconnect and reconnect it.

I took a look at the SSDT for my motherboard on HackinDROM and it appears to contain errors. When I tried it, my system's USB 3 ports stopped working.
In fact in the part of the XHC1 controller (which I have renamed XHC3 to avoid conflicts) some parts were missing.
The "PCIHotplugCapable" methods are also set to "One", from what I know they should be "Zero", right?

But you can make daisy chaining if you flash it
Daisy chaining already work on my system.
 
I attached two versions. :thumbup:
Arg, I made a careless mistake. The boot log should be generated like this (head, not tail):
Bash:
log show --last boot | head -1000 > ~/Documents/bootlog.txt
 
Hello @Elias64Fr,

Bonjour! I would be glad to test the modded F9i firmware if you can post it here publicly.


Yes please!


Sounds interesting. What are some of the changes/benefits?
You can find attached ZIP file with this firmware.
shasum= b302e2ab90ebfa64a04600276705675f0df57783

Methodology:
1. I only use Hex Fiend tool with UEFITool to result check

2. Replace all volume with GUID : AFDD39F1-19D7-4501-A730-CE5A27E1154B from F9i by F9j one (from 0xA70000 0xD70000 to 0xE3FFFF). This volume include new Microcodes.

3. At the end of volume 61C0F511-A691-4F54-974F-B9A42172CE53 and also the end of file, I change 32bits data from F9i by F9j one at 0xFFFFC0 address. This data is the Fixed Data address of raw file B52282EE-9B66-44B9-B1CF-7E5040F787C1 (moved because of micro codes size is bigger than previous one)

4. Now, to be flashable with Q-Flash, I have done following modifications on freeform with GUID 56E14F88-234B-4C34-B204-299670447247 (found on Win-Raid website forum):
  • at address 0xFCDCEF, one byte replaced from 0x01 to 0x02 (0x63 offset address on freeform body)
  • 32 bits word replaced by 0x00000000
    • address 0xFCDDE8 (0x15C offset address)
    • address 0xFCDDF8 (0x16C offset address)
    • address 0xFCDE08 (0x17C offset address)
    • address 0xFCDE18 (0x18C offset address)
    • address 0xFCDE28 (0x19C offset address)
    • address 0xFCDE38 (0x1AC offset address)
    • address 0xFCDE48 (0x1BC offset address)
All previous 32bits addresses are Firmware file adresses. Green offset address are related address if you want to check with UEFItool or to make modification on another Gigabyte firmware.

About my other customised firmware with included DSDT and SSDT, there are no benefits :lol: except to be independant on Boot loader patching with Clover or Opencore (all Mac devices and methods like MCHC and DTGP are correctly configured :|) ... In fact, this a part of testing... Previously tried including many Mac DXE driver to have macOS Bootpicker (Real Macs Bootpicker) without success .. all of them a correctly loaded but no bootpicker graphically displayed.

Capture d’écran 2021-04-03 à 15.22.34.png
Capture d’écran 2021-04-03 à 15.54.56.png
Capture d’écran 2021-04-03 à 16.11.11.png
 

Attachments

  • Z390DESI_NewMicroCode(byElias64Fr).F9i.zip
    6.8 MB · Views: 358
Last edited:
...
In fact in the part of the XHC1 controller (which I have renamed XHC3 to avoid conflicts) some parts were missing.
The "PCIHotplugCapable" methods are also set to "One", from what I know they should be "Zero", right?
...
Either "One" or "Zero" is okay because macOS checks for the existence of the property "PCIHotplugCapable" instead of any particular value of that property.

Thunderbolt has been a somewhat frustrating technology, both on real Macs and particularly on Hackintosh. Often we just have to play the hand we're dealt. The best Thunderbolt experience we've encountered so far is with the flashed Titan Ridge controller on Gigabyte Z390 Designare (and the Gigabyte Z390 AORUS Xtreme). It's not perfect, but it has the fewest quirks.
 
Arg, I made a careless mistake. The boot log should be generated like this (head, not tail):
Bash:
log show --last boot | head -1000 > ~/Documents/bootlog.txt
Here you go.
 

Attachments

  • bootlog_HackinDROM.txt
    167.4 KB · Views: 72
  • bootlog_ThunderboltWorking.txt
    168.5 KB · Views: 137
Back
Top