Contribute
Register

[In progress] SSDT for Thunderbolt 3 Hotplug

Joined
Jul 13, 2016
Messages
2,118
Motherboard
Gigabyte Z370 Gaming 5
CPU
I9 9900k
Graphics
Vega 64
Mac
Mac mini, Mac Pro
Mobile Phone
iOS
If anyone is willing to help I have attached a zip of my io reg with and without the ssdt as well as the ssdt .aml itself.
I am not sure how to do it in Opencore but you likely need to do a device rename of the first PCI-Bus and not a find replace but an actual device rename. In clover it was easy you just clicked the button Device Renames under ACPI.
 
Joined
Jul 13, 2016
Messages
2,118
Motherboard
Gigabyte Z370 Gaming 5
CPU
I9 9900k
Graphics
Vega 64
Mac
Mac mini, Mac Pro
Mobile Phone
iOS
I recently bought a LG Ultrafine 5k Thunderbolt display. It is detected in Windows 10 and macOS. Everything is working fine so far. I do not intend to hotplug it. However, there are some minor grumbles which I think might be related to hotplugging and this SSDT.

I am using a Gigabyte Titan Ridge updated to the newest firmware. I installed the SSDT-TB3.aml V3.1 from this thread and adapted to my RP21:

1.
The screens USB Hub (and with it sound + downstream usb devices) are not detected after a soft reboot. This is true for Windows 10 and macOS. I have to shutdown (either Windows 10 or macOS) completely to have working Thunderbolt on the next boot. The screen itself (graphics) is working even with a soft reboot.

2.
Despite the fact the the screen is working and the integrated USB 3.1 hub of the screen is attached macOS says that no thunderbolt devices are detected:


Does anyone encounter the same issues?
I can not tell you what is going down with windows or why it bugs out in windows. However, the TB bus will be empty that is normal unless you have flashed your TB3 card to use a Modified firmware though that will likely break other things like video pass threw does not function.

Regarding your USB after sleep I can not really say how to fix that some people have working USB with sleep others experience the same issues you are.
 
Last edited:
Joined
Nov 13, 2012
Messages
69
Motherboard
Asrock Z390 Phantom Gaming 6
CPU
i9-9900K
Graphics
RX 5700 XT
Mac
MacBook Pro
Mobile Phone
iOS
Yea I do not even bother to use sleep on my Hack. It's just to much hassle for me. It's a desktop anyways. It's not about sleep but just a "normal" reboot. But I guess it's the same cause. Firmware only properly initialized thunderbolt device on a cold start.
 
Joined
Jul 13, 2016
Messages
2,118
Motherboard
Gigabyte Z370 Gaming 5
CPU
I9 9900k
Graphics
Vega 64
Mac
Mac mini, Mac Pro
Mobile Phone
iOS
Firmware only properly initialized thunderbolt device on a cold start.
Yea that's the easy way some people were making some progress in getting Mac like implementation but have decided that flashing a modified firmware to the TB controller is really the only way to do it.
 
Joined
Jan 1, 2020
Messages
318
Motherboard
Gigabyte Z390 Designare
CPU
i5-9600K
Graphics
RX 5700 XT
Mac
iMac, MacBook Pro, Mac mini
Mobile Phone
Android
I am posting in hopes someone might be able to offer some advise.
I am running Mojave 10.14.6 on a GA-X99-Designare EX mobo with a Gc titan ridge flashed with DSM2's firmware.
My issue I believe it has to do with the pci bridges on this board. Thunderbolt functions but no hotswap when I try to place the ssdt with my specific values.

As you can see here the controller is behind 2 pci bridges and PXSX does not exist.

View attachment 453839

My card is at RP01 but without PXSX the SSDT won't work. So in the ssdt I renamed the first pci-bridge0 to PXSX.
Now with the ssdt in place, it appears the path in IO reg is half of what it should be and doesn't follow through with DSB0 and NHI0.

View attachment 453840

If anyone is willing to help I have attached a zip of my io reg with and without the ssdt as well as the ssdt .aml itself.
@athedog11

Could you try this file without any renaming ?

Problem description :
Code:
    Device (_SB.PCI0.RP01.PXSX)
    {
        Name (_ADR, Zero)  // _ADR: Address
    }
This part create a device that already exist.
Code:
        Scope (PXSX)
        {
            Name (_STA, Zero)  // _STA: Status
        }
and this part is done on external for first disabling current native PXSX device and then declare all other sub-devices :)
Code:
        Method (_RMV, 0, NotSerialized)  // _RMV: Removal Status
        {
            Return (Zero)
        }
This one is not required.
 

Attachments

Joined
Aug 17, 2017
Messages
251
Motherboard
Gigabyte X299 UD4 PRO
CPU
I9-7920X
Graphics
RX 590
Mac
MacBook Pro
Mobile Phone
iOS
Hello everyone! I bring good news! I hope for all owners of the Gigabyte 300 series.

I am going to replace my chipset with a x299, so I wanted to take advantage of the opportunity to do a last test on my Z370.

I was ready to use the new methods with TbtForcePower.efi and ThunderboltReset.kext but it was not necessary, because THE HOT PLUG ALREADY WORKS!!

Currently, as I wrote in the first post I have always kept the F10 BIOS for my motherboard (GB Z370 Ultra Gaming) and the hotplug worked.

Yesterday I tried to update the BIOS to the latest version released in November 2019 (F16a) and it seems that the hotplug works perfectly!

The bios settings I used are the same as those reported on the first post, and the SSDT is the same as always.

IN SHORT, WHAT YOU NEED:
- Latest BIOS version for 300 series motherboards
- SSDT-Z370-THB3HP
- Nothing else!

N.B.
Updating the BIOS leads to the loss of its settings, make a backup of your settings if you don't remember them.
I always recommend doing a CMOS reset after the update and starting from a clean configuration.

Anyone who has problems with Thunderbolt so far want to try?
If others confirm that it works on the 300 series I will update the first post.
 
Joined
Oct 27, 2016
Messages
15
Motherboard
Gigabyte Aorus Z390 Pro
CPU
i9-9900K
Graphics
RX 580
Mac
iMac
Mobile Phone
iOS
Hello everyone! I bring good news! I hope for all owners of the Gigabyte 300 series.

I am going to replace my chipset with a x299, so I wanted to take advantage of the opportunity to do a last test on my Z370.

I was ready to use the new methods with TbtForcePower.efi and ThunderboltReset.kext but it was not necessary, because THE HOT PLUG ALREADY WORKS!!

Currently, as I wrote in the first post I have always kept the F10 BIOS for my motherboard (GB Z370 Ultra Gaming) and the hotplug worked.

Yesterday I tried to update the BIOS to the latest version released in November 2019 (F16a) and it seems that the hotplug works perfectly!

The bios settings I used are the same as those reported on the first post, and the SSDT is the same as always.

IN SHORT, WHAT YOU NEED:
- Latest BIOS version for 300 series motherboards
- SSDT-Z370-THB3HP
- Nothing else!

N.B.
Updating the BIOS leads to the loss of its settings, make a backup of your settings if you don't remember them.
I always recommend doing a CMOS reset after the update and starting from a clean configuration.

Anyone who has problems with Thunderbolt so far want to try?
If others confirm that it works on the 300 series I will update the first post.
Thx for join Z370 (Z390) family! We miss you for a long time. I am already have the same setup as blouse's "Hack Pro" :: i9-9900K + Z390 Aorus Pro but with LG UltraFine5k Display. For me all works (i mean display works as Type-C hub and i can connect devices) but my system dont see GG-TITAN-RIGE as a PCI controller. If you can help me i will bring beer for you!) Thx you.
 
Joined
Aug 17, 2017
Messages
251
Motherboard
Gigabyte X299 UD4 PRO
CPU
I9-7920X
Graphics
RX 590
Mac
MacBook Pro
Mobile Phone
iOS
Hi @achooley, have you edited the SSDT-TB3 to adapt it to your ACPI table? Does the Thunderbolt hotplug work?
If everything works out, I wouldn't worry about cosmetic changes in the system information ;)
 
Joined
Oct 27, 2016
Messages
15
Motherboard
Gigabyte Aorus Z390 Pro
CPU
i9-9900K
Graphics
RX 580
Mac
iMac
Mobile Phone
iOS
Hi @achooley, have you edited the SSDT-TB3 to adapt it to your ACPI table? Does the Thunderbolt hotplug work?
If everything works out, I wouldn't worry about cosmetic changes in the system information ;)
Снимок экрана 2020-04-03 в 16.39.53.png

I have this patch. And as i know i have correct path of TB3 (and works good with Samsung T5 type-c ssd with hot-plug). But in PCI section in System report just empty list:
Снимок экрана 2020-04-03 в 16.42.10.png
 
Joined
Jul 26, 2018
Messages
752
Motherboard
Asus Z370-A Prime II
CPU
i7-8700
Graphics
RX 580
Mac
MacBook Pro
Mobile Phone
iOS
Hello everyone! I bring good news! I hope for all owners of the Gigabyte 300 series.

I am going to replace my chipset with a x299, so I wanted to take advantage of the opportunity to do a last test on my Z370.

I was ready to use the new methods with TbtForcePower.efi and ThunderboltReset.kext but it was not necessary, because THE HOT PLUG ALREADY WORKS!!

Currently, as I wrote in the first post I have always kept the F10 BIOS for my motherboard (GB Z370 Ultra Gaming) and the hotplug worked.

Yesterday I tried to update the BIOS to the latest version released in November 2019 (F16a) and it seems that the hotplug works perfectly!

The bios settings I used are the same as those reported on the first post, and the SSDT is the same as always.

IN SHORT, WHAT YOU NEED:
- Latest BIOS version for 300 series motherboards
- SSDT-Z370-THB3HP
- Nothing else!

N.B.
Updating the BIOS leads to the loss of its settings, make a backup of your settings if you don't remember them.
I always recommend doing a CMOS reset after the update and starting from a clean configuration.

Anyone who has problems with Thunderbolt so far want to try?
If others confirm that it works on the 300 series I will update the first post.
TbtForcePower.efi will only act as a way to force power to the card on a cold boot. Thunderboltreset is something else all together that we don't need.

Either way, congrats on getting your HP working!

If you get real brave consider flashing the firmware one day :)
 
Top