Contribute
Register

Thunderbolt 4, modified firmware, Full Thunderbolt Bus tree

Good evening,
Surely a naive question: is there a way to extract the Thunderbolt firmware without having to use a SOIC8 clip / Raspberry Pi on the SPI ROM chip (either on macOS or Windows) ?
Apologies if this was already posted somewhere else!

Thank you!
Yes we can read the firmware from Linux. It will not be in the right format for flashing, but it is good enough to examine.
 
My patch to enable NVM upgrades on Maple Ridge has not been upstreamed yet (though it has been merged into thunderbolt/next). I posted a NixOS live ISO a few pages back that has a kernel with the patch applied.

Edit: Scratch that, I missed that you just want to dump the active NVM region. I believe you should be able to do that without the patch.
 
I have never had an Asus Maple Ridge. I ordered today along with the Asus USB4 and am waiting for delivery. I have GC-Maple Ridge - unflashed. I tried to sflash once, but my programmer could not read the ROM.

Tomorrow I will transfer the i3 10300 to the Z590i and try to install Sonoma.

I'm also sharing the 3 BIOSes I got from Gigabyte that support Titan Ridge.
Z690GAMINGXDDR4GC.F22 - Z690 Gaming X DDR4
Z690UDDDR4GC.F22 - Z690 UD DDR4
Z690UDAXGC.F22 - Z690 UD AC (DDR5)
These motherboards don’t have onboard / integrated Thunderbolt 3 / Titan Ridge, support is offered via AIC (add in card), I think anyway, so I don’t see any F/W inside these.

Prior to TB4, I believe FW updates were distributed separately from UEFI capsules…the reason why Intel left out Linux NVM write from TB4 was a management decision to do it _exclusively_ through OEM uEFI capsules, and not separately with a Windows app, or using fwupd / LVFS on Linux.

Still looking into modding the Intel windows flasher to support Maple Ridge.

I still can’t figure out how MSI is packaging the fw for their integrated Maple Ridge z690 / z790 motherboards, and it’s driving me nuts. Nothing under the usual GUIDs or search strings.

IDK if this will ever be of use to anyone, but before I move on to something else and forget about this, here are all three unmodified stock HP Z2 Mini G9 Maple Ridge TB4 JHL8340 firmware releases, packaged for writing.
 

Attachments

  • tb4_z2mg9_nvm4383.zip
    228.4 KB · Views: 3
  • tb4_z2mg9_nvm310.zip
    222.6 KB · Views: 3
  • tb4_z2mg9_nvm3983.zip
    226.5 KB · Views: 4
If anyone has MSI Z690 MEG ACE, looking for older Thunderbolt 4 Maple Ridge v31 firmware for a friend. I tried loading a few of their UEFI capsules from their downloads section into UEFITool, but I can't find anything.

Usually you can hex search for something like "736B6970 206C6973" and it'll pop right up...but I'm not seeing it.
I am far from a UEFI expert though. @Elias64Fr any other ways you can think of to find it?

It’s also possible that it’s just not in the caps I looked through. I didn’t go through every single release. Hmm… what a pain.
With Asus BIOS files we can run a simple search like this:

Screenshot 2024-04-20 at 6.41.16 AM.png

And extract the Raw section:
Screenshot 2024-04-20 at 6.41.28 AM.png

Unfortunately, this did not yield any results in MSI Z690 MEG ACE BIOS.
 
I just picked up an Asus USB 4.

Screenshot 2021-01-20 at 23.11.07.png

Screenshot 2021-01-20 at 23.11.18.png

Screenshot 2021-01-20 at 23.32.34.png

Screenshot 2021-01-21 at 03.05.10.png

Connected M.2 SSD in the Thunderbolt 3 bay mounted on the desktop.

I am attaching the original firmware.

1713625405144.jpg
 

Attachments

  • pcidevices.txt
    7.7 KB · Views: 2
  • OriginalFirmware-AsusUSB4.bin.zip
    132.7 KB · Views: 4
Last edited:
Have you installed the Maple Ridge SSDT and SSDT-DTPG? IOReg shows it’s not invoked.
With
SSDT-MAPLE-RIDGE-RP05-V2.aml
it looks like this:

USB4dstt.png
 
Oops, I forgot you’re using a Gigabyte motherboard. We’ll need to flash the firmware. I can modify it for you shortly.
I no longer have Gigabyte. I use Asus.
 
Back
Top