Contribute
Register
After 3835648 tests and many hours lost, here are all the news!

I started by adapting the SSDTs used for the X299 chipset and by modifying some _DSM methods I got positive results.
For these changes I used the original Apple Thunderbolt SSDTs:
SSDT-Thunderbolt original iMac18,3 Download
SSDT-Thunderbolt original iMacPro Download

All the next SSDTs are based on my ACPI paths (PCI0.RP05.PXSX), if your paths are different you have to modify them on the ssdt.
I noticed that Apple uses a lot of variables and on this basis I realized this SSDT based on iMac18,3: SSDT V3 Download
Inserting the "PCI-Thunderbolt One" _DSM method in DSB1 makes it behave similarly to the SSDT V1 and V2

SSDT V1: Download
With this SSDT you can enable the hotplug of your Gigabyte card on the Thunderbolt port 1.
I inserted the "PCI-Thunderbolt One" _DSM Method on DSB1 and in this way you can hotplug one device at a time.
Precisely this is what happens:
STEP 1: UAD-2 Satellite and Apollo Twin connected and turned on at boot time.
STEP 2: I turned off and then turned on the only the Apollo Twin, which was reconnected properly.
STEP 3: I turned off and on both devices, but only the first (UAD-2 Satellite) connected correctly.

View attachment 327631

SSDT V2: Download
This is similar to the SSDT V1, but I added the "PCIHotplugcapable Zero" _DSM Method on DSB2 (like in iMac18,3).
STEP 1: UAD-2 Satellite and Apollo Twin connected and turned on at boot time.
STEP 2: I turned off and on both devices, but only the first (UAD-2 Satellite) connected correctly, while the Apollo Twin is not recognized correctly.
The addresses of the devices change, in fact they are mixed in a strange way on IOReg.

View attachment 327639

SSDT V1 and V2 work without using Arbitrary inject in Clover. If you have only one Thunderbolt device you can use them!
Both SSDTs add the PCI information to System info.
USB-C not tested, I do not know if it works.


Now comes the interesting part!
As @crismac2013 suggested today, I removed the THB_C cable from my GC-Alpine Ridge and something strange happened.
If you turn on the computer without Thunderbolt devices connected the Thunderbolt PCI card is not loaded, see Ioreg:

View attachment 327641
But if I have a device connected and turned on the PCI card is recognized and loaded correctly, but not only, in this way you have the hotplug of all devices!
View attachment 327642

For this to happen however, it is necessary to add these Arbitrary inject on Clover:
View attachment 327644
The PciAddr is that of PXSX:
View attachment 327645

Or simply use the SSDT V3: Download

I use a Thunderbolt dock that turns on when I turn on the computer (to be precise, since I use Fix Shutdown, never turns off like my USB devices), and then the Thunderbolt PCI card is charged every time the computer is started and all the devices after the dock are hotpluggable.

Obviously this is not a solution, but it makes clear that the problems with the hotplug derive from the functions that add the THB_C cable, so we are faced with two ways:
1- Finding the way to make the PCI card load from the system even without a connected THB_C cable
2- Understand what features this cable provides and whether it can be found in ACPI paths to include it in the SSDT

Ok. I dared to try the SSDT V3 but got halted. I'm probably doing something wrong since this is first time using an SSDT. The ONLY thing I did beside removing the cable was:
1. Put the SSDT V3.aml in EFI>CLOVER>ACPI>Patched>
2. In clover configurator select Drop OEM

55BF1BCE-0410-424B-955B-95B214607786.jpeg
 
Last edited:
Ok. I dared to try the SSDT V3 but got halted. I'm probably doing something wrong since this is first time using an SSDT. The ONLY thing I did beside removing the cable was:
1. Put the SSDT V3.aml in EFI>CLOVER>ACPI>Patched>
2. In clover configurator select Drop OEM

View attachment 327657
Put the ssdt in ACPI>patched and do not do anything else. First check that the ACPI paths of your motherboard are the same as the ssdt. In the worst case, once the computer is turned on nothing happens and the hotplug does not work.
All these ssdt are based on iMac18,3 smbios
 
Put the ssdt in ACPI>patched and do not do anything else. First check that the ACPI paths of your motherboard are the same as the ssdt. In the worst case, once the computer is turned on nothing happens and the hotplug does not work.
All these ssdt are based on iMac18,3 smbios
Screen Shot 2018-04-24 at 23.54.04.png
 
Try disconnecting and reconnecting the cable from your dock with the computer turned on and then restart the computer. Probably the dock has been switched off and does not activate the Alpine Ridge PCI card at startup
 
Try disconnecting and reconnecting the cable from your dock with the computer turned on and then restart the computer. Probably the dock has been switched off and does not activate the Alpine Ridge PCI card at startup
I changed method to the Arbitrary one. Now I see the dock. The Lacie-disk gave up on me because now the powerbutton on it doesn't work at all so I removed it from my chain. But the MOTU doesn't seem to work either. If I turn it off. I see stuff happening in IOreg but it doesn't seem to be recognised at all besides that.

I noticed the same thing in WIN10 too. Only TB3 dock gets connected.
 
Last edited:
I changed method to the Arbitrary one. Now I see the dock. The Lacie-disk gave up on me because now the powerbutton on it doesn't work at all so I removed it from my chain. But the MOTU doesn't seem to work either. If I turn it off. I see stuff happening in IOreg but it doesn't seem to be recognised at all besides that.

I noticed the same thing in WIN10 too. Only TB3 dock gets connected.
You have the same hardware as me, so it must work.
Probably you made some mistakes, try to read carefully my previous post (I made some changes that maybe you have not seen).
I do not know if the card works in Windows without the THB_C cable, but this is not a problem for now, because as I said this is not a permanent solution ;)
 
After 3835648 tests
Now comes the interesting part!
As @crismac2013 suggested today, I removed the THB_C cable from my GC-Alpine Ridge and something strange happened.
If you turn on the computer without Thunderbolt devices connected the Thunderbolt PCI card is not loaded, see Ioreg:

View attachment 327729
But if I have a device connected and turned on before boot the PCI card is recognized and loaded correctly, but not only, in this way you have the hotplug of all devices!
View attachment 327642

This is the same behaviour exhibited by the GA-Z170X-UD5 TH, which has built-in TB3 (no cable to remove)
We're getting closer and closer.
 
I think we are running in circles without coming much closer, at least for Z170x users with built-in TB. With all the suggestions(here and on the IM thread) I tried, something is wrong. Sleep doesn't work, or hot plug only works on 1 port, USB 3.1 stops working, my Hack reboots instead of shutting down, etc.
I appreciate all the work, but I have the impression people are just randomly changing stuff here and there hoping to come up with a magic combination.
 
Back
Top