Blackmagic eGPU/Pro Firmware Update Tool on macOS
 
Notifications
Clear all

Blackmagic eGPU/Pro Firmware Update Tool on macOS  

 of  8
  RSS

itsage
(@itsage)
Illustrious Member Admin
Joined: 4 years ago
 

Blackmagic Design released a firmware update package for the Blackmagic eGPU/Pro. What interests me the most is that it's for macOS. I downloaded and installed the package but without the applicable eGPU I couldn't see the process. I found the folder that contains new 1.2 firmware bin files. It would be great to figure out where the firmware update tool is and whether we could use it for other TB3 enclosures. I have heard from a TB3 vendor that Apple has this firmware update tool for a while.

Update: Thanks to @mac_editor, we now have a TBT-Flash solution that not only works in macOS but also is compatible with all versions of Thunderbolt Macs.

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2018 Mac Mini [8th,4C,B] + RX Vega 56 Nano @ 32Gbps-TB3 (Gigabyte Gaming Box) + macOS 11.0 & Win10 2004 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 4 years ago
 

@itsage

I took a quick look - it seems that it moves those firmware files into the root Library directory (which you found already anyway):

Screen Shot 2019 12 29 at 7.14.58 PM

And requires restarting the system to apply the update. I don't see a firmware updater itself in the package which likely means that macOS itself might have a firmware update mechanism (and it reads from the directory as shown). I'll look a bit more.

It might be possible to use the same process to update any eGPU enclosure by:

  1. Editing the plist to change the device that needs to be recognized/updated (info for enclosure from System Info > Thunderbolt might be enough).
  2. Replacing the bin files with the correct one for the enclosure.
  3. Keeping the file structure the same.

Can't say much right now as I think it would be good to get some insight/see how the installer officially works. The plist has information such as vendor/device name and model numbers. So maybe we could substitute/create another entry for different enclosures and try.

Edit: yep, that's all this "installer" does - places the files into /Library/ThunderboltAccessoryFirmwareUpdates folder and then tells you to restart. There is no check for Blackmagic eGPU, etc. Plain old file copy. Probably a sufficient indicator that the firmware updater actually lies in macOS itself. The minimum requirement for the firmware update to work is 19A583 which is macOS 10.15.

Finally, even if we substitute the correct values for other eGPU enclosures, we cannot yet say if the firmware update will succeed on restart. This will have to be a trial-and-error experiment.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


itsage liked
ReplyQuote
joevt
(@joevt)
Noble Member
Joined: 3 years ago
 

The firmware update is probably to fix the problem discussed at:
https://forums.macrumors.com/threads/imac-pro-not-compatible-with-pro-display-xdr.2215217/
https://forums.macrumors.com/threads/imac-pro-works-with-apples-new-pro-display-xdr-but-limited-to-5k-resolution.2215667/

 

Mac mini (2018), Mac Pro (Early 2008), MacBook Pro (Retina, 15-inch, Mid 2015), GA-Z170X-Gaming 7, Sapphire Pulse Radeon RX 580 8GB GDDR5, Sonnet Echo Express III-D, Trebleet Thunderbolt 3 to NVMe M.2 case


ReplyQuote
itsage
(@itsage)
Illustrious Member Admin
Joined: 4 years ago
 

@mac_editor Thank you for taking a look into the installer package. It would be great if a Blackmagic eGPU found this topic and make observation during the firmware update process and let us know. As you mentioned making changes to the plist file to match an enclosure bin firmware file is possibility but we don't know what else macOS is verifying during the flashing process.

 

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2018 Mac Mini [8th,4C,B] + RX Vega 56 Nano @ 32Gbps-TB3 (Gigabyte Gaming Box) + macOS 11.0 & Win10 2004 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 4 years ago
 

@itsage

Indeed the plist trick might work as suspected: https://twitter.com/khaost/status/1211855078421757952?s=21

Edit: Was also able to reproduce notification to update Mantiz Venus. It seems the tool is called ThunderboltAccessoryFirmwareUpdater which uses MobileAccessoryUpdater:

/System/Library/PrivateFrameworks/MobileAccessoryUpdater.framework/Versions/A/MobileAccessoryUpdater
/System/Library/AccessoryUpdaterBundles/ThunderboltAccessoryFirmwareUpdater.bundle

Here's some logs:

Spoiler
Firmware Update Failure
2020-01-19 21:29:10.056212-0800 0x22a4 Default 0x0 109 0 fud: (MobileAccessoryUpdater) Modal Default Client - completed step:Find device:com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch successful:NO next-step:Find silentUpdate=0 error:Error Domain=com.apple.MobileAccessoryUpdater.StateMachine Code=7 "-[FudStateMachine didFind:info:updateAvailable:needsDownload:error:]: Unspecified error from plugin" UserInfo={PluginName=com.apple.ThunderboltAccessoryFirmwareUpdater, NSLocalizedDescription=-[FudStateMachine didFind:info:updateAvailable:needsDownload:error:]: Unspecified error from plugin, DeviceClassName=com.apple.MobileAsset.MobileAccessoryUpdate.ThunderboltType3Switch}
Screen Shot 2020 01 19 at 9.26.34 PM
 
I am interested to see if this firmware update will work on an Alpine Ridge Mac (apparently a requirement for this box). Not sure yet if it worked or not. I will try the Aorus Box as well. If anyone is willing to try, let me know and I can set you up with the edits needed to prompt the update.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


itsage liked
ReplyQuote
itsage
(@itsage)
Illustrious Member Admin
Joined: 4 years ago
 

@mac_editor This is promising. The Sonnet Breakaway Box uses the same TUL board. I have a firmware (from @kezzor) that enables 60W PD for 350W PSU version. I'd like to give it a shot and see how this process works. FW name is [Sonnet_Breakaway_Box_Developer_Edition_AR_EP_A68_B1_rev25_W_TI83_3p61_SEC1_sign.bin]

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2018 Mac Mini [8th,4C,B] + RX Vega 56 Nano @ 32Gbps-TB3 (Gigabyte Gaming Box) + macOS 11.0 & Win10 2004 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 4 years ago
 

@itsage

For kicks I tried flashing Venus firmware to the Sonnet box to see what happens. I noticed something important - when rebooting, I saw the progress bar for a second (meaning there was an attempt to flash firmware). Sadly my PD is still 15W so it failed. However, I gleaned much more insight, and now know the EFI app responsible for executing firmware flashes as well as its arguments:

BlessSettings = (
{
BlessArguments = (
"/usr/sbin/bless",
"--nextonly",
"-mount",
"/",
"-firmware",
"/System/Library/AccessoryUpdaterBundles/ThunderboltAccessoryFirmwareUpdater.bundle/Contents/Resources/ThorUtil.efi",
"-payload",
"/Library/ThunderboltAccessoryFirmwareUpdates/eGPU/MantizVenus.bin",
"-options",
"-g -o -u 0x00087B5C38F00B00 -fs efi-apple-payload0-data -nb -noreset"
);
ClearNVRAM = (
ThorUpdateResult
);
Priority = 705;
SetNVRAM = {
"tbt-options" = 4;
};
UniqueID = "0x00087B5C38F00B00-1";
}
);
CurrentFirmwareVersionOnAccessory = "25.02";

I still have to experiment with some other things like if version needs to be set different, and if we can force a flash without restarting, since that is a parameter.

To set it up for yourself, you just need to:

  1. Create /Library/ThunderboltAccessoryFirmwareUpdates folder (may need sudo - its permissions are 644).
  2. Unzip the attachment and add 'eGPU' folder to folder above (there is a plist of same name and firmware file(s) to keep inside 'eGPU' folder).
  3. Rename your firmware file to Sonnet60W.bin (see plist for Sonnet entry) or change in plist (either way) and place it inside 'eGPU' folder.
  4. Hot-plug enclosure and prompt should show up.

The plist can be used for multiple enclosures simultaneously. I've added Mantiz and Sonnet configuration for now.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


itsage liked
ReplyQuote
itsage
(@itsage)
Illustrious Member Admin
Joined: 4 years ago
 

Thank you for the instructions and details on your attempt! Here's the Sonnet Breakaway Developer Edition BIN if you'd like to give it a shot.

external graphics card builds
best laptops for external GPU
eGPU enclosure buyer's guide

 
2018 Mac Mini [8th,4C,B] + RX Vega 56 Nano @ 32Gbps-TB3 (Gigabyte Gaming Box) + macOS 11.0 & Win10 2004 [build link]  


ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 4 years ago
 

@itsage

Changing reboot requirements may allow updating the firmware without a restart. So far still unsuccessful but investigating:

 

Screen Shot 2020 01 21 at 10.48.57 AM
 
Edit: No go. This also seems to just bless for firmware update on reboot. Keeping setting to required reboot recommended. It still did not work for me. Maybe the TUL board indeed needs Alpine ridge controller. @itsage let me know how it goes. Apparently, when you perform/attempt an update, you get the result in NVRAM:
nvram ThorUpdateResult
My output of failed update after Sonnet was:
ThorUpdateResult %07%00%12%00%00%00%00%00
 
I will try with the Aorus box last, but not sure if I'll be able to tell the difference in firmwares unless firmware versions are different as well.

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


itsage liked
ReplyQuote
mac_editor
(@mac_editor)
Famed Member Moderator
Joined: 4 years ago
 

@itsage I tried again with the Aorus box. This time, I observed something a little different: when rebooting, the progress bar came up, filled up all the way for a moment (probably successful?) and then rebooted. Result from NVRAM:

ThorUpdateResult %19%00%00%00%ce%00%00%00

For some reason my Aorus box says 60W PD now (I believe I flashed H2D firmware). It's supposed to be 100W right?

 

 Screen Shot 2020 01 21 at 11.34.14 AM

purge-wranglertbt-flashpurge-nvdaset-eGPU
Insights Into macOS Video Editing Performance

Master Threads:
2014 15-inch MacBook Pro 750M
2018 15-inch MacBook Pro

 
2019 13" MacBook Pro [8th,4C,U] + RX Vega 64 @ 32Gbps-TB3 (Mantiz Venus) + macOS 10.14.6 & Win10 [build link]  


ReplyQuote
 of  8