Contribute
Register

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

@macs4me I am located in Los Angeles... Have SPI flasher
 
** 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.​
...

Hello Casey,

Do you think it is possible to software-enable (i.e. without flashing) the Thunderbolt Bus and Local Node for the Asus ThunderboltEX 3 Alpine Ridge card, but when installed into an Asus Prime Z370A motherboard vs. the Asus X99? The Asus Prime Z370A motherboard also supports the Thunderbolt header cable supplied with the Asus ThunderboltEX 3 card. I currently have the card installed (with cable) and it is working partially via an SSDT patch, but unfortunately the Thunderbolt bus and local node are not activated - i.e. I see "Thunderbolt: No drivers are loaded" under System Information. I have included my DSDT.aml file for the Prime Z370A in case you see a way to achieve the same software-only success as with the X99. Perhaps this has already been solved, but I could not find it. Apologies in advance if you have already posted a solution for this combination of card and motherboard. FYI - looking at my IO registry, the ThunderboltEX 3 card is located at root port 21 (RP21).
 

Attachments

  • DSDT.aml
    183.2 KB · Views: 65
Hello @CaseySJ

Does slide = 0 have any function on the Open Core ? (EFI)

Thanks
 
Hello @CaseySJ

Does slide = 0 have any function on the Open Core ? (EFI)

Thanks
Alas that is a vestige of days gone by and may safely be deleted!
 
Hello Casey,

Do you think it is possible to software-enable (i.e. without flashing) the Thunderbolt Bus and Local Node for the Asus ThunderboltEX 3 Alpine Ridge card, but when installed into an Asus Prime Z370A motherboard vs. the Asus X99? The Asus Prime Z370A motherboard also supports the Thunderbolt header cable supplied with the Asus ThunderboltEX 3 card. I currently have the card installed (with cable) and it is working partially via an SSDT patch, but unfortunately the Thunderbolt bus and local node are not activated - i.e. I see "Thunderbolt: No drivers are loaded" under System Information. I have included my DSDT.aml file for the Prime Z370A in case you see a way to achieve the same software-only success as with the X99. Perhaps this has already been solved, but I could not find it. Apologies in advance if you have already posted a solution for this combination of card and motherboard. FYI - looking at my IO registry, the ThunderboltEX 3 card is located at root port 21 (RP21).
Hello @maXterm,

We were indeed able to activate ThunderboltEX 3 on Asus Prime Z370A. It will not be perfect, but the limitations could be worked around. I would encourage you to try the solution presented below, but keep this in mind:
  • First perform a cold boot with no TB devices connected.
  • Check if Thunderbolt Bus is activated (System Information --> Thunderbolt).
  • If so, hot plug a TB device. Does it connect and work?
  • If not, keep the device connected and reboot the system.
  • Does it work now?
  • Try USB-C devices as well. They may or may not need to be connected prior to boot.
  • Also check sleep/wake behavior with TB devices connected.
In other words, the SSDT can enable Thunderbolt Bus, but it's up to you to find the limitations and see if you can work around those limitations.

Screen Shot 2020-09-13 at 8.00.31 AM.png


 
Some other questions:
  • Have you tried different HDMI and DisplayPort cables?
  • Have you tried the following:
    • Physically remove the RX 580
    • Connect your monitor (one or both) to the on-board video ports
      • Use USB-C to DisplayPort cable
      • Use HDMI to HDMI cable
    • Then test sleep and wake in Windows (macOS will not output anything over those ports unless we change Platform ID to 0x3E9B0007 and enable HDMI framebuffer patches).
      • Because problem is occurring in Windows as well, first test this setup under Windows.
    • This can tell us if the RX 580 is the culprit.
Hi again, Casey. So I followed some of your instructions and here's the result (I know I'm repeating myself, but here's the link to the post that summarizes the issue and steps taken):
  • Have you tried different HDMI and DisplayPort cables?
I tried different HDMI cables, but the result is the same. Unfortunately, I don't have a display port cable.
  • Physically remove the RX 580
    • Use HDMI to HDMI cable
    • Then test sleep and wake in Windows
I was able to go into hibernation and wake up normally, without any issues. Tried several times.
Unfortunately, I wasn't able to test with two monitors, because there's only one HDMI port in the MB, and and mentioned earlier I don't have a DP cable.

I should mention that after reinstalling RX580 I was able to load Windows once, the second time I got BSOD, after that the original problem returned (after trying to wake, fans and LED turn on, but monitors stay dark), so I could no longer wake the machine without pressing the reset button on the case quite a few times (pausing 5-7 seconds between each press). Does that mean the issue is indeed with the graphics card?
 
Hi again, Casey. So I followed some of your instructions and here's the result (I know I'm repeating myself, but here's the link to the post that summarizes the issue and steps taken):

I tried different HDMI cables, but the result is the same. Unfortunately, I don't have a display port cable.

I was able to go into hibernation and wake up normally, without any issues. Tried several times.
Unfortunately, I wasn't able to test with two monitors, because there's only one HDMI port in the MB, and and mentioned earlier I don't have a DP cable.

I should mention that after reinstalling RX580 I was able to load Windows once, the second time I got BSOD, after that the original problem returned (after trying to wake, fans and LED turn on, but monitors stay dark), so I could no longer wake the machine without pressing the reset button on the case quite a few times (pausing 5-7 seconds between each press). Does that mean the issue is indeed with the graphics card?
Yes it is sounding like a problem with the RX 580.
  • Is it inserted properly?
  • Are the PCI power cables (8-pin and/or 6-pin) connected?
  • Are there any other discrete GPUs in the system?
  • Are there any other PCIe cards in the system (other than WiFi/BT)?
 
Yes it is sounding like a problem with the RX 580.
  • Is it inserted properly?
  • Are the PCI power cables (8-pin and/or 6-pin) connected?
  • Are there any other discrete GPUs in the system?
  • Are there any other PCIe cards in the system (other than WiFi/BT)?

  • I took it out and reinstalled, looked like it was inserted properly.
  • 8-pin cable is connected.
  • No other discrete GPUs.
  • Not other PCIe cards, not even WiFi/BT (I use LAN).
What confuses me is I hadn't disassemble the case up until now, so I don't understand why it just stopped working abruptly after about 6 months of consistent work.
Also the machine/video card work normally once booted, so I don't really see how connection or power could be the cause of the problem.
 
Last edited:
  • I took it out and reinstalled, looked like it was inserted properly.
  • 8-pin cable is connected.
  • No other discrete GPUs.
  • Not other PCIe cards, not even WiFi/BT (I use LAN).
What confuses me is I hadn't disassemble the case up until now, so I don't understand why it just stopped working abruptly after about 6 months of consistent work.
Oh that's unfortunate. I use CyberPower and APS uninterruptible power supplies on all of my systems. Simply cannot trust the power grid around here...
 
Hello @maXterm,

We were indeed able to activate ThunderboltEX 3 on Asus Prime Z370A. It will not be perfect, but the limitations could be worked around. I would encourage you to try the solution presented below, but keep this in mind:
  • First perform a cold boot with no TB devices connected.
  • Check if Thunderbolt Bus is activated (System Information --> Thunderbolt).
  • If so, hot plug a TB device. Does it connect and work?
  • If not, keep the device connected and reboot the system.
  • Does it work now?
  • Try USB-C devices as well. They may or may not need to be connected prior to boot.
  • Also check sleep/wake behavior with TB devices connected.
In other words, the SSDT can enable Thunderbolt Bus, but it's up to you to find the limitations and see if you can work around those limitations.

Thanks very much Casey for pointing me in the right direction. I followed the procedures specified in the links for the ASUS Prime Z370A (my motherboard is the original Prime, not the Prime-II) and now have a working software-only TB bus and local node implementation - fantastic result! To improve things a bit, I tweaked the SSDT file SSDT-TbtOnPch-Asus-Z370-A.aml in the following ways:

1. Under device XHC2, added HS and SS support for the USB-C port on the card (note the default SSDT only enabled the Type A port using USB-C properties - I corrected this). I also added model, device_type, and slot naming so the TB USB Controller shows up in System Information under PCI. The names I used are taken from Hackintool patch info. In addition, I added _PRW and _RMV methods in case these were needed for power management of the USB ports for proper sleep and wake-up. I am not sure if these are necessary - perhaps you can comment.

2. Updated the ThunderboltDROM (using HackinDROM) since the default SSDT seemed to have a mismatch between the DROM length bytes and the overall DROM buffer size (ref your post "Thunderbolt ROM Decoded"). I also wanted to match the DROM 9-byte preamble to my SMBIOS choice of the iMac18,3 model. I am not sure if these changes were completely necessary, but I proceeded anyways for consistency. I also updated the Thunderbolt Controller model, device_type, and slot-name to match Hackintool patch info.

With these changes, I get the following very positive result:

1. TB Bus and Local Node are enabled after boot. I can see this under System Information and in the IO Registry.
2. Hot Plug of another Mac in Target Disk Mode works perfectly. I used the Apple TB3 (USB-C) to TB2 adaptor with a TB2 cable connected to a MacBookPro9,2 booted in Target Disk Mode. The MacBook Pro drives show up immediately on the Hack. I can eject them, remove the cable and reattach at will. The drives are remounted.
3. Thunderbolt Bridge shows up as a connection type under System Prefs->Network. I presume if I had an Apple TB to ethernet adaptor I would be able to establish a network connection (not tested).
4. I don't have any DAW hardware, so unfortunately I cannot test any pro audio solutions with my setup.
5. The USB-C and Type A ports work correctly with both HS and SS usb sticks. Mounted thumb drives survive sleep and wake-up without ejection. USB-C and USB Type A drives are remounted automatically on wake-up.
6. Computer sleep and wake-up are working properly (ie. not prevented by this setup).

However, there are two significant failures/limitations:

7. The TB bus and local node do not appear to survive sleep and wake-up. TB-connected drives (i.e. my test Mac in Target Disk Mode) are force-ejected on sleep. After wake-up, I cannot reconnect the drives even by removing and reinserting the TB adaptor and/or cable. Clearly some of the Thunderbolt power management properties of the setup (hardware?, firmware?, SSDT?) are not working.
8. The TB bus and local node do not appear to come up at all if my test drive (i.e. Mac in Target Disk Mode) is attached to the TB card at boot time.

Note that I am using Clover 5107 with an iMac18,3 SMBIOS (very stable) and am running MacOS Mojave 10.14.6 (also very stable).

Do you have any insight or suggestions regarding the final limitations (TB bus sleep/wake problem, TB failure on boot with drive attached) in an otherwise almost-perfect setup. Are these limitations correctable, or are they limitations of the software-only approach? For instance, would flashing the firmware on the card overcome these, or could it possibly introduce other different problems?

I would like to say how impressed I am regarding the progress you and others have made on making very a complex Thunderbolt scenario a real working possibility on Hacks.

I have attached my updated SSDT-TbtOnPch-Asus-Z370-A-v2.aml file below for your comments or in case others may benefit.
 

Attachments

  • SSDT-TbtOnPch-Asus-Z370-A-v2.aml
    5.2 KB · Views: 71
Back
Top