Blackmagic eGPU/Pro Firmware Update Tool on macOS
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.
I took a quick look - it seems that it moves those firmware files into the root Library directory (which you found already anyway):
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:
- Editing the plist to change the device that needs to be recognized/updated (info for enclosure from System Info > Thunderbolt might be enough).
- Replacing the bin files with the correct one for the enclosure.
- 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.
The firmware update is probably to fix the problem discussed at:
@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.
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:
Here's some logs:
@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]
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:
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:
- Create /Library/ThunderboltAccessoryFirmwareUpdates folder (may need sudo - its permissions are 644).
- 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).
- Rename your firmware file to Sonnet60W.bin (see plist for Sonnet entry) or change in plist (either way) and place it inside 'eGPU' folder.
- 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.
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.
Changing reboot requirements may allow updating the firmware without a restart. So far still unsuccessful but investigating:
@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:
For some reason my Aorus box says 60W PD now (I believe I flashed H2D firmware). It's supposed to be 100W right?