Contribute
Register

Thunderbolt 3 Modified Firmware Custom SSDT Discussion

Joined
Dec 10, 2012
Messages
14
Motherboard
GA-H170-HD3
CPU
i7 6700
Graphics
HD 530
Mac
MacBook Pro
Mobile Phone
iOS
@noname0 Your third offset is at BA8. Try the attached file with the three byte changes in it
Thanks @dgsga! I feel quite stupid failing to go to offset 0x82BA0/0x82BA8 myself for some reason... :banghead:
You suggested 0xBA0 before - what made you switch to 0xBA8 in this case? (besides that those bytes were 0xffffff before)

Test results: (using the patched firmware above)
  • Thunderbolt tree shows up!
  • USB-C works!
  • Thunderbolt devices show up on hotplug!
    • Razor Core X and Thunderbolt Dock
    • As well as PCIe devices within those devices (RX580 on the Core X, USB3 controllers, Ethernet, ... on the Dock)
  • BUT:Hotplug does not actually work
    • Drivers seem to not load for devices on the Dock so none of them works. AMD graphics drivers seem to be loaded but no output via DP and menu bar item to eject the eGPU is not showing up either (SS attached)
    • A reboot while keeping the device connected is required for every device to make it work! (e.g. hot-plugging the dock does not work even if the CoreX is working already. Eject / replug works once the device was actually working once)
  • Using the jumper cable on 3+5 does not work at all and results in "no hardware found" (no matter if a device is attached on boot or hotplug)
  • Connecting both devices on first boot results in the very same situation as with hotplug: devices show up but don't work until after a reboot
Good progress! Any ideas on what might be missing to make hotplug work as well and get rid of the reboot requirement?

[EDIT]: Just did a quick test on Windows 10 out of curiosity and the eGPU works just fine on first boot! (same firmware obviously) Just mentioning it since some people seem to have had issues in Windows after patching the firmware.
 

Attachments

Last edited:
Joined
Apr 5, 2016
Messages
869
Motherboard
GIGABYTE Z170X-Gaming 7
CPU
i7-6700K
Graphics
GTX TITAN X
Mac
iMac, MacBook, MacBook Air, MacBook Pro, Mac mini, Mac Pro
Classic Mac
Apple, LC, Power Mac
Mobile Phone
iOS
Joined
Jul 7, 2010
Messages
94
Motherboard
ASUS ROG MAXIMUS HERO X Z370
CPU
i9-9900KS
Graphics
RX 580
Mac
MacBook Air
Classic Mac
PowerBook
Mobile Phone
iOS
@CaseySJ could you point me in the right direction for addressing thunderbolt after sleep? Currently it's broken.
I think this is the main thing I am missing right now on a Titan Ridge AIC flashed with patched NVM33. After wake from sleep my Plugable TBT3 dock requires the cable to be unplugged / replugged quickly to reconnect properly as the thunderbolt tree shows nothing as connected. MacOS does however retain all the drivers for ethernet and audio on the hub without requiring a warm reboot after the cable replug.
 
Joined
Jul 7, 2010
Messages
94
Motherboard
ASUS ROG MAXIMUS HERO X Z370
CPU
i9-9900KS
Graphics
RX 580
Mac
MacBook Air
Classic Mac
PowerBook
Mobile Phone
iOS
Thanks @dgsga! I feel quite stupid failing to go to offset 0x82BA0/0x82BA8 myself for some reason... :banghead:
You suggested 0xBA0 before - what made you switch to 0xBA8 in this case? (besides that those bytes were 0xffffff before)

Test results: (using the patched firmware above)
  • Thunderbolt tree shows up!
  • USB-C works!
  • Thunderbolt devices show up on hotplug!
    • Razor Core X and Thunderbolt Dock
    • As well as PCIe devices within those devices (RX580 on the Core X, USB3 controllers, Ethernet, ... on the Dock)
  • BUT:Hotplug does not actually work
    • Drivers seem to not load for devices on the Dock so none of them works. AMD graphics drivers seem to be loaded but no output via DP and menu bar item to eject the eGPU is not showing up either (SS attached)
    • A reboot while keeping the device connected is required for every device to make it work! (e.g. hot-plugging the dock does not work even if the CoreX is working already. Eject / replug works once the device was actually working once)
  • Using the jumper cable on 3+5 does not work at all and results in "no hardware found" (no matter if a device is attached on boot or hotplug)
  • Connecting both devices on first boot results in the very same situation as with hotplug: devices show up but don't work until after a reboot
Good progress! Any ideas on what might be missing to make hotplug work as well and get rid of the reboot requirement?

[EDIT]: Just did a quick test on Windows 10 out of curiosity and the eGPU works just fine on first boot! (same firmware obviously) Just mentioning it since some people seem to have had issues in Windows after patching the firmware.
Same for me on a TBT3 dock. Devices do correctly 'hot plug' and function to an extent. With my dock I am able to use and access the USB hub on it and it correctly mounts drives, however until I perform a warm reboot the ethernet and audio do not work. In fact with it connected after a cold boot under the PCI devices it correctly recognises the dock having ethernet and audio but under the 'Driver Loaded' column it says no. Following a warm reboot with the device connected the drivers then load, and macOS correctly assigns an en network port to the dock ethernet and the audio output is available to me. From reading other threads and comments the need for this warm reboot for devices that require divers to load is just the nature of how things are with hackintoshes at the moment.
 
Joined
Dec 10, 2012
Messages
14
Motherboard
GA-H170-HD3
CPU
i7 6700
Graphics
HD 530
Mac
MacBook Pro
Mobile Phone
iOS
I think pin 5 is actually pin 1 if you look at all the motherboard manuals that label the pins of the Thunderbolt header.
Pin 3 doesn't have enough voltage for Force Power on GC-ALPINE RIDGE. Use SATA 3.3V instead.
read more at: https://forums.macrumors.com/threads/testing-tb3-aic-with-mp-5-1.2143042/post-28346895
Thanks for the hint. Looks like I managed to mess up the pins even when I thought to have had tripple checked it :banghead: .
I take everything back now - jumper works the same way (but it doesn't seem to make a difference if I use the 0.6V from Pin 3 or 3.3V from SATA power for some reason). Doesn't help to make hotplug work on coldboot.

@c0c0p0ps: Looks like... not great but I should be able to deal with that if I have to. At least I'm able to use it somehow now!

Big thanks again to @dgsga!
 
Joined
Feb 21, 2012
Messages
77
Motherboard
Asus WS X299 SAGE/10G
CPU
i9-10980XE
Graphics
Radeon VII
I successfully patched onboard firmware on my "z170x-ud5 th" with a AlpineRidge. The Thunderbolt Bus is now active and ioreg (RP05) shows me a Port 5 (on this screenshots is without connected devices).

SysInfo_TB_Bus_wo_Devices.png ioreg_RP05_wo_Devices.png

But I have no hotplug without a correct ssdt. All ssdt (SSDT-DTPG + some any SSDT with RP05) that I tried don't gave me any hotplug or icon of eGPU. All of these ssdt have a unsuitable ThunderboltDROM & ThunderboltConfig to my motherbaord. I don't talk about the described Thunderbolt ID, the TB-ssdt is a much more...

Can someone help me with the ssdt?
 
Joined
Mar 21, 2011
Messages
731
Motherboard
GA-Z390-AORUS Pro
CPU
i7-9700K
Graphics
RX 590
I thought I'd ask here before asking on the main thread, since you are all avid flashers (haha).
my Aorus Pro has had sleep/wake working flawlessly since I built it almost a year ago.
I flashed an Alpine Ridge rev 2 with Elias64Fr's v1 ROM. it enables my old Seagate TB1 hard disk dock and my Apple Thunderbolt monitor. but, it causes sleep to be a coma instead. it happens with the TB monitor connected, or with a 2K monitor connected via HDMI or DVI. after sleep kicks in, and I press a keyboard key, the fans spin up but the computer is frozen. there is no access to it via screen sharing.

I tried NorthAmTransAm's ROM. even though TB bus (in system information--thunderbolt) and IOReg, everything appears normal, the TB monitor doesn't light up at the end of the boot cycle, so I don't know if the AR card sleeps properly with that ROM or not.

if I take the AR card out, wake is back to functioning normally.

is anyone experiencing wake issues with a TB add-in-card?

thanks
 
Joined
Jul 7, 2010
Messages
94
Motherboard
ASUS ROG MAXIMUS HERO X Z370
CPU
i9-9900KS
Graphics
RX 580
Mac
MacBook Air
Classic Mac
PowerBook
Mobile Phone
iOS
I thought I'd ask here before asking on the main thread, since you are all avid flashers (haha).
my Aorus Pro has had sleep/wake working flawlessly since I built it almost a year ago.
I flashed an Alpine Ridge rev 2 with Elias64Fr's v1 ROM. it enables my old Seagate TB1 hard disk dock and my Apple Thunderbolt monitor. but, it causes sleep to be a coma instead. it happens with the TB monitor connected, or with a 2K monitor connected via HDMI or DVI. after sleep kicks in, and I press a keyboard key, the fans spin up but the computer is frozen. there is no access to it via screen sharing.

I tried NorthAmTransAm's ROM. even though TB bus (in system information--thunderbolt) and IOReg, everything appears normal, the TB monitor doesn't light up at the end of the boot cycle, so I don't know if the AR card sleeps properly with that ROM or not.

if I take the AR card out, wake is back to functioning normally.

is anyone experiencing wake issues with a TB add-in-card?

thanks
I am using a Titan ridge flashed with NVM33 (Designare) parched firmware in an older z370 Asus which has absolutely no thunderbolt support and i have no difference in sleeping / waking my system to before adding the card and SSDT files.

The only thing I don’t have working however is devices remaining connected or correctly reconnecting after waking from sleep. It needs the TB cable pulled and replugged quickly for it to connect again. I did try the new usb kext and ssdt that was in the other thread hoping that may help but it was no different.
 
Top