Contribute
Register

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

So it just creates an entire SSDT with a random UID?

A couple issues:
1) The pasted text doesn't include indenting. Can you use <pre> instead of <li> for the text (or anything that can preserve indenting)?
2) The length bytes at 0x0E doesn't include the device name string. Change from 0x58 to 0x69 (changes the CRC-32c from 0x05091CDF to 0x211FDE47 = 0x47, 0xde, 0x1f, 0x21
3) Looks like you included all the CRC code from the CRC website. All you need is the CRC-8 function (without input or output reflection) unless you want to make changes to other parts of the drom.

Code:
# using result from Inqnuam's script at https://ravalian.com/thunderbolt/index.php?

source /Volumes/Work/Programming/ThunderboltProjects/Scripts/ThunderboltUtil.sh

#=========================================================================================
# first attempt

loaddslfile /Volumes/Work/Programming/ThunderboltProjects/Notes/examples/Inqnuamscriptresult.dsl
listdroms
usedromnum 1
dumpdrom

1)
thedrom=7B0073991464270000DF1C090501580001000D00010008818002800000000882900180000000088380048001000008849003800100000585500000058650000002870B88200100640000000000038980058A504000058B5040000B0147494741425954450011025A3339302044455349474E41524500
sources:
/Volumes/Work/Programming/ThunderboltProjects/Notes/examples/Inqnuamscriptresult.dsl:\_SB.PCI0.RP05.UPSB.DSB0.NHI0._DSM:ThunderboltDROM

0x01) UID: 0x0000276414997300
0x0d) Device ROM Revision: 1
0x10) Vendor ID: 0x1
0x12) Device ID: 0xD
0x14) Device Revision: 0x1
0x15) EEPROM Revision: 0
0x16)   1: 800280000000
0x1e)   2: 900180000000
0x26)   3: 800480010000
0x2e)   4: 900380010000
0x36)   5: 500000
0x3b)   6: 500000
0x40)   7:
0x42)   8: 200100640000000000
0x4d)   9: 80
0x50)   A: 504000
0x55)   B: 504000
0x5a)   1: "GIGABYTE"
      ============== (following bytes are unexpected)
0x65)   2: "Z390 DESIGNARE"
0x76) End

#=========================================================================================
# second attempt

loaddslfile /Volumes/Work/Programming/ThunderboltProjects/Notes/examples/Inqnuamscriptresult.dsl
listdroms
usedromnum 2
dumpdrom

0x01) UID: 0x0000591868829000
0x0d) Device ROM Revision: 1
0x10) Vendor ID: 0x1
0x12) Device ID: 0xD
0x14) Device Revision: 0x1
0x15) EEPROM Revision: 0
0x16)   1: 800280000000
0x1e)   2: 900180000000
0x26)   3: 800480010000
0x2e)   4: 900380010000
0x36)   5: 500000
0x3b)   6: 500000
0x40)   7:
0x42)   8: 200100640000000000
0x4d)   9: 80
0x50)   A: 504000
0x55)   B: 504000
0x5a)   1: "GIGABYTE"
      ============== (following bytes are unexpected)
0x65)   2: "Z390 DESIGNARE"
0x76) End


# fix it
setstring 2 "Z390 DESIGNARE"
dumpdrom
makedromdsl

    "ThunderboltDROM",
    Buffer (0x76)
    {
        /* 0x00     */  0x40,                                           // CRC8 checksum: 0x40
        /* 0x01     */  0x00, 0x90, 0x82, 0x68, 0x18, 0x59, 0x00, 0x00, // Thunderbolt Bus 0, UID: 0x0000591868829000
        /* 0x09     */  0x47, 0xde, 0x1f, 0x21,                         // CRC32c checksum: 0x211FDE47
        /* 0x0D     */  0x01,                                           // Device ROM Revision: 1
        /* 0x0E     */  0x69, 0x00,                                     // Length: 105 (starting from previous byte)
        /* 0x10     */  0x01, 0x00,                                     // Vendor ID: 0x1
        /* 0x12     */  0x0D, 0x00,                                     // Device ID: 0xD
        /* 0x14     */  0x01,                                           // Device Revision: 0x1
        /* 0x15     */  0x00,                                           // EEPROM Revision: 0
        /* 0x16   1 */  0x08, 0x81, 0x80, 0x02, 0x80, 0x00, 0x00, 0x00,
        /* 0x1E   2 */  0x08, 0x82, 0x90, 0x01, 0x80, 0x00, 0x00, 0x00,
        /* 0x26   3 */  0x08, 0x83, 0x80, 0x04, 0x80, 0x01, 0x00, 0x00,
        /* 0x2E   4 */  0x08, 0x84, 0x90, 0x03, 0x80, 0x01, 0x00, 0x00,
        /* 0x36   5 */  0x05, 0x85, 0x50, 0x00, 0x00,
        /* 0x3B   6 */  0x05, 0x86, 0x50, 0x00, 0x00,
        /* 0x40   7 */  0x02, 0x87,
        /* 0x42   8 */  0x0b, 0x88, 0x20, 0x01, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00,
        /* 0x4D   9 */  0x03, 0x89, 0x80, // PCIe xx:04.0
        /* 0x50   A */  0x05, 0x8a, 0x50, 0x40, 0x00,
        /* 0x55   B */  0x05, 0x8b, 0x50, 0x40, 0x00,
        /* 0x5A   1 */  0x0b, 0x01, 0x47, 0x49, 0x47, 0x41, 0x42, 0x59, 0x54, 0x45, 0x00, // Vendor Name: "GIGABYTE"
        /* 0x65   2 */  0x11, 0x02, 0x5a, 0x33, 0x39, 0x30, 0x20, 0x44, 0x45, 0x53, 0x49, 0x47, 0x4e, 0x41, 0x52, 0x45, 0x00, // Device Name: "Z390 DESIGNARE"
    },

crc () {
local bits=$(($1))
local inputreflected=$(($2))
local outputreflected=$(($3))
local polynomial=$(($4))
local crc=$(($5))
local finalxor=$(($6))
for data in $(xxd -p -c 1 | {
if (( inputreflected )); then
rev | tr '0123456789abcdef' '084c2a6e195d3b7f'
else
cat
fi
}); do
((crc ^= (0x$data << (bits-8))))
for ((i=0;i<8;i++)); do
if ((crc >> (bits-1))); then
((crc = (crc << 1) ^ polynomial))
else
((crc <<= 1))
fi
((crc &= ((1 << $bits)-1)))
done
done
printf "%0$(((bits+3) / 4))x" $((crc ^ finalxor)) | {
if (( outputreflected )); then
rev | tr '0123456789abcdef' '084c2a6e195d3b7f'
else
cat
fi
}
}

crc8uid () {
crc 8 0 0 7 0 0xdb
}

crc32c () {
crc 32 1 1 0x1edc6f41 0xffffffff 0xffffffff
}
Try again please.


This is what I get now:
 

Attachments

  • Capture d’écran 2020-07-02 à 03.22.19.png
    Capture d’écran 2020-07-02 à 03.22.19.png
    181.6 KB · Views: 87
@CaseySJ
Hi mate,
I'm still struggling with the weird situation, even tried to flash BIOS through f4 to f9h.
The problem is the fresh installing will stuck at step3, after all versions later than 10.15, include 10.15.1~ 10.15.5.
No errors in EFI log (Both clover and Open core).
It just allows me to select which disk to install but flashback to the start page after clicking the install button.
Currently, I can only fresh install 10.15 and then, update from the system.
Do you have any idea about the situation?
Regards,
Jon
 
@CaseySJ
Hi mate,
I'm still struggling with the weird situation, even tried to flash BIOS through f4 to f9h.
The problem is the fresh installing will stuck at step3, after all versions later than 10.15, include 10.15.1~ 10.15.5.
No errors in EFI log (Both clover and Open core).
It just allows me to select which disk to install but flashback to the start page after clicking the install button.
Currently, I can only fresh install 10.15 and then, update from the system.
Do you have any idea about the situation?
Regards,
Jon
have you tried to install to another disk?
 
Very good. You were able to mount the EFI partition in Terminal so let's continue as follows:
  • Boot into Recovery mode and run Terminal just as before.
  • Then remove all of the Hackintosh kexts from /Library/Extensions and rebuild kernel cache as follows:
Code:
cd /Volumes/Mojave/Library/Extensions
rm -rf AirportBrcmFixup.kext
rm -rf AppleALC.kext
rm -rf BrcmFirmwareRepo.kext
rm -rf BrcmPatchRAM2.kext
rm -rf FakePCIID.kext
rm -rf FakePCIID_Intel_GbX.kext
rm -rf IntelMausiEthernet.kext
rm -rf Lilu.kext
rm -rf SmallTreeIntel82576.kext
rm -rf USBInjectAll.kext
rm -rf USBPorts.kext
rm -rf WhateverGreen.kext
rm -rf XHCI-unsupported.kext

cd /
kextcache -i /Volumes/Mojave
touch /Volumes/Mojave/Library/Extensions
touch /Volumes/Mojave/System/Library/Extensions
  • Then grab a screenshot of the CLOVER/ACPI/patched folder as well:
  • Mount EFI partition as you did before using the diskutil mount command
  • You have a choice regarding USB port mapping:
    • Use the custom USB SSDT from the build guide
    • Use your USBPorts.kext
  • You cannot have both. If you'd like to use USBPorts.kext, then delete the USB SSDT from CLOVER/ACPI/patched:
Code:
cd /Volumes/EFI/EFI/CLOVER/ACPI/patched
ls -l
mv SSDT-UIAC-DESIGNARE-Z390-V7.aml ../../misc
  • This will move the USB SSDT into the CLOVER/misc folder.
  • Reboot and check if the computer starts up.
  • If macOS is able to boot now, then copy the following kexts into CLOVER/kexts/Other:
    • FakePCIID.kext
    • FakePCIID_Intel_GbX.kext
  • It may also be a good idea to temporarily delete RadeonBoost.kext from CLOVER/kexts/Other.
If you unlocked MSR 0xE2 in the past (for native NVRAM), please check if it's still unlocked. The guide for that is located here:
@CaseSJ
I did everything you said and it worked! First, let me say thank you!

About the USBs (i didn't catch the changes and why we have USBPorts(kext) and ....v7.aml and how different they are.
I decided to use the most recent one (USBPorts.kext) and my fenvi stop working. I can't have my magic mouse working properly (and that was the main reason for all this mess. I use ethernet (never wifi) and the Bluetooth always very (annoyingly) laggy, the magic mouse the same (I bought a corsair mouse) because it became unbearable to me.
If you could point me the directions on how to really fix the USBs I appreciate it.
Screen Shot 2020-07-01 at 11.27.13 PM.png


About the unlocked MSR 0xE2, I don't what is it neither why is that for. The guide that you linked, it doesn't explain why.
I found this on google: CFG Lock prevents OS X from writing to a certain region in your BIOS. OS X does this for power management and other reasons, and if it can't access it, it will not boot.
But researching I got it. Here comes a question for you: I have F6 Bios version. What is the safest and more stable version to update for better results? (I'm asking this because I want to update the bios first and then unlock the CFG.
Again I appreciate all your help.
Fab
 
Last edited:
@CaseSJ
I did everything you said and it worked! First, let me say thank you!

About the USBs (i didn't catch the changes and why we have USBPorts(kext) and ....v7.aml and how different they are.
I decided to use the most recent one (USBPorts.kext) and my fenvi stop working. I can't have my magic mouse working properly (and that was the main reason for all this mess. I use ethernet (never wifi) and the Bluetooth always very (annoyingly) laggy, the magic mouse the same (I bought a corsair mouse) because it became unbearable to me.
If you could point me the directions on how to really fix the USBs I appreciate it.
View attachment 478779

About the unlocked MSR 0xE2, I don't what is it neither why is that for. The guide that you linked, it doesn't explain why.
I found this on google: CFG Lock prevents OS X from writing to a certain region in your BIOS. OS X does this for power management and other reasons, and if it can't access it, it will not boot.
But researching I got it. Here comes a question for you: I have F6 Bios version. What is the safest and more stable version to update for better results? (I'm asking this because I want to update the bios first and then unlock the CFG.
Again I appreciate all your help.
Fab
Hello Patrice,

I'll let others comment on USB stability and will instead address your remaining questions:
  • BIOS F9g is a good choice. The newer F9h should be avoided due to a small number of serious issues having been reported.
  • There is no Serial or Parallel port on the Z390 Designare, so nothing to worry about in that regard.
  • With Mojave, we can safely use OcQuirks and FwRuntimeServices that are located in this post.
  • Good idea to install Windows first, which serves to confirm whether hardware is properly assembled, fans are under control, and temperatures are normal.
  • Regarding thermal paste, you'll get many answers, but I apply a pea-sized amount of Arctic Silver MX4 (you're absolutely free to select something else). If you look at a green pea, you'll see that it's bigger than a "drop", but smaller than a marble.
    • The first time I did this, I took a green pea out of the freezer to judge the size! :)
A number of people have reported issues with F9h. However, F9g seems to be good. It's located here:
 
About F9G (or F9H): it disables CFG Lock but could I also remove Emuvariable.efi and delete Clover RC Scripts? Did I understood correctly that Native NVRAM is possible without anymore tweak with the Beta BIOS?

Thanks,

(Planning for the build in a few days)

Patrice

EDIT: I must add SSDT-NVRAM.aml, solved!
 
Last edited:
** Micro-Guide: Radeon Speed Boost **
for Vega 56/64, Radeon VII, RX 5500/XT, RX 5700/XT
Please do not quote this micro-guide in its entirely. Post a link instead.​
...

Hello CaseySJ,

Just a quick note to let you know that the RadeonBoost kext has dropped support for the AMD RX 5700 XT Cards. I am uncertain as to why however I have just read that at @CMMChris's thread on MacRumors
 
I've tested on Dell U4919DW with displayport out of my rx 5700 xt, it's running flawlessly. I'd assume 580 should be good too.
Note that I didn't use the usbc on U4919DW and it does not support daisy chain, so keep that in mind.

@oreoapple thanks so much... was struggling a bit to find many people who were running a hack with a 49" Ultrawide. So DisplayPort only then! Thanks again.

Anyone else got any experience of Ultrawides?
 
Back
Top