- Joined
- Mar 28, 2011
- Messages
- 157
- Motherboard
- Aorus z370 Gaming 5
- CPU
- 8700K
- Graphics
- RX580
- Mac
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
Last edited: