For MacPro5,1 BootROM upgrades, please read the first post of the thread below to know how to do the firmware upgrade:
MP5,1: What you have to do to upgrade to Mojave (BootROM upgrade instructions thread)
Please fully read this first post, you will probably find that you have one or more problems described into the various notes below. Mojave will only install if you have upgraded your BootROM to the current release and your Mac Pro have a Metal capable GPU*. If you are trying to install Mojave...forums.macrumors.com
For MP4,1 to MP5,1 cross firmware flashing, see this thread below:
Netkas site is dead and the domain was taken by an Indonesian gambling site.
For historical purposes, this is the InternetArchive cache of the Netkas thread:
Mac Pro Firmware Upgrade Utility Released!
Mac Pro Firmware Upgrade Utility Released!web.archive.org
Be warned, all cross-flashed early-2009 Mac Pros brick overtime with the NVRAM volume differences. Anyway, cross-flashing is not a clean solution and with a BootROM reconstructions service you solve the cross-flashing to MP5,1 EFI issues, have it completely cleaned-up and upgraded to mid-20120x0d
Mac Pro firmware standard.
MacPro5,1 BootROM releases, from the oldest EFI update to the newest:
BootROM Version Released with: Type: Note: MP51.007F.B03 Mac Pro EFI Firmware Update 1.5 General release First public released Mac Pro 5,1 firmware update, BootPicker improvements, microcodes vulnerable to Spectre and Meltdown MP51.0083.B00 10.13 DP5 Beta Beta APFS support, microcodes vulnerable to Spectre and Meltdown MP51.0084.B00 10.13 DP6 and 10.13.0 General release Initial APFS support, microcodes vulnerable to Spectre and Meltdown MP51.0085.B00 10.13.4 and Mojave DP1 to DP3 General release APFS support, microcodes vulnerable to Spectre and Meltdown MP51.0087.B00 10.13.5 General release Missing microcodes and bricks the Mac Pro if you boot UEFI installed Windows 10 MP51.0089.B00 10.13.6 General release Spectre/Meltdown mitigated microcodes on the April 2 Microcode Update Guidance. 138.0.0.0.0 10.14 DP7 and 10.14.0 General release 5GT/s support for every PCIe 2.0 card 139.0.0.0.0 10.14.1 DP1 Beta Minor updates and corrections 140.0.0.0.0 10.14.1 DP3 and 10.14.1 to 10.14.4 General release Native NVMe boot support, several minor updates and corrections (NVMe is not stable/several bugs found) 141.0.0.0.0 10.14.4 DP2 Beta Minor updates and corrections 142.0.0.0.0 10.14.4 DP4 and 10.14.5 DP1 Beta Updated APFSJumpStart EFI module - W3xxx Xeon bricker.
This BootROM version was never released outside betas.144.0.0.0.0 10.14.5 DP4 and 10.14.5 General release Lot's of corrections, booting improvements, works with W3xxx Xeons.
This is the current BootROM release
What to do if your Mac Pro bricked:
If your early-2009 to mid-2012 is now bricked, you have three options:
- Buy a replacement backplane on eBay and replace the backplane yourself, cheapest option if you can't solder SMD. Remember that you need a 2009 backplane if you have an early-2009 Mac Pro. If you have a mid-2010 or mid-2012 you can use either 2010 or 2012 backplanes. Don't mix early-2009 backplanes with mid-2010/mid-2012 CPU trays, or vice-versa - either scenario is a SMC firmware version mismatch and all your fans will run at maximum RPM, full time and without any software control.
- Buy a Mac Pro MATT card and use it as a replacement SPI flash, this is not recommended since all MATT cards are clones and won't work for iCloud/iMessage/FaceTime. A replacement backplane is usually cheaper and you have to flash a clean version of your own Mac Pro BootROM image to the MATT card.
- Desolder, reprogram and solder back the SPI flash, chip U8700 on the backplane. It's not possible to read or write to the SPI flash memory while it's soldered on the MP5,1 backplane. A cheap SPI flash programmer like ch341a will work for read/write the BootROM after the SPI flash memory is desoldered from the backplane. Start reading here, read all my posts on the subject from there. I strongly recommend that you replace your original SPI flash memory with a brand new one, don't solder it back to the backplane, it will fail soon since SPI flash memories have limited lifetime (manufacture rated for just 100.000 erase/write cycles) when used as NVRAM for a Mac Pro. Again, most hard bricks are caused by the failure of the SPI flash, it's a US$ 2 component easily available, MXIC MX25L3206E, just replace it! Btw, yes, you can use a MXIC MX25L3206E as a modern replacement for the two older models SST25VF032B and MXIC MX25L3205D used on early-2009 and mid-2010 respectively, Apple did it for mid-2012 Mac Pros.
Mojave has the generic MP51.fd firmware image inside the 10.14.6 Mac App Store Mojave full installer, the MP51.fd is a standard binary file ready to flash.
Code:Install\ macOS\ Mojave/Install\ macOS\ Mojave.app/Contents/Resources/Firmware/MP51.fd
Please note that the MP51.fd is an incomplete BootROM image and while is enough to boot your Mac Pro again, it's completely unserialized and won't work iCloud/iMessage/FaceTime logins, ASD will fail or any software that the license requires serialization.
A BootROM reconstruction service is needed to get your Mac Pro fully working again.
The whole SPI flash replacement procedure is:
- desolder the U8700 flash memory from the backplane PCB,
- use an external SPI flash programmer and it's own app (or flashrom, if it's on the supported list of programmers) to dump the contents of the SPI flash memory removed from the MacPro backplane,
- program MP51.fd, or your reconstructed never booted BootROM image or even a previously saved backup dump, to the replacement SPI flash memory (Macronix MX25L3205A/MX25L3205D/MX25L3206E, SST 25VF032B),
- verify if the flashing process was done correctly,
- solder back the SPI flash memory,
- while the backplane is outside the case, take a picture of the MLB label near the AirPort Extreme connector, also take a picture of the ESN label, the one on the case near the GPU outputs,
- reinstall the backplane in the Mac Pro case,
- test if the Mac Pro is now capable of POST and it's booting macOS with the replacement flash memory,
- if the Mac Pro is now booting macOS, ask a firmware engineer to do a BootROM reconstruction service based on the corrupt dump, the case ESN and the backplane MLB labels to get your Mac Pro fully working again.
How to do a BootROM dump with ROMTool:
- If you are running anything newer than Mavericks, you will need to disable SIP. You can boot your Recovery partition or you can boot a createinstallmedia USB installer (≥10.11) to disable SIP.
Boot your Recovery partition or boot a createinstallmedia USB installer, open Terminal and then disable SIP with the command:
Note: Yosemite SIP is not compatible with ROMTool/flashrom. Don’t use Yosemite at all.Code:csrutil disable
- Do a BootROM dump using ROMTool, zip password is "rom". You need SIP disabled and no AV or any anti-malware running. ROMTool is usually a false-positive to any AV/anti-malware because it uses flashrom and DirectHWAccess.kext. If you have any AV/Malware detection tool installed, do a clean install on another disk, it will be easier and less time consuming than disabling/removing kexts/etc.
If ROMTool asks you to confirm what is the model of your SPI flash, it's the 8-pin SOIC flash memory next to the PCIe AUX-B power connector, label U8700 - see the photos below. The model of the SPI flash memory is usually related to the model year:
- with early-2009 almost all backplanes have SST 25VF032B,
- with mid-2010 usually is Macronix MX25L3205A or MX25L3205D, sometimes can be MX25L3206E with mid-2010s made in the 1st half of 2012, very rarely is SST25VF032B,
- with mid-2012 usually is Macronix MX25L3206E, it's not common to see mid-2012 with MX25L3205A or MX25L3205D.
- If ROMTool doesn’t ask you about the SPI flash memory model at all, Apple installed a SST 25VF032B to the backplane.
How to check the health of the NVRAM/if the garbage collection is still working:
There is a extremely simple way (simple here as in not need to know how the NVRAM works/check free space indicators/validate checksums and etc) to check if the garbage collection failed and the need to reflash with the clean dump:
A clean reconstructed never booted image have the Free Space Full Size as 65448 - this is for a fully empty store:
- Dump the BootROM with ROMTool
- Open the dump with UEFITool NE A63. UEFITool NE A63 is the most recent release of UEFITool NE that works correctly with MacPro5,1 BootROM images, newer releases have issues, use A63.
- Go to EFISystemNvDataFvGUID, open it
- Go to the first VSS store, open it:
- Click Free space, it's after the last variable/VSS entry:
- Check on the right panel the Full size:
A normal working single CPU Mac Pro with 3 DIMMs have the Free Space Full Size usually around 45000 to 40000 - this is for a healthy working dump:
A normal working dual CPU Mac Pro with 8 DIMMs (DIMM configuration data and SPD caches stored by MemoryConfig NVRAM entries are what takes the most space inside the VSS store) have the Free space Full size around 35000 to 30000 - this is for a healthy working dump:
A Mac Pro that the garbage collection is not working anymore will have less than 1/3 of Free Space Full Size available, less than 22000 bytes available. Any less than this and you usually start having problems and could even brick your Mac Pro. This is critical with Big Sur and Monterey Software Updates, but also happened in the past with previous macOS versions (examples #1, #2) because the number of variables needed to be set-up for the software updates.
This one has just 8921 and already corrupted the NVRAM volume:
Examples of corruption:
Where is the secondary VSS store?
This dump below had two different failures, a corrupt circular log and failed garbage collection on primary VSS store where after the corrupt point the circular log was identified as padding, and the secondary VSS store completely trashed and not even being identified by UEFITool anymore. The owner of this early-2009 got it repaired in the nick of time before bricking it.
If you found that your NVRAM volume has any of the above issues and you need a professional BootROM reconstruction service, please send me a PM.
Advice after several bricks over the years:
First a fact, MacPro5,1 NVRAM was designed back in 2008ish, when the NVRAM was used sparingly. Now we are in 2023 and the NVRAM is used constantly for all sort of things, like all sort of iCloud related variables (for example, Wi-Fi credentials for the wireless networks that you connect with your iPhone and MacBooks are saved into the Mac Pro NVRAM) to the several variables needed to bootstrap software updates when you have sealed containers (BigSur and Monterey) that have a payload of ~25KB.
The NVRAM is now the Achilles heel of our MacPro5,1 and I personally don't wait for the garbage collection to fail. Now I have a recurring appointment on my Calendar to flash the never booted BootROM image every 3 months. Since starting doing it, I never had a brick or any NVRAM problems - even with all my crazy tests that bricked so much times my backplanes in the past. Do the same.
Hi!
i was just about to install opencore legacy but after reading some stuff about corrupted nvram i followed your instructions above @tsialex .
Unfortunately i found out that my free space in first nvram vss store folder seems to be very low (Full size: 22B7h (8887).
I did a deep nvram reset but the value didn't change.
When i use UEFItool on a 2,5 year old ROMdump, my free space was bigger. (Full size: 4E94h (20116)) That was when i bought this computer second hand.
Will i now have to get my BootROM reconstructed or can i flash it with my older backup or is there anything else i could do?
Maybe it was filled up, because i was running Monterey and other unsupported systems using boot-arg no_compat_check?
By the way: I am wondering why this trick doesnt work on OS 12.6.7 but works on 12.2.1. Any idea?
I was using it so far since it seemed to be more simple and less risky than installing oc legacy.
I guess installing Oc Legacy now with such a low amount of free space in nvram is not a good idea!?
Is there anything else i should definitely avoid doing right now to avoid a brick? Can i still boot Monterey using no_compat_check?
Panic 🤯
I would really appreciate any help on this!
My System:
Mac Pro Mid 2012
2 x 2,4 GHz 6-Core Intel Xeon
32 GB 1333 MHz DDR3
Radeon RX 560 4096 MB
Cheers!