BerndVP
Member
- Joined
- Feb 25, 2021
- Messages
- 34
- Motherboard
- X299-CREATOR-1.50M
- CPU
- i9-10980XE
- Graphics
- AMD Pro WX 7100
- OS X/macOS
- 13.x
- Bootloader
- OpenCore (UEFI)
- Mac
- Mac mini
- MacBook Air
- MacBook Pro
- Mobile Phone
- iOS
Become a Premium Member for $25/year with no ads to improve your community experience. Upgrade to Pro Account for faster response and no wait times!
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.Titan Ridge can hotplug in macOS on cold boot?! with original firmware? this is news, I'm shocked. with nothing plugged at boot?
Thank you for providing the details. Please attach the required PR files to investigate further.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.
Incomplete PR files attached. Please check the first post.Thank you @EliteMacx86 for quick response. Here is the .zip folder with files. Hope I did not miss anything.
Best regards,
R.
Hello,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.
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:
![]()
GUIDE - How to Enable ThunderBolt on macOS
How to Enable ThunderBolt 2, Thunderbolt 3 and Thunderbolt 4 on maOS [Clover/OpenCore] An EliteMacx86 Exclusive Guide - This guide covers implementation of Thunderbolt 2, Thunderbolt 3 and Thunderbolt 4 on macOS using Clover and OpenCore. Overview This guide covers the implementation of...www.elitemacx86.com
For more information on Thunderbolt 4 Hotplug, refer to the guide linked below.
![]()
GUIDE - How to Enable Thunderbolt 4 Hotplug on macOS
How to Enable Thunderbolt 4 Hotplug on macOS [Clover/OpenCore] An EliteMacx86 Exclusive Guide - This guide covers implementation of Thunderbolt 4 Hotplug on macOS for built-in and Add In Card (AIC) Thunderbolt hardware. Overview Recently, Intel and Apple announced their new Thunderbolt...www.elitemacx86.com
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.
Function Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Booting with Thunderbolt Device Connected YES Thunderbolt Hotplug with Cold Boot YES Thunderbolt Hotplug with Warm Boot YES Thunderbolt Hotplug with no Device Connected at Boot YES Sleep with Thunderbolt Device Connected YES Inconsistent Sleep Wake with Thunderbolt Device Connected YES Shut Down with Thunderbolt Device Connected YES Thunderbolt Auto Reconnect after Sleep YES NO
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Booting with USB Device Connected YES USB Hotplug with Cold Boot YES USB Hotplug with Warm Boot YES Sleep with USB Device Connected YES Wake with USB Device Connected YES Shut Down with USB Device Connected YES USB Type-C Auto Reconnect after Sleep YES
Display
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Display Not Tested Not Tested Not Tested Not Tested Type-C Display Type-C Display Cold Boot Not Tested Not Tested Type-C Display Hotplug
Drive
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Drive Thunderbolt Drive Hotplug Thunderbolt NVMe Thunderbolt NVMe Hotplug
Dock
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple 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
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt eGPU Thunderbolt eGPU Hotplug
Audio
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Audio Interface Thunderbolt Audio Interface Hotplug
Adapters
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Ethernet Adapter Thunderbolt Ethernet Adapter Hotplug Thunderbolt 2 to Thunderbolt 3
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple 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 Sleep YES NO
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple 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 Sleep YES NO
Display
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Display Not Tested Not Tested Not Tested Not Tested Type-C Display Type-C Display Cold Boot Not Tested Not Tested Type-C Display Hotplug
Drive
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Drive Thunderbolt Drive Hotplug Thunderbolt NVMe Thunderbolt NVMe Hotplug
Dock
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple 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
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt eGPU Thunderbolt eGPU Hotplug
Audio
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Audio Interface Thunderbolt Audio Interface Hotplug
Adapters
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Ethernet Adapter Thunderbolt Ethernet Adapter Hotplug Thunderbolt 2 to Thunderbolt 3
SPECIFICATION
Model Controller Family Interface Speed Ports TB Device Per Port Display Support Daisy Chain Thunderbolt Header USB Header Additional Power GIGABYTE GC-Thunderbolt 2 PCIe 2.0 x4 20Gb/s 2xTB2 | 2xDP IN 6 Devices per port 4K YES YES NO NO GIGABYTE GC-ALPINE RIDGE Rev. 1.0 DSL6540 B-Step Alpine Ridge PCIe 3.0 x4 40Gb/s 2xTB3 | 1xHDMI | 2xDP IN 6 Devices per port 1x5K @60Hz or 2x4K @60Hz YES 1x NO GIGABYTE GC-ALPINE RIDGE Rev. 2.0 DSL650 C-Step Alpine Ridge PCIe 3.0 x4 40Gb/s 2xTB3 | 1xHDMI | 2xDP IN 6 Devices per port 1x5K @60Hz or 2x4K @60Hz YES 1x NO GIGABYTE GC-TITAN RIDGE Rev. 1.0 DSL7540 Titan Ridge PCIe 3.0 x4 40Gb/s 2xTB3/USB 3.1 Gen2 Type-C | 1xDP | 2xmDP IN 6 Devices per port 4K YES 1x5PIN YES 2x6PIN PCIE GIGABYTE GC-TITAN RIDGE Rev. 2.0 DSL7540 Titan Ridge PCIe 3.0 x4 40Gb/s 2xTB3/USB 3.1 Gen2 Type-C | 1xDP | 2xmDP IN 6 Devices per port 4K YES 1x5PIN YES 2x6PIN PCIE
Thunderbolt
Function on macOS Alpine 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 Connected YES YES NO NO YES Thunderbolt Hotplug with Cold Boot YES YES NO NO YES Thunderbolt Hotplug with Warm Boot YES YES NO NO YES Thunderbolt Hotplug with no Device Connected at Boot YES NO NO NO NO Sleep with Thunderbolt Device Connected YES YES NO NO INCONSISTENT SLEEP Wake with Thunderbolt Device Connected YES YES NO NO NO Shut Down with Thunderbolt Device Connected YES YES NO NO NO Thunderbolt Auto Reconnect after Sleep YES NO NO NOT TESTED
USB Type-C
Function on macOS Alpine 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 Connected YES NO NO YES USB Hotplug with Cold Boot YES NO NO YES USB Hotplug with Warm Boot YES NO NO YES Sleep with USB Device Connected YES NO NO YES Wake with USB Device Connected YES NO NO YES Shut Down with USB Device Connected YES NO NO YES USB Type-C Auto Reconnect after Sleep YES NO NO NOT TESTED
Display
Function on macOS Alpine 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 Connected YES
NONO NOT TESTED Thunderbolt Display YES NO NO Type-C Display YES NO NO Type-C Display Cold Boot YES NO NO NOT TESTED Type-C Display Hotplug YES NO NO
Dock
Function on macOS Alpine 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 Dock YES NO NO YES Thunderbolt Dock Hotplug YES NO NO YES Thunderbolt Dock Ethernet YES NO
NOYES Thunderbolt Dock Display Port YES NO NO YES Thunderbolt Dock HDMI YES NO NO YES Thunderbolt Dock USB YES NO NO YES Thunderbolt Dock Audio YES NO NO YES
eGPU
Function on macOS Alpine 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 eGPU YES NO NO YES Thunderbolt eGPU Hotplug YES NO NO
Audio
Function on macOS Alpine 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 Interface YES NO NO YES Thunderbolt Audio Interface Hotplug YES NO NO YES
Adapters
Function on macOS Alpine 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 Adapter YES NO YES YES NO YES Thunderbolt Ethernet Adapter Hotplug YES NO YES YES NO YES Thunderbolt 2 to Thunderbolt 3 YES NO YES YES NO YES
Notes:
- *Refers to Single Thunderbolt Card.
- **Refers to Multiple Thunderbolt Cards.
Model Controller Family Interface Speed Ports TB Device Per Port Display Support Daisy Chain Thunderbolt Header USB Header Additional Power ASUS THUNDERBOLTEX 3 DSLXXX PCIe 3.0 x4 40Gb/s 1xTB3/Type-C | 1xUSB 3.1 Type-A | 1xmDP IN 6 Devices per port 4K @60Hz YES YES NO NO ASUS THUNDERBOLTEX 3-TR JHL7540 Titan Ridge PCIe 3.0 x4 40Gb/s 2xTB3/Type-C | 1xDP IN | 1xmDP IN 6 Devices per port 8K @60Hz YES 1x5PIN YES 1x6PIN PCIE ASUS THUNDERBOLTEX-4 JHLXXXX PCIe 3.0 x4 40Gb/s 2xTB3/Type-C | 1xDP IN | 2xmDP IN and 1xInternal Mini DP 5 Devices per port 8K @60Hz YES 1x5PIN YES 1x6PIN PCIE
Thunderbolt
Function on macOS Alpine 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 Connected YES Thunderbolt Hotplug with Cold Boot YES Thunderbolt Hotplug with Warm Boot YES Thunderbolt Hotplug with no Device Connected at Boot YES Sleep with Thunderbolt Device Connected YES Wake with Thunderbolt Device Connected YES Shut Down with Thunderbolt Device Connected YES Thunderbolt Auto Reconnect after Sleep YES
USB Type-C
Function on macOS Alpine 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 Connected YES USB Hotplug with Cold Boot YES USB Hotplug with Warm Boot YES Sleep with USB Device Connected YES Wake with USB Device Connected YES Shut Down with USB Device Connected YES USB Type-C Auto Reconnect after Sleep YES
Display
Function on macOS Alpine 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 Connected YES Thunderbolt Display YES Type-C Display YES Type-C Display Cold Boot YES Type-C Display Hotplug YES
Dock
Function on macOS Alpine 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 Dock YES Thunderbolt Dock Hotplug YES Thunderbolt Dock Ethernet YES Thunderbolt Dock Display Port YES Thunderbolt Dock HDMI YES Thunderbolt Dock USB YES Thunderbolt Dock Audio YES
eGPU
Function on macOS Alpine 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 eGPU YES Thunderbolt eGPU Hotplug YES Thunderbolt eGPU Hotplug YES
Audio
Function on macOS Alpine 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 Interface YES Thunderbolt Audio Interface Hotplug YES
Adapters
Function on macOS Alpine 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 Adapter YES Thunderbolt Ethernet Adapter Hotplug YES Thunderbolt 2 to Thunderbolt 3 YES
Notes:
- *Refers to Single Thunderbolt Card.
- **Refers to Multiple Thunderbolt Cards.
Model Controller Interface Speed Ports TB Device Per Port Display Support Daisy Chain Thunderbolt Header USB Header Additional Power AsRock Thunderbolt 3 AIC JHL6540 PCIe 3.0 x4 40Gb/s 2xTB3/Type-C | 1xDP IN | 1xmDP IN 6 Devices per port 1x5K @60Hz or 2x4K @60Hz YES 1x5PIN NO NO AsRock Thunderbolt 3 AIC R2.0 JHL6540 PCIe 3.0 x4 40Gb/s 2xTB3/Type-C | 1xDP IN | 1xmDP IN and 1xInternal Mini DP 6 Devices per port 1x5K @60Hz or 2x4K @60Hz YES 1x5PIN NO NO
Thunderbolt
Function on macOS Alpine 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 Connected YES Thunderbolt Hotplug with Cold Boot YES Thunderbolt Hotplug with Warm Boot YES Thunderbolt Hotplug with no Device Connected at Boot YES Sleep with Thunderbolt Device Connected YES Wake with Thunderbolt Device Connected YES Shut Down with Thunderbolt Device Connected YES Thunderbolt Auto Reconnect after Sleep YES
USB Type-C
Function on macOS Alpine 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 Connected YES USB Hotplug with Cold Boot YES USB Hotplug with Warm Boot YES Sleep with USB Device Connected YES Wake with USB Device Connected YES Shut Down with USB Device Connected YES USB Type-C Auto Reconnect after Sleep YES
Display
Function on macOS Alpine 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 Connected YES Thunderbolt Display YES Type-C Display YES Type-C Display Cold Boot YES Type-C Display Hotplug YES
Dock
Function on macOS Alpine 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 Dock YES Thunderbolt Dock Hotplug YES Thunderbolt Dock Ethernet YES Thunderbolt Dock Display Port YES Thunderbolt Dock HDMI YES Thunderbolt Dock USB YES Thunderbolt Dock Audio YES
eGPU
Function on macOS Alpine 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 eGPU YES Thunderbolt eGPU Hotplug YES Thunderbolt eGPU Hotplug YES
Audio
Function on macOS Alpine 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 Interface YES Thunderbolt Audio Interface Hotplug YES
Adapters
Function on macOS Alpine 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 Adapter YES Thunderbolt Ethernet Adapter Hotplug YES Thunderbolt 2 to Thunderbolt 3 YES
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.
Controller Family macOS Sierra macOS High Sierra macOS Mojave macOS Catalina macOS Big Sur DSL3510L Cactus Ridge YES DSL6540 Alpine Ridge YES YES YES YES JHL7540 Titan Ridge YES YES YES YES JHL8540 Maple Ridge NO NO NO NO YES
THB_C and TB Settings Support
You can find the support table listed below for each particular macOS version with each setup.
Availability Thunderbolt USB Type-C Motherboard with THB_C Header YES YES Motherboard without THB_C Header YES NO Motherboard with TB Settings YES YES Motherboard without TB Settings YES YES
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.
![]()
GUIDE - How to Flash Custom Firmware on Thunderbolt Card for macOS
How to Flash Custom Firmware on Thunderbolt Card for macOS Overview Following is a Thunderbolt firmware flashing guide exclusively for macOS. The guide is applicable for Motherboards having Built-In Thunderbolt, Laptops, and Add-In Cards. The method is tested by us on the following Add-In...www.elitemacx86.com
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:
Changing the ACPI path
- 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.
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.
2. Paste it just above the External (DTGP) line.Code:External (_SB_.PC01.BR1A.SL01, DeviceObj) // (from opcode)
Once changed, the SSDT should look like the screenshot attached below.
View attachment 3061
3. Copy the following Scope
4. Paste it just above the "Scope (PEGP) line.Code:Scope (SL01) { Name (_STA, Zero) // _STA: Status }
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 2060TEST 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:
No Thunderbolt Device Connected.
- Apple Ethernet Adapter
- Lacie Rugged 2TB
- UAD Apollo Twin X - Duo
- UAD-2 Satellite Thunderbolt 3 - Octo
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 3081TEST 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 3182TEST 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:
Screen shots:
- Thunderbolt Chip and Family
- Thunderbolt Vendor/Manufacturer
- Thunderbolt Type (Onboard or AIC)
- Thunderbolt AIC PCI Slot Location
- THB_C header Availability
- TB BIOS Settings Availability
- Motherboard Model
- CPU Model
- macOS version
- Copy of IOReg
- Kextcache output
Files:
- Hackintool>PCIe
- System Report>PCI
Notes:
- For Clover, compress EFI/Clover, exclude the themes folder.
- For OpenCore, compress EFI/OC.
- 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,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:
![]()
GUIDE - How to Enable ThunderBolt on macOS
How to Enable ThunderBolt 2, Thunderbolt 3 and Thunderbolt 4 on maOS [Clover/OpenCore] An EliteMacx86 Exclusive Guide - This guide covers implementation of Thunderbolt 2, Thunderbolt 3 and Thunderbolt 4 on macOS using Clover and OpenCore. Overview This guide covers the implementation of...www.elitemacx86.com
For more information on Thunderbolt 4 Hotplug, refer to the guide linked below.
![]()
GUIDE - How to Enable Thunderbolt 4 Hotplug on macOS
How to Enable Thunderbolt 4 Hotplug on macOS [Clover/OpenCore] An EliteMacx86 Exclusive Guide - This guide covers implementation of Thunderbolt 4 Hotplug on macOS for built-in and Add In Card (AIC) Thunderbolt hardware. Overview Recently, Intel and Apple announced their new Thunderbolt...www.elitemacx86.com
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.
Function Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Booting with Thunderbolt Device Connected YES Thunderbolt Hotplug with Cold Boot YES Thunderbolt Hotplug with Warm Boot YES Thunderbolt Hotplug with no Device Connected at Boot YES Sleep with Thunderbolt Device Connected YES Inconsistent Sleep Wake with Thunderbolt Device Connected YES Shut Down with Thunderbolt Device Connected YES Thunderbolt Auto Reconnect after Sleep YES NO
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Booting with USB Device Connected YES USB Hotplug with Cold Boot YES USB Hotplug with Warm Boot YES Sleep with USB Device Connected YES Wake with USB Device Connected YES Shut Down with USB Device Connected YES USB Type-C Auto Reconnect after Sleep YES
Display
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Display Not Tested Not Tested Not Tested Not Tested Type-C Display Type-C Display Cold Boot Not Tested Not Tested Type-C Display Hotplug
Drive
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Drive Thunderbolt Drive Hotplug Thunderbolt NVMe Thunderbolt NVMe Hotplug
Dock
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple 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
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt eGPU Thunderbolt eGPU Hotplug
Audio
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Audio Interface Thunderbolt Audio Interface Hotplug
Adapters
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Ethernet Adapter Thunderbolt Ethernet Adapter Hotplug Thunderbolt 2 to Thunderbolt 3
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple 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 Sleep YES NO
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple 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 Sleep YES NO
Display
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Display Not Tested Not Tested Not Tested Not Tested Type-C Display Type-C Display Cold Boot Not Tested Not Tested Type-C Display Hotplug
Drive
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Drive Thunderbolt Drive Hotplug Thunderbolt NVMe Thunderbolt NVMe Hotplug
Dock
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple 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
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt eGPU Thunderbolt eGPU Hotplug
Audio
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Audio Interface Thunderbolt Audio Interface Hotplug
Adapters
Options Single Card with Original Firmware Single Card with Custom Firmware Multiple Cards with Original Firmware Multiple Cards with Custom Firmware Thunderbolt Ethernet Adapter Thunderbolt Ethernet Adapter Hotplug Thunderbolt 2 to Thunderbolt 3
SPECIFICATION
Model Controller Family Interface Speed Ports TB Device Per Port Display Support Daisy Chain Thunderbolt Header USB Header Additional Power GIGABYTE GC-Thunderbolt 2 PCIe 2.0 x4 20Gb/s 2xTB2 | 2xDP IN 6 Devices per port 4K YES YES NO NO GIGABYTE GC-ALPINE RIDGE Rev. 1.0 DSL6540 B-Step Alpine Ridge PCIe 3.0 x4 40Gb/s 2xTB3 | 1xHDMI | 2xDP IN 6 Devices per port 1x5K @60Hz or 2x4K @60Hz YES 1x NO GIGABYTE GC-ALPINE RIDGE Rev. 2.0 DSL650 C-Step Alpine Ridge PCIe 3.0 x4 40Gb/s 2xTB3 | 1xHDMI | 2xDP IN 6 Devices per port 1x5K @60Hz or 2x4K @60Hz YES 1x NO GIGABYTE GC-TITAN RIDGE Rev. 1.0 DSL7540 Titan Ridge PCIe 3.0 x4 40Gb/s 2xTB3/USB 3.1 Gen2 Type-C | 1xDP | 2xmDP IN 6 Devices per port 4K YES 1x5PIN YES 2x6PIN PCIE GIGABYTE GC-TITAN RIDGE Rev. 2.0 DSL7540 Titan Ridge PCIe 3.0 x4 40Gb/s 2xTB3/USB 3.1 Gen2 Type-C | 1xDP | 2xmDP IN 6 Devices per port 4K YES 1x5PIN YES 2x6PIN PCIE
Thunderbolt
Function on macOS Alpine 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 Connected YES YES NO NO YES Thunderbolt Hotplug with Cold Boot YES YES NO NO YES Thunderbolt Hotplug with Warm Boot YES YES NO NO YES Thunderbolt Hotplug with no Device Connected at Boot YES NO NO NO NO Sleep with Thunderbolt Device Connected YES YES NO NO INCONSISTENT SLEEP Wake with Thunderbolt Device Connected YES YES NO NO NO Shut Down with Thunderbolt Device Connected YES YES NO NO NO Thunderbolt Auto Reconnect after Sleep YES NO NO NOT TESTED
USB Type-C
Function on macOS Alpine 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 Connected YES NO NO YES USB Hotplug with Cold Boot YES NO NO YES USB Hotplug with Warm Boot YES NO NO YES Sleep with USB Device Connected YES NO NO YES Wake with USB Device Connected YES NO NO YES Shut Down with USB Device Connected YES NO NO YES USB Type-C Auto Reconnect after Sleep YES NO NO NOT TESTED
Display
Function on macOS Alpine 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 Connected YES
NONO NOT TESTED Thunderbolt Display YES NO NO Type-C Display YES NO NO Type-C Display Cold Boot YES NO NO NOT TESTED Type-C Display Hotplug YES NO NO
Dock
Function on macOS Alpine 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 Dock YES NO NO YES Thunderbolt Dock Hotplug YES NO NO YES Thunderbolt Dock Ethernet YES NO
NOYES Thunderbolt Dock Display Port YES NO NO YES Thunderbolt Dock HDMI YES NO NO YES Thunderbolt Dock USB YES NO NO YES Thunderbolt Dock Audio YES NO NO YES
eGPU
Function on macOS Alpine 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 eGPU YES NO NO YES Thunderbolt eGPU Hotplug YES NO NO
Audio
Function on macOS Alpine 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 Interface YES NO NO YES Thunderbolt Audio Interface Hotplug YES NO NO YES
Adapters
Function on macOS Alpine 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 Adapter YES NO YES YES NO YES Thunderbolt Ethernet Adapter Hotplug YES NO YES YES NO YES Thunderbolt 2 to Thunderbolt 3 YES NO YES YES NO YES
Notes:
- *Refers to Single Thunderbolt Card.
- **Refers to Multiple Thunderbolt Cards.
Model Controller Family Interface Speed Ports TB Device Per Port Display Support Daisy Chain Thunderbolt Header USB Header Additional Power ASUS THUNDERBOLTEX 3 DSLXXX PCIe 3.0 x4 40Gb/s 1xTB3/Type-C | 1xUSB 3.1 Type-A | 1xmDP IN 6 Devices per port 4K @60Hz YES YES NO NO ASUS THUNDERBOLTEX 3-TR JHL7540 Titan Ridge PCIe 3.0 x4 40Gb/s 2xTB3/Type-C | 1xDP IN | 1xmDP IN 6 Devices per port 8K @60Hz YES 1x5PIN YES 1x6PIN PCIE ASUS THUNDERBOLTEX-4 JHLXXXX PCIe 3.0 x4 40Gb/s 2xTB3/Type-C | 1xDP IN | 2xmDP IN and 1xInternal Mini DP 5 Devices per port 8K @60Hz YES 1x5PIN YES 1x6PIN PCIE
Thunderbolt
Function on macOS Alpine 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 Connected YES Thunderbolt Hotplug with Cold Boot YES Thunderbolt Hotplug with Warm Boot YES Thunderbolt Hotplug with no Device Connected at Boot YES Sleep with Thunderbolt Device Connected YES Wake with Thunderbolt Device Connected YES Shut Down with Thunderbolt Device Connected YES Thunderbolt Auto Reconnect after Sleep YES
USB Type-C
Function on macOS Alpine 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 Connected YES USB Hotplug with Cold Boot YES USB Hotplug with Warm Boot YES Sleep with USB Device Connected YES Wake with USB Device Connected YES Shut Down with USB Device Connected YES USB Type-C Auto Reconnect after Sleep YES
Display
Function on macOS Alpine 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 Connected YES Thunderbolt Display YES Type-C Display YES Type-C Display Cold Boot YES Type-C Display Hotplug YES
Dock
Function on macOS Alpine 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 Dock YES Thunderbolt Dock Hotplug YES Thunderbolt Dock Ethernet YES Thunderbolt Dock Display Port YES Thunderbolt Dock HDMI YES Thunderbolt Dock USB YES Thunderbolt Dock Audio YES
eGPU
Function on macOS Alpine 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 eGPU YES Thunderbolt eGPU Hotplug YES Thunderbolt eGPU Hotplug YES
Audio
Function on macOS Alpine 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 Interface YES Thunderbolt Audio Interface Hotplug YES
Adapters
Function on macOS Alpine 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 Adapter YES Thunderbolt Ethernet Adapter Hotplug YES Thunderbolt 2 to Thunderbolt 3 YES
Notes:
- *Refers to Single Thunderbolt Card.
- **Refers to Multiple Thunderbolt Cards.
Model Controller Interface Speed Ports TB Device Per Port Display Support Daisy Chain Thunderbolt Header USB Header Additional Power AsRock Thunderbolt 3 AIC JHL6540 PCIe 3.0 x4 40Gb/s 2xTB3/Type-C | 1xDP IN | 1xmDP IN 6 Devices per port 1x5K @60Hz or 2x4K @60Hz YES 1x5PIN NO NO AsRock Thunderbolt 3 AIC R2.0 JHL6540 PCIe 3.0 x4 40Gb/s 2xTB3/Type-C | 1xDP IN | 1xmDP IN and 1xInternal Mini DP 6 Devices per port 1x5K @60Hz or 2x4K @60Hz YES 1x5PIN NO NO
Thunderbolt
Function on macOS Alpine 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 Connected YES Thunderbolt Hotplug with Cold Boot YES Thunderbolt Hotplug with Warm Boot YES Thunderbolt Hotplug with no Device Connected at Boot YES Sleep with Thunderbolt Device Connected YES Wake with Thunderbolt Device Connected YES Shut Down with Thunderbolt Device Connected YES Thunderbolt Auto Reconnect after Sleep YES
USB Type-C
Function on macOS Alpine 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 Connected YES USB Hotplug with Cold Boot YES USB Hotplug with Warm Boot YES Sleep with USB Device Connected YES Wake with USB Device Connected YES Shut Down with USB Device Connected YES USB Type-C Auto Reconnect after Sleep YES
Display
Function on macOS Alpine 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 Connected YES Thunderbolt Display YES Type-C Display YES Type-C Display Cold Boot YES Type-C Display Hotplug YES
Dock
Function on macOS Alpine 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 Dock YES Thunderbolt Dock Hotplug YES Thunderbolt Dock Ethernet YES Thunderbolt Dock Display Port YES Thunderbolt Dock HDMI YES Thunderbolt Dock USB YES Thunderbolt Dock Audio YES
eGPU
Function on macOS Alpine 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 eGPU YES Thunderbolt eGPU Hotplug YES Thunderbolt eGPU Hotplug YES
Audio
Function on macOS Alpine 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 Interface YES Thunderbolt Audio Interface Hotplug YES
Adapters
Function on macOS Alpine 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 Adapter YES Thunderbolt Ethernet Adapter Hotplug YES Thunderbolt 2 to Thunderbolt 3 YES
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.
Controller Family macOS Sierra macOS High Sierra macOS Mojave macOS Catalina macOS Big Sur DSL3510L Cactus Ridge YES DSL6540 Alpine Ridge YES YES YES YES JHL7540 Titan Ridge YES YES YES YES JHL8540 Maple Ridge NO NO NO NO YES
THB_C and TB Settings Support
You can find the support table listed below for each particular macOS version with each setup.
Availability Thunderbolt USB Type-C Motherboard with THB_C Header YES YES Motherboard without THB_C Header YES NO Motherboard with TB Settings YES YES Motherboard without TB Settings YES YES
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.
![]()
GUIDE - How to Flash Custom Firmware on Thunderbolt Card for macOS
How to Flash Custom Firmware on Thunderbolt Card for macOS Overview Following is a Thunderbolt firmware flashing guide exclusively for macOS. The guide is applicable for Motherboards having Built-In Thunderbolt, Laptops, and Add-In Cards. The method is tested by us on the following Add-In...www.elitemacx86.com
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:
Changing the ACPI path
- 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.
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.
2. Paste it just above the External (DTGP) line.Code:External (_SB_.PC01.BR1A.SL01, DeviceObj) // (from opcode)
Once changed, the SSDT should look like the screenshot attached below.
View attachment 3061
3. Copy the following Scope
4. Paste it just above the "Scope (PEGP) line.Code:Scope (SL01) { Name (_STA, Zero) // _STA: Status }
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 2060TEST 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:
No Thunderbolt Device Connected.
- Apple Ethernet Adapter
- Lacie Rugged 2TB
- UAD Apollo Twin X - Duo
- UAD-2 Satellite Thunderbolt 3 - Octo
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 3081TEST 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 3182TEST 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:
Screen shots:
- Thunderbolt Chip and Family
- Thunderbolt Vendor/Manufacturer
- Thunderbolt Type (Onboard or AIC)
- Thunderbolt AIC PCI Slot Location
- THB_C header Availability
- TB BIOS Settings Availability
- Motherboard Model
- CPU Model
- macOS version
- Copy of IOReg
- Kextcache output
Files:
- Hackintool>PCIe
- System Report>PCI
Notes:
- For Clover, compress EFI/Clover, exclude the themes folder.
- For OpenCore, compress EFI/OC.
- 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.