• Become a Premium Member for $25/year with no ads to improve your community experience.

Excuse me for this! I updated my original topic! 😊
 
  • Like
Reactions: EliteMacx86
Titan Ridge can hotplug in macOS on cold boot?! with original firmware? this is news, I'm shocked. with nothing plugged at boot?
 
Titan Ridge can hotplug in macOS on cold boot?! with original firmware? this is news, I'm shocked. with nothing plugged at boot?
Yes, of course. That's what we have tested on at least 6 motherboards. More updates coming soon. Upcoming news will shock many people over the internet. We're coming with a TB 4 Hotplug guide soon.
 
Hi all,

Great guide @EliteMacx86!

There is just one thing I can't get my head around. I'm trying to use this Focusrite Firewire Audio Interface via 2 adapters (FW -> TB2 and TB2 -> TB3 going into Gigabyte Titan Ridge 2.0 expansion card). My Hackintosh build recognises the hardware and it comes up in Sound Preference menu as availbale Output device, however, when I select it no Sound would come out. All latest firmware and software drivers have been installed. Also, everything works like a charm in Windows 10 with the same signal chain, no issues there. Not sure what am I missing here. Whether it has something to do with it being a Firewire device, or ACPI path used in SSDT.

Also, I guess it's worth mentioning that the hotplug is not working for me either. Device only gets recognised if pluged in during the boot. It won't power up if I unplug it and connect it to the system again later on.

This is my first ever Hackintosh build so any help would be much appreciated.

Many thanks.
R.
 
Hi all,

Great guide @EliteMacx86!

There is just one thing I can't get my head around. I'm trying to use this Focusrite Firewire Audio Interface via 2 adapters (FW -> TB2 and TB2 -> TB3 going into Gigabyte Titan Ridge 2.0 expansion card). My Hackintosh build recognises the hardware and it comes up in Sound Preference menu as availbale Output device, however, when I select it no Sound would come out. All latest firmware and software drivers have been installed. Also, everything works like a charm in Windows 10 with the same signal chain, no issues there. Not sure what am I missing here. Whether it has something to do with it being a Firewire device, or ACPI path used in SSDT.

Also, I guess it's worth mentioning that the hotplug is not working for me either. Device only gets recognised if pluged in during the boot. It won't power up if I unplug it and connect it to the system again later on.

This is my first ever Hackintosh build so any help would be much appreciated.

Many thanks.
R.
Thank you for providing the details. Please attach the required PR files to investigate further.
 
Thank you @EliteMacx86 for quick response. Here is the .zip folder with files. Hope I did not miss anything.

Best regards,
R.
 

Attachments

  • Files.zip
    2.5 MB · Views: 131
Thank you @EliteMacx86 for quick response. Here is the .zip folder with files. Hope I did not miss anything.

Best regards,
R.
Incomplete PR files attached. Please check the first post.
As per your IOReg, the TB SSDTs are correct and the device seems to be working. However, additional details are needed. If you're not having an Audio Output, it's due to wrong configuration and must be solved.
 
Last edited:
Hi - Further to my message on another thread - Im running Catalina 10.15.6 on a up4-x79 MB . Ive installed Titan Ridge Thunderbolt card which I flashed with DSM Mac firmware -latest version. Im using the pin method as I don't have a TB header. I got a friend on another forum to modify the SSDT for TB for Mac Pro 5.1 to my Hackintosh. Its working in that all devices except the most important one - A Focusrite Red Line 16 Audio Interface are working.The Red is seen by my system and can be controlled via the app and has a green Thunderbolt light showing its happy however it won't play system audio and as a result won't play any audio app. I have confirmed Thunderbolt works on the Red by testing the unit on my Mac mini which is a TB2 - I have enclosed screenshots of IOreg and Sys Prof for the device working on that machine - there are some differences. Im not clever enough to know if they are significant. Having found this thread I tried the steps above - the SSDT seems to have the right numbers although my bus is NPE9 - I installed the two files in the relevant EFI folders. This actually killed TB completely in my machine. Took a while to get back to where it was. Im really hopeful that someone with more knowledge can spot what I don't have right here. I think im close but the last part of this jigsaw is driving me to drink...:) Files enclosed as requested together with a working version in the Mac mini folder.
Hello,
First of all my apologies to miss your post. Interestingly, i'm working on a similar issue with the same vendor but another Audio Interface model. For your issue, i see that you're using a Dock. Have you tested it without the Dock?
 
How to Enable Thunderbolt 3 Hotplug on macOS [Clover/OpenCore]
An EliteMacx86 Exclusive Guide - This guide covers implementation of Thunderbolt 3 Hotplug on macOS for single and multiple Thunderbolt 3 Cards.

Overview


An EliteMacx86 Exclusive Guide - In our previous post, we covered a guide about implementation of Thunderbolt on macOS. This guide covers the implementation of Thunderbolt 3 Hotplug.

You can read about the implementation of Thunderbolt 3 here:

For more information on Thunderbolt 4 Hotplug, refer to the guide linked below.

Implementation of Hotplug with Thunderbolt has been always a major issue with macOS. But Thanks to users like KGP who has been able to implement it on the hardware. The reason with the not working of Hotplug with the Thunderbolt is due to the working style of thunderbolt on both the platform i.e. Windows and Mac. On Windows hardware, the working of Thunderbolt is different as compared to a real Macintosh.

Before getting into it, let's get to know about the working of ThunderBolt on Mac and Windows hardware which will help you to understand about the working of Hotplug.

On Windows hardware, the Thunderbolt is only powered up when any Thunderbolt compatible Device is connected. The device triggers the thunderbolt to function and turns on the power to the connected device. Once, it's disconnected, the power to the port is also turned off.

On the other hand, on Mac, it's not the same. On Mac, the Thunderbolt is always on until the system is turned off. When any device is connected to the Thunderbolt port, the Device automatically connects to the thunderbolt and this is the reason the hotplug basically works. The Thunderbolt is always active as it keeps drawing the power.

On the Hackintosh, it's little bit different or you can say, it's mixed. The thunderbolt will function only if the device is connected before booting to macOS i.e preboot mode. If you disconnect it, the device no longer function and you need to restart the system again. Hence, the system is not capable of Hotplug.

But by using this guide, you would be able to implement Hotplug.

Requirements


Compatible Thunderbolt Chipset
Vanilla Thunderbolt kexts in S/L/E
Any Thunderbolt compatible Device to check and verify the status
MaciASL
IOReg

Enabling hotplug can be quite complex process and time consuming. But if done correctly, you can have a working Thunderbolt with hotplug feature with the required speed and performance.

Following are the test devices used as an example for this guide which features Audio Interfaces, Dock, and Thunderbolt Drives. From consumer series to HEDT series motherboard, it works as expected.

Thunderbolt Devices:
  • Element 88 from Apogeedigital
  • G-Technology 3TB
  • UAD Twin Apollo
  • Belkin Thunderbolt 3 Mini Dock with 4K Dual HDMI
  • Ash Creek NVMe
  • TBT3 SSD 480

Motherboards:
  • GIGABYTE Z370 AORUS GAMING 3
  • GIGABYTE Z390 AORUS ELITE
  • GIGABYTE Z490 VISION G
  • GIGABYTE X299X DESIGNARE 10G
  • MSI X299 RAIDER
  • EVGA X299 Micro

Thunderbolt Status


Following are the Thunderbolt Status for the following Thunderbolt Hardware. The table provides the functionality and features with Hotplug for several devices and with different Thunderbolt hardware setup such as Multiple Alpine Ridge and Titan Ridge Card for a TB extensive workflow.

FunctionSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Booting with Thunderbolt Device ConnectedYES✅❌✅
Thunderbolt Hotplug with Cold BootYES✅❌✅
Thunderbolt Hotplug with Warm BootYES✅❌✅
Thunderbolt Hotplug with no Device Connected at BootYES❌❌❌
Sleep with Thunderbolt Device ConnectedYES✅❌Inconsistent Sleep
Wake with Thunderbolt Device ConnectedYES✅❌❌
Shut Down with Thunderbolt Device ConnectedYES✅❌❌
Thunderbolt Auto Reconnect after SleepYESNO


OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Booting with USB Device ConnectedYES✅❌✅
USB Hotplug with Cold BootYES✅❌✅
USB Hotplug with Warm BootYES✅❌✅
Sleep with USB Device ConnectedYES✅❌✅
Wake with USB Device ConnectedYES✅❌✅
Shut Down with USB Device ConnectedYES✅❌✅
USB Type-C Auto Reconnect after SleepYES

Display
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt DisplayNot TestedNot TestedNot TestedNot Tested
Type-C Display✅✅❌✅
Type-C Display Cold Boot❌Not Tested❌Not Tested
Type-C Display Hotplug✅✅❌✅

Drive
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Drive✅✅❌✅
Thunderbolt Drive Hotplug✅✅❌✅
Thunderbolt NVMe✅✅❌✅
Thunderbolt NVMe Hotplug✅✅❌✅

Dock
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Dock✅✅❌✅
Thunderbolt Dock Hotplug✅✅❌✅
Thunderbolt Dock Ethernet✅✅❌✅
Thunderbolt Dock Display Port✅✅❌✅
Thunderbolt Dock HDMI✅✅❌✅
Thunderbolt Dock USB✅✅❌✅
Thunderbolt Dock Audio✅✅❌✅

eGPU
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt eGPU✅✅❌✅
Thunderbolt eGPU Hotplug❌❌❌❌

Audio
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Audio Interface✅✅❌✅
Thunderbolt Audio Interface Hotplug✅✅❌✅

Adapters
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Ethernet Adapter✅✅❌✅
Thunderbolt Ethernet Adapter Hotplug✅✅❌✅
Thunderbolt 2 to Thunderbolt 3✅✅❌✅

OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Booting with Thunderbolt Device Connected✅✅❌✅
Thunderbolt Hotplug with Cold Boot✅✅❌✅
Thunderbolt Hotplug with Warm Boot✅✅❌✅
Thunderbolt Hotplug with no Device Connected at Boot✅❌❌❌
Sleep with Thunderbolt Device Connected✅✅❌Inconsistent Sleep
Wake with Thunderbolt Device Connected✅✅❌❌
Shut Down with Thunderbolt Device Connected✅✅❌❌
Thunderbolt Auto Reconnect after SleepYESNO


OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Booting with USB Device Connected✅✅❌✅
USB Hotplug with Cold Boot✅✅❌✅
USB Hotplug with Warm Boot✅✅❌✅
Sleep with USB Device Connected✅✅❌✅
Wake with USB Device Connected✅✅❌✅
Shut Down with USB Device Connected✅✅❌✅
USB Type-C Auto Reconnect after SleepYESNO

Display
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt DisplayNot TestedNot TestedNot TestedNot Tested
Type-C Display✅✅❌✅
Type-C Display Cold Boot❌Not Tested❌Not Tested
Type-C Display Hotplug✅✅❌✅

Drive
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Drive✅✅❌✅
Thunderbolt Drive Hotplug✅✅❌✅
Thunderbolt NVMe✅✅❌✅
Thunderbolt NVMe Hotplug✅✅❌✅

Dock
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Dock✅✅❌✅
Thunderbolt Dock Hotplug✅✅❌✅
Thunderbolt Dock Ethernet✅✅❌✅
Thunderbolt Dock Display Port✅✅❌✅
Thunderbolt Dock HDMI✅✅❌✅
Thunderbolt Dock USB✅✅❌✅
Thunderbolt Dock Audio✅✅❌✅

eGPU
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt eGPU✅✅❌✅
Thunderbolt eGPU Hotplug❌❌❌❌

Audio
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Audio Interface✅✅❌✅
Thunderbolt Audio Interface Hotplug✅✅❌✅

Adapters
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Ethernet Adapter✅✅❌✅
Thunderbolt Ethernet Adapter Hotplug✅✅❌✅
Thunderbolt 2 to Thunderbolt 3✅✅❌✅

SPECIFICATION
ModelControllerFamilyInterfaceSpeedPortsTB Device Per PortDisplay SupportDaisy ChainThunderbolt HeaderUSB HeaderAdditional Power
GIGABYTE GC-Thunderbolt 2PCIe 2.0 x420Gb/s2xTB2 | 2xDP IN6 Devices per port4KYESYESNONO
GIGABYTE GC-ALPINE RIDGE Rev. 1.0DSL6540 B-StepAlpine RidgePCIe 3.0 x440Gb/s2xTB3 | 1xHDMI | 2xDP IN6 Devices per port1x5K @60Hz or 2x4K @60HzYES1xNO
GIGABYTE GC-ALPINE RIDGE Rev. 2.0DSL650 C-StepAlpine RidgePCIe 3.0 x440Gb/s2xTB3 | 1xHDMI | 2xDP IN6 Devices per port1x5K @60Hz or 2x4K @60HzYES1xNO
GIGABYTE GC-TITAN RIDGE Rev. 1.0DSL7540Titan RidgePCIe 3.0 x440Gb/s2xTB3/USB 3.1 Gen2 Type-C | 1xDP | 2xmDP IN6 Devices per port4KYES1x5PINYES2x6PIN PCIE
GIGABYTE GC-TITAN RIDGE Rev. 2.0DSL7540Titan RidgePCIe 3.0 x440Gb/s2xTB3/USB 3.1 Gen2 Type-C | 1xDP | 2xmDP IN6 Devices per port4KYES1x5PINYES2x6PIN PCIE


Thunderbolt
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYESYESNONOYES
Thunderbolt Hotplug with Cold BootYESYESNONOYES
Thunderbolt Hotplug with Warm BootYESYESNONOYES
Thunderbolt Hotplug with no Device Connected at BootYESNONONONO
Sleep with Thunderbolt Device ConnectedYESYESNONOINCONSISTENT SLEEP
Wake with Thunderbolt Device ConnectedYESYESNONONO
Shut Down with Thunderbolt Device ConnectedYESYESNONONO
Thunderbolt Auto Reconnect after SleepYESNONONOT TESTED

USB Type-C
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with USB Device ConnectedYESNONOYES
USB Hotplug with Cold BootYESNONOYES
USB Hotplug with Warm BootYESNONOYES
Sleep with USB Device ConnectedYESNONOYES
Wake with USB Device ConnectedYESNONOYES
Shut Down with USB Device ConnectedYESNONOYES
USB Type-C Auto Reconnect after SleepYESNONONOT TESTED


Display
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
NO
NONOT TESTED
Thunderbolt DisplayYESNONO
Type-C DisplayYESNONO
Type-C Display Cold BootYESNONONOT TESTED
Type-C Display HotplugYESNONO


Dock
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt DockYESNONOYES
Thunderbolt Dock HotplugYESNONOYES
Thunderbolt Dock EthernetYESNO
NO
YES
Thunderbolt Dock Display PortYESNONOYES
Thunderbolt Dock HDMIYESNONOYES
Thunderbolt Dock USBYESNONOYES
Thunderbolt Dock AudioYESNONOYES


eGPU
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt eGPUYESNONOYES
Thunderbolt eGPU HotplugYESNONO


Audio
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Audio InterfaceYESNONOYES
Thunderbolt Audio Interface HotplugYESNONOYES


Adapters
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Ethernet AdapterYESNOYESYESNOYES
Thunderbolt Ethernet Adapter HotplugYESNOYESYESNOYES
Thunderbolt 2 to Thunderbolt 3YESNOYESYESNOYES

Notes:
  • *Refers to Single Thunderbolt Card.
  • **Refers to Multiple Thunderbolt Cards.

ModelControllerFamilyInterfaceSpeedPortsTB Device Per PortDisplay SupportDaisy ChainThunderbolt HeaderUSB HeaderAdditional Power
ASUS THUNDERBOLTEX 3DSLXXXPCIe 3.0 x440Gb/s1xTB3/Type-C | 1xUSB 3.1 Type-A | 1xmDP IN6 Devices per port4K @60HzYESYESNONO
ASUS THUNDERBOLTEX 3-TRJHL7540Titan RidgePCIe 3.0 x440Gb/s2xTB3/Type-C | 1xDP IN | 1xmDP IN6 Devices per port8K @60HzYES1x5PINYES1x6PIN PCIE
ASUS THUNDERBOLTEX-4JHLXXXXPCIe 3.0 x440Gb/s2xTB3/Type-C | 1xDP IN | 2xmDP IN and 1xInternal Mini DP5 Devices per port8K @60HzYES1x5PINYES1x6PIN PCIE


Thunderbolt
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
Thunderbolt Hotplug with Cold BootYES
Thunderbolt Hotplug with Warm BootYES
Thunderbolt Hotplug with no Device Connected at BootYES
Sleep with Thunderbolt Device ConnectedYES
Wake with Thunderbolt Device ConnectedYES
Shut Down with Thunderbolt Device ConnectedYES
Thunderbolt Auto Reconnect after SleepYES

USB Type-C
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with USB Device ConnectedYES
USB Hotplug with Cold BootYES
USB Hotplug with Warm BootYES
Sleep with USB Device ConnectedYES
Wake with USB Device ConnectedYES
Shut Down with USB Device ConnectedYES
USB Type-C Auto Reconnect after SleepYES


Display
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
Thunderbolt DisplayYES
Type-C DisplayYES
Type-C Display Cold BootYES
Type-C Display HotplugYES


Dock
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt DockYES
Thunderbolt Dock HotplugYES
Thunderbolt Dock EthernetYES
Thunderbolt Dock Display PortYES
Thunderbolt Dock HDMIYES
Thunderbolt Dock USBYES
Thunderbolt Dock AudioYES


eGPU
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt eGPUYES
Thunderbolt eGPU HotplugYES
Thunderbolt eGPU HotplugYES


Audio
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Audio InterfaceYES
Thunderbolt Audio Interface HotplugYES


Adapters
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Ethernet AdapterYES
Thunderbolt Ethernet Adapter HotplugYES
Thunderbolt 2 to Thunderbolt 3YES

Notes:
  • *Refers to Single Thunderbolt Card.
  • **Refers to Multiple Thunderbolt Cards.

ModelControllerInterfaceSpeedPortsTB Device Per PortDisplay SupportDaisy ChainThunderbolt HeaderUSB HeaderAdditional Power
AsRock Thunderbolt 3 AICJHL6540PCIe 3.0 x440Gb/s2xTB3/Type-C | 1xDP IN | 1xmDP IN6 Devices per port1x5K @60Hz or 2x4K @60HzYES1x5PINNONO
AsRock Thunderbolt 3 AIC R2.0JHL6540PCIe 3.0 x440Gb/s2xTB3/Type-C | 1xDP IN | 1xmDP IN and 1xInternal Mini DP6 Devices per port1x5K @60Hz or 2x4K @60HzYES1x5PINNONO


Thunderbolt
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
Thunderbolt Hotplug with Cold BootYES
Thunderbolt Hotplug with Warm BootYES
Thunderbolt Hotplug with no Device Connected at BootYES
Sleep with Thunderbolt Device ConnectedYES
Wake with Thunderbolt Device ConnectedYES
Shut Down with Thunderbolt Device ConnectedYES
Thunderbolt Auto Reconnect after SleepYES

USB Type-C
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with USB Device ConnectedYES
USB Hotplug with Cold BootYES
USB Hotplug with Warm BootYES
Sleep with USB Device ConnectedYES
Wake with USB Device ConnectedYES
Shut Down with USB Device ConnectedYES
USB Type-C Auto Reconnect after SleepYES


Display
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
Thunderbolt DisplayYES
Type-C DisplayYES
Type-C Display Cold BootYES
Type-C Display HotplugYES


Dock
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt DockYES
Thunderbolt Dock HotplugYES
Thunderbolt Dock EthernetYES
Thunderbolt Dock Display PortYES
Thunderbolt Dock HDMIYES
Thunderbolt Dock USBYES
Thunderbolt Dock AudioYES


eGPU
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt eGPUYES
Thunderbolt eGPU HotplugYES
Thunderbolt eGPU HotplugYES


Audio
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Audio InterfaceYES
Thunderbolt Audio Interface HotplugYES


Adapters
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Ethernet AdapterYES
Thunderbolt Ethernet Adapter HotplugYES
Thunderbolt 2 to Thunderbolt 3YES

Notes:
  • *Refers to Single Thunderbolt Card.
  • **Refers to Multiple Thunderbolt Cards.

macOS Support


You can find the support table listed below for each particular macOS version with each setup.

ControllerFamilymacOS SierramacOS High SierramacOS MojavemacOS CatalinamacOS Big Sur
DSL3510LCactus RidgeYES
DSL6540Alpine RidgeYESYESYESYES
JHL7540Titan RidgeYESYESYESYES
JHL8540Maple RidgeNONONONOYES

THB_C and TB Settings Support


You can find the support table listed below for each particular macOS version with each setup.

AvailabilityThunderboltUSB Type-C
Motherboard with THB_C HeaderYESYES
Motherboard without THB_C HeaderYESNO
Motherboard with TB SettingsYESYES
Motherboard without TB SettingsYESYES




SMBIOS Support


You can find the support table listed below for each particular macOS version with each setup.



Thunderbolt Firmware Configuration


There can be normally two firmware configuration for Thunderbolt 3. Original and Custom firmware Configuration. Both of them have been described below.

Original Firmware:
A original firmware is provided and is already flashed on the Thunderbolt Card. When you setup multiple Thunderbolt Cards, only one Card will work in a desired way and the other cards will not work due to limitation of different device address.

Custom Firmware:
A custom firmware is modified some of the experts from this community which eliminates the limitation of Thunderbolt Cards with different device addresses and also provides additional function such as Thunderbolt Bus configuration, visibility under System Report>Thunderbolt.

Thunderbolt Configuration


There can be normally two configuration for Thunderbolt 3. Single Card and Multiple Card Configuration. Where, single card offers up to "two" thunderbolt 3 ports and multiple card can offer up to "twelve" thunderbolt 3 ports depending on the PCIe slots available where one slot is always reserved for the GPU. These can be further categorized into four more configuration which are outlined below.

Single Card with Original Firmware:
A single Card with original firmware can offer up to "two" Thunderbolt 3 ports which doesn't requires flashing of a custom firmware for macOS.

Single Card with Custom Firmware:
A single card with original firmware can offer up to "two" Thunderbolt 3 ports which requires flashing of a custom firmware for macOS. With a custom firmware, it can provide additional function, visibility and additional information of Thunderbolt under System Report>Thunderbolt section.

Multiple Card with Original Firmware:
Multiple cards with original firmware can range between two (minimum) or more (up to 6, maximum) Thunderbolt card installed. HEDT and Workstation motherboards can offer up to 7 PCIe slots. However, one slot is reserved for GPU. Hence, the maximum capacity is six Thunderbolt 3 Cards. The drawback of using multiple cards with original firmware is that other than the reserved slot for Thunderbolt or small peripherals where the device address is usually PXSX, will be initialized and fully work, more likely like a single card with custom firmware. The rest of the cards installed will not function in any way. This is because, unless the card is flashed with a custom firmware, the Thunderbolt cannot be driven due to having different address such as BR1A, BR3A, PEGP, SL01, SL09.

Multiple Card with Custom Firmware:
Multiple cards with custom firmware can be best suited to professional music producers, video editors, motion and VFX artists. This option offers the maximum expandability of Thunderbolt 3. Offering up to 12 ports when 6 Thunderbolt Card is installed which is a maximum configuration as of now. Note that one slot is always reserved for GPU. With a custom firmware flashed on multiple Thunderbolt Card, it removes the limitation of utilizing multiple Thunderbolt cards. It also offers functionality such as Hotplug which can be achieved very easily.


Selecting Thunderbolt Configuration


Depending on your need for Thunderbolt, where the key factor can be the requirement of each individual Thunderbolt 3 ports, select your configuration and start the preparation for Thunderbolt 3 Hotplug. If you're looking for a simple Thunderbolt with Hotplug functionality and don't want to flash a custom firmware due to the complexity of the guide or not willing to take risk, the best choice would be to go for single card with original firmware. However, even if you don't want to flash your Thunderbolt with a custom firmware, you may need to flash it for some devices which requires Thunderbolt Bus to utilize a particular Thunderbolt device.

Flashing Custom Firmware

If you're planning to flash the custom firmware depending on your Thunderbolt needs, @mooseknuckleboi has written a very well guide explaining flashing Thunderbolt Cards for macOS. You can find more information for his thread linked below.

Enabling Thunderbolt 3 Hotplug


Now, you have enough information about Thunderbolt configuration, firmware, and the limitations and the next step is to enable Thunderbolt Hotplug To enable Hotplug, follow the steps outlined below.

Getting ACPI path
Before you start preparing the SSDT, it's recommended to find the ACPI path of the Thunderbolt Card.

For Single Card and Onboard Thunderbolt:
Connect any TB device and boot the system in order to get the ACPI path for the Thunderbolt Card on your Motherboard.
Now once the system is up, the next step is to get the ACPI path. To check the ACPI path, just open IOReg and type Thunderbolt in the search bar.

You should see something similar like in the attached screenshot.
View attachment 2047
Once you have located Thunderbolt node, you can clear the search to get the complete node info.
View attachment 2048
If you check, in the above screenshot, we have some Thunderbolt and USB connectors listed. You need to locate your current connector which is driving the connection to the Thunderbolt. A simple way to find this out is to just find the connector having Thunderbolt properties with AppleThunderboltHAL. In our case, it is RP21@1B,4. Your system can have a different one. Make sure to locate the right one.

For Multiple Cards:
Getting ACPI path is bit complex than single and onboard Thunderbolt. Follow the steps below.
You can install all the Thunderbolt Cards and get multiple ACPI path or can also use one card in each particular slot and then get the ACPI path.

To check the ACPI path, just open IOReg and type Thunderbolt in the search bar.

In our case, here are the following ACPI path

For Slot #2

For Slot #3

For Slot #5



However, this is the first phase of the ACPI path. To complete the second phase, you'll need to use a Thunderbolt SSDT and adapt for the every slot except PXSX and note down the new ACPI path. Note that normally it's PEGP. However, we recommend you to go through the second phase and confirm the ACPI path to make sure there is no fluke.

For Slot #3

For Slot #5


Obtaining Sample Thunderbolt SSDT

To get the sample Thunderbolt SSDT, follow the steps below.

1. Open HackinDROM website in your web browser.
2. Select your Thunderbolt Controller from the drop-down list.
3. You'll see the list of available Motherboards and AIC like the screenshot attached below. The list is subject to change.

View attachment 3065


For Single Card and Onboard Thunderbolt:
If you're having an onboard Thunderbolt chip or a single Thunderbolt Card, just select the appropriate model from the list.

For Multiple Thunderbolt Card:
If you're having multiple Thunderbolt Card, the process will be bit different from the onboard and single Thunderbolt card.

1. Select the appropriate AIC model from the list.

Configuring TB Bus ID
For each Thunderbolt Card, you'll need to configure the TB Bus ID. This is necessary for multiple Thunderbolt Controllers installed in the system. Each unique Bus ID represents each unique Thunderbolt Controller. To configure the Bus ID, follow the steps below.

1. After selecting the AIC model from the list, click on Customize.
2. Under TB Bus ID, change the Bus ID. You can use Bus ID from 0 or 1, where the 0 or 1 belongs to the first Thunderbolt Card. For example, if you have 3 Thunderbolt Cards and you would like to use the TB Bus from 0, it would 0, 1 and 2 respectively and if you would like to use the TB Bus from 1, it would be simply 1, 2 and 3 respectively.
3. Once you've selected the TB Bus ID, click on COMPILE button.
4. Click on Download button and the SSDT will be downloaded/saved to your system's configured download location in your browser.

Note:
  • To activate Thunderbolt Bus, you'll need to flash a custom firmware onto your Thunderbolt Card.
  • For multiple Thunderbolt Cards, it's strongly recommended that you refresh the website and configure the TB Bus ID for each card to generate random Unique ID (UID) respectively.
  • The Slot having PXSX address, is recommended to have TB Bus ID as 0. The rest should have 1, 2, 3 and so on.
Changing the ACPI path
Now, we have got the ACPI path of the Thunderbolt. To enable the hotplug, you must change the ACPI path to match yours.

1. Open the downloaded SSDT

For Single Card and Onboard Thunderbolt:
For single card and onboard Thunderbolt, the steps are very simple.

If we consider our first Thunderbolt Card, which is installed on Slot #2 as the Slot #1 is reserved for GPU, the changed to the SSDT, would be the following.

1. To change that, press Command+F on your Keyboard.
2. Click on Replace checkbox in the right corner.
3. Type PCI0 in the first search box and type PC00 in the second search box.
View attachment 3063
4. Click on All and the changes would be like the screenshot attached below.

View attachment 3064

Notes:
  • The rest of the path will not be changed as per the IOReg, the ACPI path for the very first Card, for Slot #2, was PC00.RP21.PXSX.
  • For the Slot having PXSX as a path in IOReg, no further SSDT modification is required.

For Multiple Thunderbolt Cards:
For Multiple Thunderbolt Cards, you'll need to perform some additional steps.

If we consider our second Thunderbolt SSDT, here would be the changes.

1. To change that, press Command+F on your Keyboard.
2. Click on Replace checkbox in the right corner.
3. Type PCI0 in the first search box and type PC01 in the second search box.
View attachment 3055
4. Click on All and the changes would be like the screenshot attached below.
View attachment 3056


5. Type RP21 in the first search box and type BR1A in the second search box.
View attachment 3057
6. Click on All and the changes would be like the screenshot attached below.
View attachment 3058

7. Type PXSX in the first search box and type PEGP in the second search box.

View attachment 3059
8. Click on All and the changes would be like the screenshot attached below.

View attachment 3060
Adding additional External Definition Block
If you remember the step of "Getting ACPI Path", you may have noticed that for second Thunderbolt Card, the path was PC01.BR1A.SL01 but here we have been using PEGP. Hence, we need to add PC01.BR1A.SL01 and also define SL01. To do that, follow the steps below.

1. Copy the following External method.
Code:
External (_SB_.PC01.BR1A.SL01, DeviceObj)    // (from opcode)
2. Paste it just above the External (DTGP) line.
Once changed, the SSDT should look like the screenshot attached below.
View attachment 3061

3. Copy the following Scope
Code:
Scope (SL01)
            {
                Name (_STA, Zero)  // _STA: Status
            }
4. Paste it just above the "Scope (PEGP) line.
Once changed, the SSDT should look the screenshot attached below.
View attachment 3062
Click on Compile button and save the SSDT.

Note:
  • You must replace the ACPI path with yours for each Thunderbolt Card installed in your system.


Slot Configuration
The slot configuration is purely cosmetic but is helpful when debugging and makes the Thunderbolt nearly perfect. The slot counts will be from the very slot present on the Motherboard, regardless of the slot type. There can be three slot configuration for Thunderbolt 3. Onboard and Single/Multiple Thunderbolt

Onboard Thunderbolt:
For onboard Thunderbolt, the slot will be configured as "built-in" due to onboard chip directly soldered on the Motherboard. For onboard Thunderbolt configuration, the sample SSDT should be good to go as it's already configured as built-in.

Singe/Multiple Thunderbolt Card:
For single or multiple Thunderbolt, the slot will be configured as Slot-1, Slot-2 and so on. To change the Slot configuration, follow the steps below.

If we consider our first sample SSDT, which refers to the very first Thunderbolt Card installed in Slot #2, the changes would be the following.

The sample SSDT has Slot-4 as a configuration and the changes would be the following.


1. Type Slot-4 in the first search box and type Slot-2 in the second search box and click on All.

Note:
  • When having a multiple Thunderbolt Card, the same steps will be applied as above to the rest of the SSDTs.

Renaming SSDT
If you're using multiple Thunderbolt Card, it's strongly recommended to rename the SSDTs as SSDT-TB3-SLOT1, SSDT-TB3-SLOT2 and so on.

Installing the SSDT
Now, the SSDT has our ACPI path. The next step is to install the SSDT.

1. Mount the EFI partition of the system
2. Open the EFI folder.

For OpenCore:
1. Navigate to EFI/OC/ACPI/patched directory.
2. Place the SSDT-DTGP and the related SSDT-TB3-SLOT-X.

For Clover:
1. Navigate to EFI/Clover/ACPI/patched directory.
2. Place the SSDT-DTGP and the related SSDT-TB3-SLOT-X.

Notes:
  • For OpenCore, you'll need to add the SSDTs entry in the ACPI section of your config.plist.
  • The SSDTs must be added in a sorted order. It's recommended to load the SSDT with "PXSX" first and then the rest and the TB Bus ID will be also start from PXSX SSDT, regardless of the Slot order.

Installing kext and driver
1. Download the following kext and driver.
ThunderboltReset
TbtForcePower.efi
2. After downloading the drivers, extract it.
3. Copy ThunderboltReset.kext to EFI/Kext/Other directory.
4. Copy the TbtForcePower.efi to EFI/Drivers/UEFI

Restart your System

After performing all the above steps, restart your system for the applied changes to take effect.
Connect any TB Device and you're good to go!

Test Results


Following are the test results for various motherboards and Thunderbolt Devices.

TEST HARDWARE:
Motherboard: GIGABYTE Z370 AORUS Elite
CPU: Intel Core i9 10900F
GPU: NVIDIA GTX 1080Ti
Thunderbolt: GIGABYTE GC-Titan Ridge, original firmware
macOS: macOS Big High Sierra 10.13.6

Thunderbolt Devices:
  • Element88
  • G-Technology


The screenshot below is with no any Thunderbolt Device connected.
View attachment 2054
The screenshot below is with the Thunderbolt Drive connected using TB2 adapter to the Motherboard.

View attachment 2051
Once the TB device is connected, the PCI looks like the following.

View attachment 2052
The Storage looks like the following.
View attachment 2053
Once the Element 88 is connected via Thunderbolt using a TB2 Adapter, the Audio looks like the following. As you can see, the transport method is TB :)
View attachment 2055
The screenshot below is with the Thunderbolt Audio Interface (Element 88) connected using TB2 adapter to the Motherboard.
View attachment 2056
In the System Preferences>Sound

View attachment 2057View attachment 2058
The IOReg for the Thunderbolt Drive. As you can see, the TB Device is connected to RP21 and the Drive is connected to DSB4 node.

View attachment 2059

The IOReg for the Audio Interface (Element 88). As you can see, the TB Device is connected to RP21 and the Drive is connected to DSB4 node.

View attachment 2060
TEST HARDWARE:
Motherboard: GIGABYTE X299X Designare 10G
CPU: Intel Core i9 10980XE
GPU: AMD 5700XT
Thunderbolt: Built-in JHL7540, original firmware
macOS: macOS Catalina 10.15.7

Thunderbolt Devices:
  • Apple Ethernet Adapter
  • Lacie Rugged 2TB
  • UAD Apollo Twin X - Duo
  • UAD-2 Satellite Thunderbolt 3 - Octo
No Thunderbolt Device Connected.

View attachment 3067

Apollo Twin X Duo Connected.

View attachment 3069




View attachment 3070

System Preferences>Sound
View attachment 3071
View attachment 3084

View attachment 3085

IOReg with Apollo Twin X Connected.

View attachment 3074

Lacie Rugged 2TB Connected.

View attachment 3072

System Report>SATA/SATA Express.

View attachment 3073

DaisyChain with Port 1

UAD-2 Satellite - OCTO


View attachment 3075


Apollo Twin X - DUO Connected.


View attachment 3076

System Report>Audio
View attachment 3077
View attachment 3086

IOReg with UAD-2 Satellite - OCTO and Apollo Twin X - DUO

View attachment 3078

DaisyChain with Port 2

View attachment 3079

UAD connected to Port 1 and DSP to Port 2

View attachment 3080

UAD Connected to Port 2 and DSP to Port 1

View attachment 3081
TEST HARDWARE:
Motherboard: MSI X299 RAIDER
CPU: Intel Core i9 10940X
GPU: AMD 5700XT
Thunderbolt: 3xGIGABYTE GC-Titan Ridge, custom firmware
macOS: macOS Catalina 10.15.7

Thunderbolt Devices:
  • TBT3 SSD 480
  • Ash Creek
  • Belkin Thunderbolt 3 Mini Dock with 4K Dual HDMI
  • eGPU


Thunderbolt Bus

View attachment 3184



View attachment 3186








View attachment 3187


View attachment 3179
View attachment 3181

View attachment 3182
TEST HARDWARE:
Motherboard: GIGABYTE Z370 Aorus Gaming 3
CPU: Intel Core i9 10940X
GPU: AMD RX 580
Thunderbolt: GIGABYTE GC-Titan Ridge, Original Firmware
macOS: macOS Big Sur

Type-C Devices:
  • LG 38WK95C-W
TEST HARDWARE:
Motherboard: GIGABYTE Z370 Aorus Gaming 3
CPU: Intel Core i9 10940X
GPU: AMD RX 580
Thunderbolt: GIGABYTE GC-Titan Ridge, Original Firmware
macOS: macOS Big Sur

Type-C Devices:
  • LG 38WK95C-W
TEST HARDWARE:
Motherboard: EVGA X299 Micro
CPU: Intel Core i9 10940X
GPU: AMD 5700XT
Thunderbolt: 3xGIGABYTE GC-Titan Ridge, custom firmware
macOS: macOS Catalina 10.15.7

Thunderbolt Devices:
  • TBT3 SSD 480
  • Ash Creek
  • Belkin Thunderbolt 3 Mini Dock with 4K Dual HDMI
  • eGPU

FAQ [Frequently Asked Questions]


Q. Is my Thunderbolt Compatible?
A. All the Thunderbolt models and Family listed above, at the starting of this guide are compatible and has been tested. If you have any other model and Family, feel free to post or create a separate thread.
Q. Is it necessary to Flash Thunderbolt Card?
A. Yes, it's necessary if you want to use any special device which requires Bus Activation and networking capability and when using multiple Thunderbolt cards on one motherboard.
Q. I've flashed my Thunderbolt Card with a custom firmware. Do i still need to use SSDT?
A. Yes, you'll need to use the SSDT regardless of the case. The SSDT is what provides PCI Device, Hotplug and Bus ID.
Q. Can i activate TB Bus ID without the need of flashing the custom firmware on Alpine Ridge?
A. Yes, you can.
Q. Can i activate TB Bus ID without the need of flashing the custom firmware on Titan Ridge?
A. It may be possible. But as of now, no information available yet.


Problem Reporting


Details:
  1. Thunderbolt Chip and Family
  2. Thunderbolt Vendor/Manufacturer
  3. Thunderbolt Type (Onboard or AIC)
  4. Thunderbolt AIC PCI Slot Location
  5. THB_C header Availability
  6. TB BIOS Settings Availability
  7. Motherboard Model
  8. CPU Model
  9. macOS version
  10. Copy of IOReg
  11. Kextcache output
Screen shots:
  • Hackintool>PCIe
  • System Report>PCI
Files:
  • For Clover, compress EFI/Clover, exclude the themes folder.
  • For OpenCore, compress EFI/OC.
Notes:
  • Do not include complete EFI folder.
  • Put all files in a folder with your name, compress files as Zip and attach files using site attachments only.
  • Do not use any external links.

Credits :
KGP
DSM2
CaseySJ
Elias64Fr
Mooseknuckleboi
Ferz


Sample Attachment



The ACPI files are attached below which has been used as an example in this guide.
How to Enable Thunderbolt 3 Hotplug on macOS [Clover/OpenCore]
An EliteMacx86 Exclusive Guide - This guide covers implementation of Thunderbolt 3 Hotplug on macOS for single and multiple Thunderbolt 3 Cards.

Overview


An EliteMacx86 Exclusive Guide - In our previous post, we covered a guide about implementation of Thunderbolt on macOS. This guide covers the implementation of Thunderbolt 3 Hotplug.

You can read about the implementation of Thunderbolt 3 here:

For more information on Thunderbolt 4 Hotplug, refer to the guide linked below.

Implementation of Hotplug with Thunderbolt has been always a major issue with macOS. But Thanks to users like KGP who has been able to implement it on the hardware. The reason with the not working of Hotplug with the Thunderbolt is due to the working style of thunderbolt on both the platform i.e. Windows and Mac. On Windows hardware, the working of Thunderbolt is different as compared to a real Macintosh.

Before getting into it, let's get to know about the working of ThunderBolt on Mac and Windows hardware which will help you to understand about the working of Hotplug.

On Windows hardware, the Thunderbolt is only powered up when any Thunderbolt compatible Device is connected. The device triggers the thunderbolt to function and turns on the power to the connected device. Once, it's disconnected, the power to the port is also turned off.

On the other hand, on Mac, it's not the same. On Mac, the Thunderbolt is always on until the system is turned off. When any device is connected to the Thunderbolt port, the Device automatically connects to the thunderbolt and this is the reason the hotplug basically works. The Thunderbolt is always active as it keeps drawing the power.

On the Hackintosh, it's little bit different or you can say, it's mixed. The thunderbolt will function only if the device is connected before booting to macOS i.e preboot mode. If you disconnect it, the device no longer function and you need to restart the system again. Hence, the system is not capable of Hotplug.

But by using this guide, you would be able to implement Hotplug.

Requirements


Compatible Thunderbolt Chipset
Vanilla Thunderbolt kexts in S/L/E
Any Thunderbolt compatible Device to check and verify the status
MaciASL
IOReg

Enabling hotplug can be quite complex process and time consuming. But if done correctly, you can have a working Thunderbolt with hotplug feature with the required speed and performance.

Following are the test devices used as an example for this guide which features Audio Interfaces, Dock, and Thunderbolt Drives. From consumer series to HEDT series motherboard, it works as expected.

Thunderbolt Devices:
  • Element 88 from Apogeedigital
  • G-Technology 3TB
  • UAD Twin Apollo
  • Belkin Thunderbolt 3 Mini Dock with 4K Dual HDMI
  • Ash Creek NVMe
  • TBT3 SSD 480

Motherboards:
  • GIGABYTE Z370 AORUS GAMING 3
  • GIGABYTE Z390 AORUS ELITE
  • GIGABYTE Z490 VISION G
  • GIGABYTE X299X DESIGNARE 10G
  • MSI X299 RAIDER
  • EVGA X299 Micro

Thunderbolt Status


Following are the Thunderbolt Status for the following Thunderbolt Hardware. The table provides the functionality and features with Hotplug for several devices and with different Thunderbolt hardware setup such as Multiple Alpine Ridge and Titan Ridge Card for a TB extensive workflow.

FunctionSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Booting with Thunderbolt Device ConnectedYES✅❌✅
Thunderbolt Hotplug with Cold BootYES✅❌✅
Thunderbolt Hotplug with Warm BootYES✅❌✅
Thunderbolt Hotplug with no Device Connected at BootYES❌❌❌
Sleep with Thunderbolt Device ConnectedYES✅❌Inconsistent Sleep
Wake with Thunderbolt Device ConnectedYES✅❌❌
Shut Down with Thunderbolt Device ConnectedYES✅❌❌
Thunderbolt Auto Reconnect after SleepYESNO


OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Booting with USB Device ConnectedYES✅❌✅
USB Hotplug with Cold BootYES✅❌✅
USB Hotplug with Warm BootYES✅❌✅
Sleep with USB Device ConnectedYES✅❌✅
Wake with USB Device ConnectedYES✅❌✅
Shut Down with USB Device ConnectedYES✅❌✅
USB Type-C Auto Reconnect after SleepYES

Display
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt DisplayNot TestedNot TestedNot TestedNot Tested
Type-C Display✅✅❌✅
Type-C Display Cold Boot❌Not Tested❌Not Tested
Type-C Display Hotplug✅✅❌✅

Drive
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Drive✅✅❌✅
Thunderbolt Drive Hotplug✅✅❌✅
Thunderbolt NVMe✅✅❌✅
Thunderbolt NVMe Hotplug✅✅❌✅

Dock
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Dock✅✅❌✅
Thunderbolt Dock Hotplug✅✅❌✅
Thunderbolt Dock Ethernet✅✅❌✅
Thunderbolt Dock Display Port✅✅❌✅
Thunderbolt Dock HDMI✅✅❌✅
Thunderbolt Dock USB✅✅❌✅
Thunderbolt Dock Audio✅✅❌✅

eGPU
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt eGPU✅✅❌✅
Thunderbolt eGPU Hotplug❌❌❌❌

Audio
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Audio Interface✅✅❌✅
Thunderbolt Audio Interface Hotplug✅✅❌✅

Adapters
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Ethernet Adapter✅✅❌✅
Thunderbolt Ethernet Adapter Hotplug✅✅❌✅
Thunderbolt 2 to Thunderbolt 3✅✅❌✅

OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Booting with Thunderbolt Device Connected✅✅❌✅
Thunderbolt Hotplug with Cold Boot✅✅❌✅
Thunderbolt Hotplug with Warm Boot✅✅❌✅
Thunderbolt Hotplug with no Device Connected at Boot✅❌❌❌
Sleep with Thunderbolt Device Connected✅✅❌Inconsistent Sleep
Wake with Thunderbolt Device Connected✅✅❌❌
Shut Down with Thunderbolt Device Connected✅✅❌❌
Thunderbolt Auto Reconnect after SleepYESNO


OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Booting with USB Device Connected✅✅❌✅
USB Hotplug with Cold Boot✅✅❌✅
USB Hotplug with Warm Boot✅✅❌✅
Sleep with USB Device Connected✅✅❌✅
Wake with USB Device Connected✅✅❌✅
Shut Down with USB Device Connected✅✅❌✅
USB Type-C Auto Reconnect after SleepYESNO

Display
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt DisplayNot TestedNot TestedNot TestedNot Tested
Type-C Display✅✅❌✅
Type-C Display Cold Boot❌Not Tested❌Not Tested
Type-C Display Hotplug✅✅❌✅

Drive
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Drive✅✅❌✅
Thunderbolt Drive Hotplug✅✅❌✅
Thunderbolt NVMe✅✅❌✅
Thunderbolt NVMe Hotplug✅✅❌✅

Dock
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Dock✅✅❌✅
Thunderbolt Dock Hotplug✅✅❌✅
Thunderbolt Dock Ethernet✅✅❌✅
Thunderbolt Dock Display Port✅✅❌✅
Thunderbolt Dock HDMI✅✅❌✅
Thunderbolt Dock USB✅✅❌✅
Thunderbolt Dock Audio✅✅❌✅

eGPU
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt eGPU✅✅❌✅
Thunderbolt eGPU Hotplug❌❌❌❌

Audio
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Audio Interface✅✅❌✅
Thunderbolt Audio Interface Hotplug✅✅❌✅

Adapters
OptionsSingle Card with Original FirmwareSingle Card with Custom FirmwareMultiple Cards with Original FirmwareMultiple Cards with Custom Firmware
Thunderbolt Ethernet Adapter✅✅❌✅
Thunderbolt Ethernet Adapter Hotplug✅✅❌✅
Thunderbolt 2 to Thunderbolt 3✅✅❌✅

SPECIFICATION
ModelControllerFamilyInterfaceSpeedPortsTB Device Per PortDisplay SupportDaisy ChainThunderbolt HeaderUSB HeaderAdditional Power
GIGABYTE GC-Thunderbolt 2PCIe 2.0 x420Gb/s2xTB2 | 2xDP IN6 Devices per port4KYESYESNONO
GIGABYTE GC-ALPINE RIDGE Rev. 1.0DSL6540 B-StepAlpine RidgePCIe 3.0 x440Gb/s2xTB3 | 1xHDMI | 2xDP IN6 Devices per port1x5K @60Hz or 2x4K @60HzYES1xNO
GIGABYTE GC-ALPINE RIDGE Rev. 2.0DSL650 C-StepAlpine RidgePCIe 3.0 x440Gb/s2xTB3 | 1xHDMI | 2xDP IN6 Devices per port1x5K @60Hz or 2x4K @60HzYES1xNO
GIGABYTE GC-TITAN RIDGE Rev. 1.0DSL7540Titan RidgePCIe 3.0 x440Gb/s2xTB3/USB 3.1 Gen2 Type-C | 1xDP | 2xmDP IN6 Devices per port4KYES1x5PINYES2x6PIN PCIE
GIGABYTE GC-TITAN RIDGE Rev. 2.0DSL7540Titan RidgePCIe 3.0 x440Gb/s2xTB3/USB 3.1 Gen2 Type-C | 1xDP | 2xmDP IN6 Devices per port4KYES1x5PINYES2x6PIN PCIE


Thunderbolt
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYESYESNONOYES
Thunderbolt Hotplug with Cold BootYESYESNONOYES
Thunderbolt Hotplug with Warm BootYESYESNONOYES
Thunderbolt Hotplug with no Device Connected at BootYESNONONONO
Sleep with Thunderbolt Device ConnectedYESYESNONOINCONSISTENT SLEEP
Wake with Thunderbolt Device ConnectedYESYESNONONO
Shut Down with Thunderbolt Device ConnectedYESYESNONONO
Thunderbolt Auto Reconnect after SleepYESNONONOT TESTED

USB Type-C
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with USB Device ConnectedYESNONOYES
USB Hotplug with Cold BootYESNONOYES
USB Hotplug with Warm BootYESNONOYES
Sleep with USB Device ConnectedYESNONOYES
Wake with USB Device ConnectedYESNONOYES
Shut Down with USB Device ConnectedYESNONOYES
USB Type-C Auto Reconnect after SleepYESNONONOT TESTED


Display
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
NO
NONOT TESTED
Thunderbolt DisplayYESNONO
Type-C DisplayYESNONO
Type-C Display Cold BootYESNONONOT TESTED
Type-C Display HotplugYESNONO


Dock
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt DockYESNONOYES
Thunderbolt Dock HotplugYESNONOYES
Thunderbolt Dock EthernetYESNO
NO
YES
Thunderbolt Dock Display PortYESNONOYES
Thunderbolt Dock HDMIYESNONOYES
Thunderbolt Dock USBYESNONOYES
Thunderbolt Dock AudioYESNONOYES


eGPU
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt eGPUYESNONOYES
Thunderbolt eGPU HotplugYESNONO


Audio
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Audio InterfaceYESNONOYES
Thunderbolt Audio Interface HotplugYESNONOYES


Adapters
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Ethernet AdapterYESNOYESYESNOYES
Thunderbolt Ethernet Adapter HotplugYESNOYESYESNOYES
Thunderbolt 2 to Thunderbolt 3YESNOYESYESNOYES

Notes:
  • *Refers to Single Thunderbolt Card.
  • **Refers to Multiple Thunderbolt Cards.

ModelControllerFamilyInterfaceSpeedPortsTB Device Per PortDisplay SupportDaisy ChainThunderbolt HeaderUSB HeaderAdditional Power
ASUS THUNDERBOLTEX 3DSLXXXPCIe 3.0 x440Gb/s1xTB3/Type-C | 1xUSB 3.1 Type-A | 1xmDP IN6 Devices per port4K @60HzYESYESNONO
ASUS THUNDERBOLTEX 3-TRJHL7540Titan RidgePCIe 3.0 x440Gb/s2xTB3/Type-C | 1xDP IN | 1xmDP IN6 Devices per port8K @60HzYES1x5PINYES1x6PIN PCIE
ASUS THUNDERBOLTEX-4JHLXXXXPCIe 3.0 x440Gb/s2xTB3/Type-C | 1xDP IN | 2xmDP IN and 1xInternal Mini DP5 Devices per port8K @60HzYES1x5PINYES1x6PIN PCIE


Thunderbolt
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
Thunderbolt Hotplug with Cold BootYES
Thunderbolt Hotplug with Warm BootYES
Thunderbolt Hotplug with no Device Connected at BootYES
Sleep with Thunderbolt Device ConnectedYES
Wake with Thunderbolt Device ConnectedYES
Shut Down with Thunderbolt Device ConnectedYES
Thunderbolt Auto Reconnect after SleepYES

USB Type-C
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with USB Device ConnectedYES
USB Hotplug with Cold BootYES
USB Hotplug with Warm BootYES
Sleep with USB Device ConnectedYES
Wake with USB Device ConnectedYES
Shut Down with USB Device ConnectedYES
USB Type-C Auto Reconnect after SleepYES


Display
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
Thunderbolt DisplayYES
Type-C DisplayYES
Type-C Display Cold BootYES
Type-C Display HotplugYES


Dock
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt DockYES
Thunderbolt Dock HotplugYES
Thunderbolt Dock EthernetYES
Thunderbolt Dock Display PortYES
Thunderbolt Dock HDMIYES
Thunderbolt Dock USBYES
Thunderbolt Dock AudioYES


eGPU
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt eGPUYES
Thunderbolt eGPU HotplugYES
Thunderbolt eGPU HotplugYES


Audio
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Audio InterfaceYES
Thunderbolt Audio Interface HotplugYES


Adapters
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Ethernet AdapterYES
Thunderbolt Ethernet Adapter HotplugYES
Thunderbolt 2 to Thunderbolt 3YES

Notes:
  • *Refers to Single Thunderbolt Card.
  • **Refers to Multiple Thunderbolt Cards.

ModelControllerInterfaceSpeedPortsTB Device Per PortDisplay SupportDaisy ChainThunderbolt HeaderUSB HeaderAdditional Power
AsRock Thunderbolt 3 AICJHL6540PCIe 3.0 x440Gb/s2xTB3/Type-C | 1xDP IN | 1xmDP IN6 Devices per port1x5K @60Hz or 2x4K @60HzYES1x5PINNONO
AsRock Thunderbolt 3 AIC R2.0JHL6540PCIe 3.0 x440Gb/s2xTB3/Type-C | 1xDP IN | 1xmDP IN and 1xInternal Mini DP6 Devices per port1x5K @60Hz or 2x4K @60HzYES1x5PINNONO


Thunderbolt
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
Thunderbolt Hotplug with Cold BootYES
Thunderbolt Hotplug with Warm BootYES
Thunderbolt Hotplug with no Device Connected at BootYES
Sleep with Thunderbolt Device ConnectedYES
Wake with Thunderbolt Device ConnectedYES
Shut Down with Thunderbolt Device ConnectedYES
Thunderbolt Auto Reconnect after SleepYES

USB Type-C
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with USB Device ConnectedYES
USB Hotplug with Cold BootYES
USB Hotplug with Warm BootYES
Sleep with USB Device ConnectedYES
Wake with USB Device ConnectedYES
Shut Down with USB Device ConnectedYES
USB Type-C Auto Reconnect after SleepYES


Display
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Booting with Thunderbolt Device ConnectedYES
Thunderbolt DisplayYES
Type-C DisplayYES
Type-C Display Cold BootYES
Type-C Display HotplugYES


Dock
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt DockYES
Thunderbolt Dock HotplugYES
Thunderbolt Dock EthernetYES
Thunderbolt Dock Display PortYES
Thunderbolt Dock HDMIYES
Thunderbolt Dock USBYES
Thunderbolt Dock AudioYES


eGPU
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt eGPUYES
Thunderbolt eGPU HotplugYES
Thunderbolt eGPU HotplugYES


Audio
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Audio InterfaceYES
Thunderbolt Audio Interface HotplugYES


Adapters
Function on macOSAlpine Ridge with Original Firmware*Alpine Ridge with Custom Firmware*Alpine Ridge Cards with Original Firmware**Alpine Ridge Cards with Custom Firmware**Single Titan Ridge with Original Firmware*Single Titan Ridge with Custom Firmware*Titan Ridge Cards with Original Firmware**Titan Ridge Cards with Custom Firmware**
Thunderbolt Ethernet AdapterYES
Thunderbolt Ethernet Adapter HotplugYES
Thunderbolt 2 to Thunderbolt 3YES

Notes:
  • *Refers to Single Thunderbolt Card.
  • **Refers to Multiple Thunderbolt Cards.

macOS Support


You can find the support table listed below for each particular macOS version with each setup.

ControllerFamilymacOS SierramacOS High SierramacOS MojavemacOS CatalinamacOS Big Sur
DSL3510LCactus RidgeYES
DSL6540Alpine RidgeYESYESYESYES
JHL7540Titan RidgeYESYESYESYES
JHL8540Maple RidgeNONONONOYES

THB_C and TB Settings Support


You can find the support table listed below for each particular macOS version with each setup.

AvailabilityThunderboltUSB Type-C
Motherboard with THB_C HeaderYESYES
Motherboard without THB_C HeaderYESNO
Motherboard with TB SettingsYESYES
Motherboard without TB SettingsYESYES




SMBIOS Support


You can find the support table listed below for each particular macOS version with each setup.



Thunderbolt Firmware Configuration


There can be normally two firmware configuration for Thunderbolt 3. Original and Custom firmware Configuration. Both of them have been described below.

Original Firmware:
A original firmware is provided and is already flashed on the Thunderbolt Card. When you setup multiple Thunderbolt Cards, only one Card will work in a desired way and the other cards will not work due to limitation of different device address.

Custom Firmware:
A custom firmware is modified some of the experts from this community which eliminates the limitation of Thunderbolt Cards with different device addresses and also provides additional function such as Thunderbolt Bus configuration, visibility under System Report>Thunderbolt.

Thunderbolt Configuration


There can be normally two configuration for Thunderbolt 3. Single Card and Multiple Card Configuration. Where, single card offers up to "two" thunderbolt 3 ports and multiple card can offer up to "twelve" thunderbolt 3 ports depending on the PCIe slots available where one slot is always reserved for the GPU. These can be further categorized into four more configuration which are outlined below.

Single Card with Original Firmware:
A single Card with original firmware can offer up to "two" Thunderbolt 3 ports which doesn't requires flashing of a custom firmware for macOS.

Single Card with Custom Firmware:
A single card with original firmware can offer up to "two" Thunderbolt 3 ports which requires flashing of a custom firmware for macOS. With a custom firmware, it can provide additional function, visibility and additional information of Thunderbolt under System Report>Thunderbolt section.

Multiple Card with Original Firmware:
Multiple cards with original firmware can range between two (minimum) or more (up to 6, maximum) Thunderbolt card installed. HEDT and Workstation motherboards can offer up to 7 PCIe slots. However, one slot is reserved for GPU. Hence, the maximum capacity is six Thunderbolt 3 Cards. The drawback of using multiple cards with original firmware is that other than the reserved slot for Thunderbolt or small peripherals where the device address is usually PXSX, will be initialized and fully work, more likely like a single card with custom firmware. The rest of the cards installed will not function in any way. This is because, unless the card is flashed with a custom firmware, the Thunderbolt cannot be driven due to having different address such as BR1A, BR3A, PEGP, SL01, SL09.

Multiple Card with Custom Firmware:
Multiple cards with custom firmware can be best suited to professional music producers, video editors, motion and VFX artists. This option offers the maximum expandability of Thunderbolt 3. Offering up to 12 ports when 6 Thunderbolt Card is installed which is a maximum configuration as of now. Note that one slot is always reserved for GPU. With a custom firmware flashed on multiple Thunderbolt Card, it removes the limitation of utilizing multiple Thunderbolt cards. It also offers functionality such as Hotplug which can be achieved very easily.


Selecting Thunderbolt Configuration


Depending on your need for Thunderbolt, where the key factor can be the requirement of each individual Thunderbolt 3 ports, select your configuration and start the preparation for Thunderbolt 3 Hotplug. If you're looking for a simple Thunderbolt with Hotplug functionality and don't want to flash a custom firmware due to the complexity of the guide or not willing to take risk, the best choice would be to go for single card with original firmware. However, even if you don't want to flash your Thunderbolt with a custom firmware, you may need to flash it for some devices which requires Thunderbolt Bus to utilize a particular Thunderbolt device.

Flashing Custom Firmware

If you're planning to flash the custom firmware depending on your Thunderbolt needs, @mooseknuckleboi has written a very well guide explaining flashing Thunderbolt Cards for macOS. You can find more information for his thread linked below.

Enabling Thunderbolt 3 Hotplug


Now, you have enough information about Thunderbolt configuration, firmware, and the limitations and the next step is to enable Thunderbolt Hotplug To enable Hotplug, follow the steps outlined below.

Getting ACPI path
Before you start preparing the SSDT, it's recommended to find the ACPI path of the Thunderbolt Card.

For Single Card and Onboard Thunderbolt:
Connect any TB device and boot the system in order to get the ACPI path for the Thunderbolt Card on your Motherboard.
Now once the system is up, the next step is to get the ACPI path. To check the ACPI path, just open IOReg and type Thunderbolt in the search bar.

You should see something similar like in the attached screenshot.
View attachment 2047
Once you have located Thunderbolt node, you can clear the search to get the complete node info.
View attachment 2048
If you check, in the above screenshot, we have some Thunderbolt and USB connectors listed. You need to locate your current connector which is driving the connection to the Thunderbolt. A simple way to find this out is to just find the connector having Thunderbolt properties with AppleThunderboltHAL. In our case, it is RP21@1B,4. Your system can have a different one. Make sure to locate the right one.

For Multiple Cards:
Getting ACPI path is bit complex than single and onboard Thunderbolt. Follow the steps below.
You can install all the Thunderbolt Cards and get multiple ACPI path or can also use one card in each particular slot and then get the ACPI path.

To check the ACPI path, just open IOReg and type Thunderbolt in the search bar.

In our case, here are the following ACPI path

For Slot #2

For Slot #3

For Slot #5



However, this is the first phase of the ACPI path. To complete the second phase, you'll need to use a Thunderbolt SSDT and adapt for the every slot except PXSX and note down the new ACPI path. Note that normally it's PEGP. However, we recommend you to go through the second phase and confirm the ACPI path to make sure there is no fluke.

For Slot #3

For Slot #5


Obtaining Sample Thunderbolt SSDT

To get the sample Thunderbolt SSDT, follow the steps below.

1. Open HackinDROM website in your web browser.
2. Select your Thunderbolt Controller from the drop-down list.
3. You'll see the list of available Motherboards and AIC like the screenshot attached below. The list is subject to change.

View attachment 3065


For Single Card and Onboard Thunderbolt:
If you're having an onboard Thunderbolt chip or a single Thunderbolt Card, just select the appropriate model from the list.

For Multiple Thunderbolt Card:
If you're having multiple Thunderbolt Card, the process will be bit different from the onboard and single Thunderbolt card.

1. Select the appropriate AIC model from the list.

Configuring TB Bus ID
For each Thunderbolt Card, you'll need to configure the TB Bus ID. This is necessary for multiple Thunderbolt Controllers installed in the system. Each unique Bus ID represents each unique Thunderbolt Controller. To configure the Bus ID, follow the steps below.

1. After selecting the AIC model from the list, click on Customize.
2. Under TB Bus ID, change the Bus ID. You can use Bus ID from 0 or 1, where the 0 or 1 belongs to the first Thunderbolt Card. For example, if you have 3 Thunderbolt Cards and you would like to use the TB Bus from 0, it would 0, 1 and 2 respectively and if you would like to use the TB Bus from 1, it would be simply 1, 2 and 3 respectively.
3. Once you've selected the TB Bus ID, click on COMPILE button.
4. Click on Download button and the SSDT will be downloaded/saved to your system's configured download location in your browser.

Note:
  • To activate Thunderbolt Bus, you'll need to flash a custom firmware onto your Thunderbolt Card.
  • For multiple Thunderbolt Cards, it's strongly recommended that you refresh the website and configure the TB Bus ID for each card to generate random Unique ID (UID) respectively.
  • The Slot having PXSX address, is recommended to have TB Bus ID as 0. The rest should have 1, 2, 3 and so on.
Changing the ACPI path
Now, we have got the ACPI path of the Thunderbolt. To enable the hotplug, you must change the ACPI path to match yours.

1. Open the downloaded SSDT

For Single Card and Onboard Thunderbolt:
For single card and onboard Thunderbolt, the steps are very simple.

If we consider our first Thunderbolt Card, which is installed on Slot #2 as the Slot #1 is reserved for GPU, the changed to the SSDT, would be the following.

1. To change that, press Command+F on your Keyboard.
2. Click on Replace checkbox in the right corner.
3. Type PCI0 in the first search box and type PC00 in the second search box.
View attachment 3063
4. Click on All and the changes would be like the screenshot attached below.

View attachment 3064

Notes:
  • The rest of the path will not be changed as per the IOReg, the ACPI path for the very first Card, for Slot #2, was PC00.RP21.PXSX.
  • For the Slot having PXSX as a path in IOReg, no further SSDT modification is required.

For Multiple Thunderbolt Cards:
For Multiple Thunderbolt Cards, you'll need to perform some additional steps.

If we consider our second Thunderbolt SSDT, here would be the changes.

1. To change that, press Command+F on your Keyboard.
2. Click on Replace checkbox in the right corner.
3. Type PCI0 in the first search box and type PC01 in the second search box.
View attachment 3055
4. Click on All and the changes would be like the screenshot attached below.
View attachment 3056


5. Type RP21 in the first search box and type BR1A in the second search box.
View attachment 3057
6. Click on All and the changes would be like the screenshot attached below.
View attachment 3058

7. Type PXSX in the first search box and type PEGP in the second search box.

View attachment 3059
8. Click on All and the changes would be like the screenshot attached below.

View attachment 3060
Adding additional External Definition Block
If you remember the step of "Getting ACPI Path", you may have noticed that for second Thunderbolt Card, the path was PC01.BR1A.SL01 but here we have been using PEGP. Hence, we need to add PC01.BR1A.SL01 and also define SL01. To do that, follow the steps below.

1. Copy the following External method.
Code:
External (_SB_.PC01.BR1A.SL01, DeviceObj)    // (from opcode)
2. Paste it just above the External (DTGP) line.
Once changed, the SSDT should look like the screenshot attached below.
View attachment 3061

3. Copy the following Scope
Code:
Scope (SL01)
            {
                Name (_STA, Zero)  // _STA: Status
            }
4. Paste it just above the "Scope (PEGP) line.
Once changed, the SSDT should look the screenshot attached below.
View attachment 3062
Click on Compile button and save the SSDT.

Note:
  • You must replace the ACPI path with yours for each Thunderbolt Card installed in your system.


Slot Configuration
The slot configuration is purely cosmetic but is helpful when debugging and makes the Thunderbolt nearly perfect. The slot counts will be from the very slot present on the Motherboard, regardless of the slot type. There can be three slot configuration for Thunderbolt 3. Onboard and Single/Multiple Thunderbolt

Onboard Thunderbolt:
For onboard Thunderbolt, the slot will be configured as "built-in" due to onboard chip directly soldered on the Motherboard. For onboard Thunderbolt configuration, the sample SSDT should be good to go as it's already configured as built-in.

Singe/Multiple Thunderbolt Card:
For single or multiple Thunderbolt, the slot will be configured as Slot-1, Slot-2 and so on. To change the Slot configuration, follow the steps below.

If we consider our first sample SSDT, which refers to the very first Thunderbolt Card installed in Slot #2, the changes would be the following.

The sample SSDT has Slot-4 as a configuration and the changes would be the following.


1. Type Slot-4 in the first search box and type Slot-2 in the second search box and click on All.

Note:
  • When having a multiple Thunderbolt Card, the same steps will be applied as above to the rest of the SSDTs.

Renaming SSDT
If you're using multiple Thunderbolt Card, it's strongly recommended to rename the SSDTs as SSDT-TB3-SLOT1, SSDT-TB3-SLOT2 and so on.

Installing the SSDT
Now, the SSDT has our ACPI path. The next step is to install the SSDT.

1. Mount the EFI partition of the system
2. Open the EFI folder.

For OpenCore:
1. Navigate to EFI/OC/ACPI/patched directory.
2. Place the SSDT-DTGP and the related SSDT-TB3-SLOT-X.

For Clover:
1. Navigate to EFI/Clover/ACPI/patched directory.
2. Place the SSDT-DTGP and the related SSDT-TB3-SLOT-X.

Notes:
  • For OpenCore, you'll need to add the SSDTs entry in the ACPI section of your config.plist.
  • The SSDTs must be added in a sorted order. It's recommended to load the SSDT with "PXSX" first and then the rest and the TB Bus ID will be also start from PXSX SSDT, regardless of the Slot order.

Installing kext and driver
1. Download the following kext and driver.
ThunderboltReset
TbtForcePower.efi
2. After downloading the drivers, extract it.
3. Copy ThunderboltReset.kext to EFI/Kext/Other directory.
4. Copy the TbtForcePower.efi to EFI/Drivers/UEFI

Restart your System

After performing all the above steps, restart your system for the applied changes to take effect.
Connect any TB Device and you're good to go!

Test Results


Following are the test results for various motherboards and Thunderbolt Devices.

TEST HARDWARE:
Motherboard: GIGABYTE Z370 AORUS Elite
CPU: Intel Core i9 10900F
GPU: NVIDIA GTX 1080Ti
Thunderbolt: GIGABYTE GC-Titan Ridge, original firmware
macOS: macOS Big High Sierra 10.13.6

Thunderbolt Devices:
  • Element88
  • G-Technology


The screenshot below is with no any Thunderbolt Device connected.
View attachment 2054
The screenshot below is with the Thunderbolt Drive connected using TB2 adapter to the Motherboard.

View attachment 2051
Once the TB device is connected, the PCI looks like the following.

View attachment 2052
The Storage looks like the following.
View attachment 2053
Once the Element 88 is connected via Thunderbolt using a TB2 Adapter, the Audio looks like the following. As you can see, the transport method is TB :)
View attachment 2055
The screenshot below is with the Thunderbolt Audio Interface (Element 88) connected using TB2 adapter to the Motherboard.
View attachment 2056
In the System Preferences>Sound

View attachment 2057View attachment 2058
The IOReg for the Thunderbolt Drive. As you can see, the TB Device is connected to RP21 and the Drive is connected to DSB4 node.

View attachment 2059

The IOReg for the Audio Interface (Element 88). As you can see, the TB Device is connected to RP21 and the Drive is connected to DSB4 node.

View attachment 2060
TEST HARDWARE:
Motherboard: GIGABYTE X299X Designare 10G
CPU: Intel Core i9 10980XE
GPU: AMD 5700XT
Thunderbolt: Built-in JHL7540, original firmware
macOS: macOS Catalina 10.15.7

Thunderbolt Devices:
  • Apple Ethernet Adapter
  • Lacie Rugged 2TB
  • UAD Apollo Twin X - Duo
  • UAD-2 Satellite Thunderbolt 3 - Octo
No Thunderbolt Device Connected.

View attachment 3067

Apollo Twin X Duo Connected.

View attachment 3069




View attachment 3070

System Preferences>Sound
View attachment 3071
View attachment 3084

View attachment 3085

IOReg with Apollo Twin X Connected.

View attachment 3074

Lacie Rugged 2TB Connected.

View attachment 3072

System Report>SATA/SATA Express.

View attachment 3073

DaisyChain with Port 1

UAD-2 Satellite - OCTO


View attachment 3075


Apollo Twin X - DUO Connected.


View attachment 3076

System Report>Audio
View attachment 3077
View attachment 3086

IOReg with UAD-2 Satellite - OCTO and Apollo Twin X - DUO

View attachment 3078

DaisyChain with Port 2

View attachment 3079

UAD connected to Port 1 and DSP to Port 2

View attachment 3080

UAD Connected to Port 2 and DSP to Port 1

View attachment 3081
TEST HARDWARE:
Motherboard: MSI X299 RAIDER
CPU: Intel Core i9 10940X
GPU: AMD 5700XT
Thunderbolt: 3xGIGABYTE GC-Titan Ridge, custom firmware
macOS: macOS Catalina 10.15.7

Thunderbolt Devices:
  • TBT3 SSD 480
  • Ash Creek
  • Belkin Thunderbolt 3 Mini Dock with 4K Dual HDMI
  • eGPU


Thunderbolt Bus

View attachment 3184



View attachment 3186








View attachment 3187


View attachment 3179
View attachment 3181

View attachment 3182
TEST HARDWARE:
Motherboard: GIGABYTE Z370 Aorus Gaming 3
CPU: Intel Core i9 10940X
GPU: AMD RX 580
Thunderbolt: GIGABYTE GC-Titan Ridge, Original Firmware
macOS: macOS Big Sur

Type-C Devices:
  • LG 38WK95C-W
TEST HARDWARE:
Motherboard: GIGABYTE Z370 Aorus Gaming 3
CPU: Intel Core i9 10940X
GPU: AMD RX 580
Thunderbolt: GIGABYTE GC-Titan Ridge, Original Firmware
macOS: macOS Big Sur

Type-C Devices:
  • LG 38WK95C-W
TEST HARDWARE:
Motherboard: EVGA X299 Micro
CPU: Intel Core i9 10940X
GPU: AMD 5700XT
Thunderbolt: 3xGIGABYTE GC-Titan Ridge, custom firmware
macOS: macOS Catalina 10.15.7

Thunderbolt Devices:
  • TBT3 SSD 480
  • Ash Creek
  • Belkin Thunderbolt 3 Mini Dock with 4K Dual HDMI
  • eGPU

FAQ [Frequently Asked Questions]


Q. Is my Thunderbolt Compatible?
A. All the Thunderbolt models and Family listed above, at the starting of this guide are compatible and has been tested. If you have any other model and Family, feel free to post or create a separate thread.
Q. Is it necessary to Flash Thunderbolt Card?
A. Yes, it's necessary if you want to use any special device which requires Bus Activation and networking capability and when using multiple Thunderbolt cards on one motherboard.
Q. I've flashed my Thunderbolt Card with a custom firmware. Do i still need to use SSDT?
A. Yes, you'll need to use the SSDT regardless of the case. The SSDT is what provides PCI Device, Hotplug and Bus ID.
Q. Can i activate TB Bus ID without the need of flashing the custom firmware on Alpine Ridge?
A. Yes, you can.
Q. Can i activate TB Bus ID without the need of flashing the custom firmware on Titan Ridge?
A. It may be possible. But as of now, no information available yet.


Problem Reporting


Details:
  1. Thunderbolt Chip and Family
  2. Thunderbolt Vendor/Manufacturer
  3. Thunderbolt Type (Onboard or AIC)
  4. Thunderbolt AIC PCI Slot Location
  5. THB_C header Availability
  6. TB BIOS Settings Availability
  7. Motherboard Model
  8. CPU Model
  9. macOS version
  10. Copy of IOReg
  11. Kextcache output
Screen shots:
  • Hackintool>PCIe
  • System Report>PCI
Files:
  • For Clover, compress EFI/Clover, exclude the themes folder.
  • For OpenCore, compress EFI/OC.
Notes:
  • Do not include complete EFI folder.
  • Put all files in a folder with your name, compress files as Zip and attach files using site attachments only.
  • Do not use any external links.

Credits :
KGP
DSM2
CaseySJ
Elias64Fr
Mooseknuckleboi
Ferz


Sample Attachment



The ACPI files are attached below which has been used as an example in this guide.
Hello,

I have GC-Titan-Ridge v2 installed in a Gigabyte Z390 Aorus Pro WiFi MB in Slot_4. What should PCI0 be changed to ? It is the only card in my system (with the original Firmware).

I have some SSDT's installed and running Catalina (10.15.7). The Titan thunderbolt/USB 3.1 controllers show up in About this Mac -> PCI, but not in About this Mac -> Thunderbolt.

spsharma
 

Trending Threads

Latest posts

Forum statistics

Threads
1,453
Messages
13,790
Members
20,613
Latest member
wayne910094