Contribute
Register

Thunderbolt 4, modified firmware, Full Thunderbolt Bus tree

Hey @CaseySJ @Elias64Fr!

First of all: Thank you both for the Work and all the testing.

Setup:
Gigabyte Z690 Gaming X DDR5
14900K
6900 XT

I have a ASRock Thunderbolt 4 AIC with Custom FW
and
I have a Gigabyte GC-Maple-Ridge AIC with Custom FW - TB Headers are both Connected

Both Cards are working fine under macOS Sonoma 14.4.1, but the ASRock Card only hotplugs.
The GC-Maple-Ridge won't Hot Plug, only a Cold boot with Thunderbolt Device "on" works here.

I want to change the TB BUS ID 0 for the GC-Maple-Ridge, to TB BUS ID 1, both cards have now TB BUS ID 0.

Can someone change the TB BUS ID in the modded Maple Ridge FW from 0 to 1?

Thanks in Advance!
 

Attachments

  • Bildschirmfoto 2024-04-11 um 12.50.00.png
    Bildschirmfoto 2024-04-11 um 12.50.00.png
    562 KB · Views: 25
  • Bildschirmfoto 2024-04-11 um 12.49.45.png
    Bildschirmfoto 2024-04-11 um 12.49.45.png
    510.2 KB · Views: 26
  • SSDT-TB4-ASROCK-RP05.aml
    2.1 KB · Views: 3
  • Bildschirmfoto 2024-04-11 um 13.59.13.png
    Bildschirmfoto 2024-04-11 um 13.59.13.png
    324.4 KB · Views: 24
  • Bildschirmfoto 2024-04-11 um 14.00.35.png
    Bildschirmfoto 2024-04-11 um 14.00.35.png
    312.1 KB · Views: 25
  • SSDT-MAPLE-RIDGE-RP05-V2 18.46.23.aml
    2.1 KB · Views: 5
Are you using the 3 kernel patches?

Do you have a non-Thunderbolt monitor with which to test sleep, wake and hot plug behavior?
I've been testing devices and sleep functionality this morning, getting some screen grabs when on an intentional reboot, my system became unable to boot. When I select my boot drive from picker, it goes dark, then comes back to the picker. I will point out that I have not changed my EFI since last night, and I booted probably 15 times this morning.
I have multiple partitions, with OS's on this drive, and my EFI is able to boot those. I also have a pre-Thunderbolt testing EFI on a USB stick that I use for emergencies, and it cannot boot my main Ventura partition either.
While I'm not panicked, as I have a good backup and the Ventura partition is readable, does anyone have any thoughts?
 
Hey @CaseySJ @Elias64Fr!

First of all: Thank you both for the Work and all the testing.

Setup:
Gigabyte Z690 Gaming X DDR5
14900K
6900 XT

I have a ASRock Thunderbolt 4 AIC with Custom FW
and
I have a Gigabyte GC-Maple-Ridge AIC with Custom FW - TB Headers are both Connected

Both Cards are working fine under macOS Sonoma 14.4.1, but the ASRock Card only hotplugs.
The GC-Maple-Ridge won't Hot Plug, only a Cold boot with Thunderbolt Device "on" works here.

I want to change the TB BUS ID 0 for the GC-Maple-Ridge, to TB BUS ID 1, both cards have now TB BUS ID 0.

Can someone change the TB BUS ID in the modded Maple Ridge FW from 0 to 1?

Thanks in Advance!
Hi @KungfuMarek
You can find all explain informations on this Post for Thunderbolt Bus ID customization.
 
For all of you mentioning my user as a contributor; thank you, but you all give me too much credit...I'm just a n00b following the lead and direction from Elias64Fr and CaseySJ.
Hi @Inmike09
don't be so modest, you have discovered full Thunderbolt bus enabled without any firmware patches on modern macOS version for Asus Z790 mobo (then working on Z690) :thumbup:
 
Last edited:
Message for all experimenters, is someone could post his Thunderbolt DEBUG Logs explain here with his ASUS Z690/Z790 without any Firmware patches ?

I want to understand why macOS Thunderbolt drivers can deal with a disabled Thunderbolt Host Interface on port@7 :)

If you can also make 2 screenshots of IORegistryExplorer by pointing on IOThunderboltPort@7 & IOThunderboltSwitch(OS, Type6 or USB4), it would be appreciated.
 
Last edited:
Alas, even with cold boot we do not get Thunderbolt Local Node on AMD Ryzen (Asus X670E Gene)...
View attachment 581267
Hi @CaseySJ
We can compare Thunderbolt Debug Logs on this two Systems ... Sometimes AppleVTD (Virtual memory protection) is enabled on NHI device, sometimes not ! This could be a research track
 
Hey @CaseySJ @Elias64Fr!

First of all: Thank you both for the Work and all the testing.

Setup:
Gigabyte Z690 Gaming X DDR5
14900K
6900 XT

I have a ASRock Thunderbolt 4 AIC with Custom FW
and
I have a Gigabyte GC-Maple-Ridge AIC with Custom FW - TB Headers are both Connected

Both Cards are working fine under macOS Sonoma 14.4.1, but the ASRock Card only hotplugs.
The GC-Maple-Ridge won't Hot Plug, only a Cold boot with Thunderbolt Device "on" works here.

I want to change the TB BUS ID 0 for the GC-Maple-Ridge, to TB BUS ID 1, both cards have now TB BUS ID 0.

Can someone change the TB BUS ID in the modded Maple Ridge FW from 0 to 1?

Thanks in Advance!
Changing Bus ID is tricky so I've made the changes for you. Instructions:
  • Save a copy of the original GC-Maple Ridge firmware
  • Flash the attached firmware -- this version has not been tested
  • Boot the system with existing SSDT-MAPLE-RIDGE...
  • Check System Information -> Thunderbolt/USB4 to verify if Bus ID 0x01 has taken effect
  • Also check if there are still only 2 ports showing in Thunderbolt/USB4
  • If you see 2 extra ports (or 4 total ports) then download and install the attached SSDT and disable the previous Maple Ridge SSDT
  • Reboot and check again
 

Attachments

  • SSDT-MAPLE-RIDGE-RP05-V2-BUS-01.aml
    2.2 KB · Views: 7
  • maple-ridge-mod-bus-01.bin.zip
    225 KB · Views: 6
Message for all experimenters, is someone could post his Thunderbolt DEBUG Logs explain here with his ASUS Z690/Z790 without any Firmware patches ?

I want to understand why macOS Thunderbolt drivers can deal with a disabled Thunderbolt Host Interface on port@7 :)

If you can also make 2 screenshots of IORegistryExplorer by pointing on IOThunderboltPort@7 & IOThunderboltSwitch(OS, Type6 or USB4), it would be appreciated.

Hi @CaseySJ
We can compare Thunderbolt Debug Logs on this two Systems ... Sometimes AppleVTD (Virtual memory protection) is enabled on NHI device, sometimes not ! This could be a research track

Hi @Elias64Fr,

I'll provide you Thunderbolt debug logs from both systems:
  • Asus Z690 ProArt Creator with unmodified firmware
  • Asus X670E Gene also with unmodified firmware
For Asus Z690 ProArt, I'll also post:
  • Screenshot of IOThunderboltPort@7
  • Screenshot of IOThunderboltSwitchType6
 
@Elias64Fr,

Here is part 1: TB debug log from Asus X670E Gene (AMD Ryzen) using attached SSDT.
Screenshot 2024-04-11 at 10.17.13 AM.png
 

Attachments

  • SSDT-TB3HP-ASUS-X670E-GENE.aml
    2.2 KB · Views: 2
  • tblog1.txt
    32.8 KB · Views: 3
@Elias64Fr,

Here is part 2: TB debug log from Asus Z690 ProArt Creator and:
  • Screenshot of IOThunderboltPort@7
  • Screenshot of IOThunderboltSwitchType6
Screenshot 2024-04-11 at 10.29.37 AM.png
Screenshot 2024-04-11 at 10.29.46 AM.png
 

Attachments

  • tblog-z690.txt
    418.8 KB · Views: 4
Back
Top