GUIDE How to Flash Custom Firmware on Thunderbolt Card for macOS

mooseknuckleboi

New member
Joined
Nov 8, 2020
Motherboard
Asus X299 Deluxe II
CPU
i9-10980XE
Graphics
AMD Radeon 5700XT Founders Edition
OS X/macOS
10.15.x
Bootloader
  1. OpenCore
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
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 Card.

  • GIGABYTE GC-Alpine Ridge, Thunderbolt 3
  • GIGABYTE GC-Titan Ridge 2.0, Thunderbolt 3
Firmware Downloads


Following are the Thunderbolt firmwares for various devices including Motherboards, Laptops and Add-In Cards.
Please select the correct firmware below before continuing. For this guide, I will be using what we've found to be the most compatible firmware created by Elias64 with a mod done by CaseySJ, for Gigabyte Titan Ridge 2.0 Add-In Card. Download your firmware below, after you unzip it will be in a .bin format.

1. Elias64 + CaseySJ Firmware - Titan Ridge
2. DSM2 Firmware - Titan Ridge
3. DSM2 Firmware - Alpine Ridge

Add-In Cards

Thunderbolt HardwareFirmware File NameNotes
GIGABYTE GC-Alpine Ridge, AICGC-ALPINE RIDGE-NVM20-V1-Elias64Fr.bin
GC-ALPINE RIDGE-NVM20-V2-Elias64Fr.bin
GC-ALPINE-RIDGE-NVM21-V3-NATA.bin
GIGABYTE GC-Titan Ridge v1.0, AICGC-TITAN-RIDGE-NVM23-Elias64Fr.bin
GIGABYTE GC-Titan Ridge v2.0, AICTitanRidgeMacOSFirmware.bin
TitanRidgeNVM23-Elias64Fr-Mod.bin
TitanRidgeNVM43-Elias64Fr-Mod.bin
GC-TITAN-RIDGE-NVM50-Elias64Fr-14B.bin
GC-Titan-Ridge-V2.0-Mod-NVM50-CaseySJ.bin
ASUS ThunderboltEX-3, AIC, Alpine RidgeAlpineRidgeEX3-NVM18-NATA.bin
AlpineRidgeEX3-NVM26-NATA.bin
ASUS ThunderboltEX-3, AIC, Titan RidgeASUS-ThunderboltEX-3-TR-NVM56-MOD1-CaseySJ.bin

Motherboards

Motherboards with Built-In ThunderboltFirmware File NameNotes
ASRock Z390 and Z370 ITX/acASROCK_Z390_ITX_NVM20_MOD-Elias64Fr.bin
GIGABYTE Z390 DesignareDESIGNARE-Z390-NVM33-Elias64Fr.bin
Gigabyte Z390 AORUS Xtreme MotherboardZ390-AORUS-XTREME-NVM33-Elias64Fr.bin
GIGABYTE Z490 VISION DGigabyte-Vision-D-NVM-50-Elias64Fr-CaseySJ.bin
AsRock Z490 ITX/ACASRock-itx/tb3-NVM50-E64Fr-CSJ-dgsga.bin
GIGABYTE B550 VISION DDESIGNARE-Z390-NVM33-Elias64Fr.bin

NUC

NUC with Built-In ThunderboltFirmware File NameNotes
NUC8i7HNK and NUC8i3BEHNUC8i7HNKpatched.bin

Laptops

Laptops with Built-In ThunderboltFirmware File NameNotes
ASUS UX550GE ZenBook ProASUS_UX550GE_TB3-CASEY-MOD-1.bin
ASUS UX580GE ZenBook ProASUS_UX550GE_TB3-CASEY-MOD-1.bin
Lenovo ThinkPad X1 CarbonLenovo-X1-Carbon-NVM-43-MOD-1-CaseySJ.bin

Note:
Please select appropriate firmware before continuing.

Flashing Firmware



⚠️ WARNING:

The following method described below is risky and it may brick your Thunderbolt hardware during this process. The chip may be damaged and you may require a programmer and original firmware to flash the Thunderbolt chip in order to bring your Thunderbolt back to life again. The steps provided here may or may not be accurate or applicable to your particular Thunderbolt hardware. By using this guide, you understand all the risks involved and EliteMacx86 shall not be liable for any of the damages that might occur and takes no responsibility for any of your action. Please proceed with caution!

Now, as you've enough information about flashing firmware and why you need to, you can proceed with it.

Requirements


Following are the requirements for using this guide.

  • SPI Flasher
  • A computer running macOS
  • Homebrew installed
Installing Flashrom
The very first step is to install flashrom using Homebrew which will allow to flash the firmware.

Open Terminal and type:
brew install flashrom

Preparing SPI Flasher
The second step is to prepare the SPI Flasher for firmware flashing.

1. Open your SPI flasher. Place the cable in the 8 slots farthest away from the lever. The red cable should be pointing towards the lever.
5B320A8F-724B-4A37-A75F-360F94A4D8E0.JPG

2. With the cable highly pressed, in, press down the lever to secure.
9F1479FF-927F-484B-B2C5-261EAD1337AF.JPG

3. Place the card on a non-conductive surface, such as wood or plastic.
46743BE6-D4A0-40A6-AA3B-CBFE920A46C3.JPG

4. Unscrew the screws on the back, and remove the cover.
F7D663A9-9AF6-4684-8DC5-3659E4AAC4EE.JPG


5. Spread the clip as far apart as you can, and press down over the top of the green dot chip. The single red wire for the SPI flasher will be facing you, but on the right side of the clip.
C2D10A48-4B1F-4910-B68A-0369D007C4FA.JPG


6. It may take one or two tries to get it aligned. You may need to press down fairly hard, and making sure that the clip is perpendicular to the card before releasing pressure. The "teeth" of the card should be nearly aligned with the bottom of the chip, the the side of the clip with sit flush with the side of the chip.
059CD005-37EA-447A-BB8B-807360B83D79.JPG


4CD1A71C-F49A-4865-954E-3FDC9E8AB7B9.JPG


Extracting Original Firmware
The next step is to extract the original firmware. This process is necessary incase the custom firmware fails to work or doesn't works as expected and the chip needs to be returned to a factory state.

Backup Green Chip

flashrom -p ch341a_spi -r OriginalFirmware-GreenChip.bin
  • If you get the error "Programmer initialization failed." Reconnect your programmer to your USB port.
  • If you get the error No EEPROM/flash device found. Double check to make sure your clip is oriented correctly
If you are successful, you will get the below message. It will save the firmware to your user folder.
Screen Shot 2021-04-19 at 2.19.58 PM.png


Backup Blue Chip
8. Repeat the clipping process for the Blue Chip. Once clamped, backup using the command:
flashrom -p ch341a_spi -r OriginalFirmware-BlueChip.bin

Refer to the previous step if you encounter any errors. You will see the below if you are successful:
Screen Shot 2021-04-19 at 2.27.17 PM.png

Flashing Custom Firmware
The next step is to flash the custom firmware.

9. Now, with your clip still firmly attached to your blue chip, it's time to flash the Thunderbolt card.
Use the following terminal command if the firmware (obtained from top of post) is in your downloads folder, use the command:
flashrom -p ch341a_spi -w ~/Downloads/GC-Titan-Ridge-V2.0-Mod-NVM50-CaseySJ.bin
Or, enter the following in terminal: flashrom -p ch341a_spi -w and then drag your file into terminal, it will look like the following, depending on where it is stored:
flashrom -p ch341a_spi -w ~/Downloads/Z390-AORUS-XTREME-NVM33-Elias64Fr.bin
If you use the DSM2 firmware instead, it might look like the following:
flashrom -p ch341a_spi -w ~/Downloads/TitanRidgeMacOSFirmware.bin
Replace "johnny" with your username in any examples. "~" is just a command shortcut that means "your user" and will work with terminal commands.

10. Flashrom make take one minute to process, here is what it looks like incomplete:
Screen Shot 2021-04-19 at 2.51.15 PM.png


1. And here is what it looks like successful:
Screen Shot 2021-04-19 at 2.51.25 PM.png
Notes:
  • If you get the error "Programmer initialization failed." Reconnect your programmer to your USB port.
  • If you get the error No EEPROM/flash device found. Double check to make sure your clip is oriented correctly
  • If nothing is working, inspect the pins on your clip to make sure they are aligned. You may need to use tweezers to align the contacts on the clip, or make sure the wires at the top of the clip are not broken under the rubber.
Congrats! Your Thunderbolt Add-In Card is now ready to use in your System. Disconnect the clip and re-screw on the exterior panel.

Credits:
DSM2

Elias64Fr
CaseySJ
 

Attachments

  • F7D663A9-9AF6-4684-8DC5-3659E4AAC4EE.JPG
    F7D663A9-9AF6-4684-8DC5-3659E4AAC4EE.JPG
    929.6 KB · Views: 61
  • 059CD005-37EA-447A-BB8B-807360B83D79.JPG
    059CD005-37EA-447A-BB8B-807360B83D79.JPG
    483 KB · Views: 51
  • 4CD1A71C-F49A-4865-954E-3FDC9E8AB7B9.JPG
    4CD1A71C-F49A-4865-954E-3FDC9E8AB7B9.JPG
    420.8 KB · Views: 55
  • Screen Shot 2021-04-19 at 2.51.15 PM.png
    Screen Shot 2021-04-19 at 2.51.15 PM.png
    449 KB · Views: 52
  • Screen Shot 2021-04-19 at 2.51.15 PM.png
    Screen Shot 2021-04-19 at 2.51.15 PM.png
    403.1 KB · Views: 48
  • Titan Ridge Firmware - Elias64Fr.zip
    276.5 KB · Views: 69
  • Titan Ridge Alternate - DSM2.zip
    267.3 KB · Views: 143
  • Alpine Ridge V3 Firmware.zip
    298.8 KB · Views: 133
  • GC-Titan-Ridge-V2.0-Mod-NVM50-CaseySJ.bin.zip
    276.5 KB · Views: 161
Last edited:
  • Love
Reactions: EliteMacx86

Forum statistics

Threads
516
Messages
4,880
Members
4,418
Latest member
canvn2000