Contribute
Register

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

@losinka @dgsga @CaseySJ Sorry for adding noise to the signal. I've discovered on the Z170-UD5 TH, the method is called XTBT when the Thunderbolt controller is disabled in the BIOS, and _E23 when it is enabled. I'm going to patch the DSDT with @dgsga 's method and report back :)

original post amended.
 
not sure what you are talking about

Meaning it runs better on the FWs we have, no experimenting needed and no big issues so far. I think it's the main reason for most people to have gone with the Designare.
 
unfortunately I can't seem to get @dgsga 's method to work on Z170x-UD5 TH (Alpine Ridge NVM21)

Screen Shot 2020-05-12 at 5.21.13 PM.png
 
unfortunately I can't seem to get @dgsga 's method to work on Z170x-UD5 TH (Alpine Ridge NVM21)

View attachment 469102
hopefully @dgsga will check in and suggest troubleshooting steps.

what my hangup is: his guide says to look in the system log after booting with the modded SSDT for a DROM error which will give the proper CRC32, since he changed one entry in my DROM to enable connection to port5. I don't find any reference to DROM in my system log. were you able to find that and correct your DROM crc32? it appears you did since your DROM appears in your IOReg screen shot.

thanks
 
Last edited:
hopefully @dgsga will check in and suggest troubleshooting steps.

what my hangup is: his guide says to look in the system log after booting with the modded SSDT for a DROM error which will give the proper CRC32, since he changed one entry in my DROM to enable connection to port5. I don't find any reference to DROM in my system log. were you able to find that and correct your DROM crc32? it appears you did since your DROM appears in your IOReg screen shot.

thanks
No, I didn’t/don’t see DROM anywhere in the logs... I’m not sure it needs to be valid to appear in IOReg; maybe any property key/value can be added and it shows up?
 
No, I didn’t/don’t see DROM anywhere in the logs... I’m not sure it needs to be valid to appear in IOReg; maybe any property key/value can be added and it shows up?
When @dgsga looked at my IOReg and saw the absence of the DROM, he said to check again for a DROM error entry in my system log. None there.
Having said that, without the DROM loading, my Apple TB monitor including camera and mic is working fine. That's the only TB device I have and no plans to add more.

In about this Mac--system report--Thunderbolt, does your Thunderbolt bus appear?

I've been doing lots of experimenting with flashing my AR AIC, and now with the non-flash approach, and I have found that often I have needed to reset CMOS (then reset BIOS and unlock MSR) for the thunderbolt bus to appear and to get the TB tree to populate properly in IOReg. Other times, when when TB is missing, I just need to shut power off to the PSU for a few seconds, then restart, then often followed by a "warm boot".
 
** Thunderbolt Bus and Local Node Activation
on Asus ThunderboltEX 3 Alpine Ridge Card by Software Only **

Please do not quote this post in its entirety. Post a link instead.​


@dgsga @faithie999 @canyondust @losinka @NorthAmTransAm @scottkendall

Given the high degree of interest in enabling Thunderbolt Bus and Local Node on an add-in Alpine Ridge PCIe card without flashing, I decided to use @dgsga's mini-guide as a starting point for the following:
  • Asus ThunderboltEX 3 add-in-card
  • Asus X99 Deluxe II motherboard with THB_C header connected to Thunderbolt card
  • Asus ThunderboltEX 3 installed in bottom long slot of X99 Deluxe II motherboard
  • Why didn't I try this on the Designare Z390? Actually I did. But I wasn't able to force-power the card probably because connecting pins 3 and 5 does not work. Maybe @NorthAmTransAm knows how to do this without a THB_C header?
Well, what can I say? The darn thing worked on the first attempt with OpenCore as the boot loader, although Clover will work just as well. I'm using the generic Thunderbolt DROM from the Asus Thunderbolt3 EX micro-guide.

The DSDT for this board is different from Gigabyte's so it was necessary to briefly examine the native Asus DSDT. These changes were made specifically for the Asus X99 Deluxe II:
  • Thunderbolt root port is at _SB.PCI0.BR1A
  • There is no GPCB() function for returning the base address of GPIO
  • However, after examining the MMRP() (memory mapped root port) and MMTB() (memory mapped Thunderbolt) functions, it was clear that GPIO is defined by a named object PEMA, which is simply assigned 0xE0000000.
  • Because this board has a Thunderbolt header, it means DSDT can automatically determine the Thunderbolt Root Port using the MMRP() function.
  • So modifying the TbtOnPCH SSDT was relatively easy:
Screen Shot 2020-05-12 at 3.08.47 PM.png

  • Looking at the original DSDT, it was also obvious that Thunderbolt hot plug event is handled by GPE method _E10. So it was necessary to rename _E10 to XE10
    • Find: 5F453130
    • Replace: 58453130
    • Comment: Change _E10 to XE10
  • Finally, it was necessary to rename BR1A --> _INI() to BR1A --> XINI():
    • Find: 42523141 085F4144 520C0000 01005B80 4D43544C 000C8801 00E00A04 5B81134D 43544C01 00034847 50450100 07000800 08140D5F 494E49
    • Replace: 42523141 085F4144 520C0000 01005B80 4D43544C 000C8801 00E00A04 5B81134D 43544C01 00034847 50450100 07000800 08140D58 494E49
    • Comment: Change BR1A --> _INI to BR1A --> XINI
The new _E10 method then looks like this:

Screen Shot 2020-05-12 at 3.19.18 PM.png


After making these changes and rebooting without any TB3 device connected, I hot-plugged my 14-Port OWC Dock and it connected right away! Hot plug works! And Thunderbolt Bus and Local Node, plus Thunderbolt Switch 5 are working as well.

The obligatory gallery...

Screen Shot 2020-05-12 at 2.56.28 PM.pngScreen Shot 2020-05-12 at 2.56.34 PM.pngScreen Shot 2020-05-12 at 2.56.37 PM.pngScreen Shot 2020-05-12 at 2.56.43 PM.pngScreen Shot 2020-05-12 at 2.56.59 PM.pngScreen Shot 2020-05-12 at 2.57.59 PM.pngScreen Shot 2020-05-12 at 2.58.15 PM.png
 

Attachments

  • SSDT-TbtOnPch-Asus-X99.aml
    4.9 KB · Views: 140
Last edited:
when @dgsga looked at my IOReg and saw the absence of the DROM, he said to check again for a DROM error entry in my system log. none there.
having said that, without the DROM loading, my apple TB monitor including camera and mic is working fine. that's the only TB device I have and no plans to add more.

in about this Mac--system report--Thunderbolt, does your Thunderbolt bus appear?

I've been doing lots of experimenting with flashing my AR AIC, and now with the non-flash approach, and I have found that often I have needed to reset CMOS (then reset BIOS and unlock MSR) for the thunderbolt bus to appear and to get the TB tree to populate properly in IOReg. other times when when TB is missing, I just need to shut power off to the PSU for a few seconds, then restart, then often followed by a "warm boot".

Thunderbolt bus does not appear in the system report, but I'll try a CMOS reset and cold boot and see what happens too. I also think my RP05._INI rename might be wrong, the hex strings I've seen in guides are way longer than what I'm using....
 
Thunderbolt bus does not appear in the system report, but I'll try a CMOS reset and cold boot and see what happens too. I also think my RP05._INI rename might be wrong, the hex strings I've seen in guides are way longer than what I'm using....
I have not yet figured out how to determine the codes for find and replace for ACPI patching via boot loader, so I always patch my DSDT and load it via acpi/patched. I know you said that the process for that in OC is much more involved, but you may want to give it a try. In Clover I don't need to drop the OEM DSDT, just specify the name of the DSDT to load. Only when Clover can't find a DSDT in ACPI/patched with the right name, does it load the OEM DSDT (as far as I understand, anyway!). I always confirm that the patched DSDT has loaded by using MaciASL--new from ACPI--DSDT and inspect the regions that I modded.
 
Meaning it runs better on the FWs we have, no experimenting needed and no big issues so far. I think it's the main reason for most people to have gone with the Designare.

I am still confused because I am using an AIC with a modified firmware and it works perfectly. I do not have a Designare board.
 
Back
Top