Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

tsialex

Contributor
Original poster
Jun 13, 2016
13,483
13,641
EFI Release vs BIOS Version vs BootBlock Version Reference Table:

EFI Release:BIOS Version:BootBlock Version:
MP41.0081.B03MP41.88Z.0081.B03.0902231259AAPLEFI1.88Z.0004.I00.0901121311
MP41.0081.B04MP41.88Z.0081.B04.0903051113AAPLEFI1.88Z.0004.I00.0901121311
MP41.0081.B??MP41.88Z.0081.B??AAPLEFI1.88Z.0004.I00.0908061259
MP41.0081.B07MP41.88Z.0081.B07.0910130729AAPLEFI1.88Z.0004.I00.0910130728
MP41.0081.B08MP41.88Z.0081.B08.1001221313AAPLEFI1.88Z.0004.I00.1001221311
MP51.007F.B00MP51.88Z.007F.B00.1008031144AAPLEFI1.88Z.0005.I00.1006041028
MP51.007F.B??MP51.88Z.007F.B??AAPLEFI1.88Z.0005.I00.1007141219
MP51.007F.B01MP51.88Z.007F.B01.1008231310AAPLEFI1.88Z.0005.I00.?
MP51.007F.B02MP51.88Z.007F.B02.1009221128AAPLEFI1.88Z.0005.I00.?
MP51.007F.B03MP51.88Z.007F.B03.1010071432AAPLEFI1.88Z.0005.I00.1010071430
MP51.0083.B00MP51.88Z.0083.B00.1707271620AAPLEFI1.88Z.0005.I00.1707271617
MP51.0084.B00MP51.88Z.0084.B00.1708080528AAPLEFI1.88Z.0005.I00.1708080525
MP51.0085.B00MP51.88Z.0085.B00.1802021746AAPLEFI1.88Z.0005.I00.1802021742
MP51.0087.B00MP51.88Z.0087.B00.1804181525AAPLEFI1.88Z.0005.I00.1804181521
MP51.0089.B00MP51.88Z.0089.B00.1806081708AAPLEFI1.88Z.0005.I00.1806081704
138.0.0.0.0MP51.88Z.F000.B00.1807300628AAPLEFI1.88Z.0005.I00.1807300627
139.0.0.0.0MP51.88Z.F000.B00.1808171030AAPLEFI1.88Z.0005.I00.1808171029
140.0.0.0.0MP51.88Z.F000.B00.1809191555AAPLEFI1.88Z.0005.I00.1809191554
141.0.0.0.0MP51.88Z.F000.B00.1812191621AAPLEFI1.88Z.0005.I00.1812191620
142.0.0.0.0MP51.88Z.F000.B00.1902142049AAPLEFI1.88Z.0005.I00.1902142048
144.0.0.0.0MP51.88Z.F000.B00.1904121248AAPLEFI1.88Z.0005.I00.1904121247
 
Last edited:
MacPro4,1 and MacPro5,1 known BootROM releases, from the oldest EFI update to the newest:

BootROM VersionReleased with:Type:Note:
MP51.007F.B03Mac Pro EFI Firmware Update 1.5General releaseFirst public released Mac Pro 5,1 firmware update, BootPicker improvements, microcodes vulnerable to Spectre and Meltdown
MP51.0083.B0010.13 DP5BetaBeta APFS support, microcodes vulnerable to Spectre and Meltdown
MP51.0084.B0010.13 DP6 and 10.13.0General releaseInitial APFS support, microcodes vulnerable to Spectre and Meltdown
MP51.0085.B0010.13.4 and Mojave DP1 to DP3General releaseAPFS support, microcodes vulnerable to Spectre and Meltdown
MP51.0087.B0010.13.5General releaseMissing microcodes and bricks the Mac Pro if you boot UEFI installed Windows 10
MP51.0089.B0010.13.6General releaseSpectre/Meltdown mitigated microcodes on the April 2 Microcode Update Guidance.
138.0.0.0.010.14 DP7 and 10.14.0General release5GT/s support for every PCIe 2.0 card
139.0.0.0.010.14.1 DP1BetaMinor updates and corrections
140.0.0.0.010.14.1 DP3 and 10.14.1 to 10.14.4General releaseNative NVMe boot support, several minor updates and corrections (NVMe is not stable/several bugs found)
141.0.0.0.010.14.4 DP2BetaMinor updates and corrections
142.0.0.0.010.14.4 DP4 and 10.14.5 DP1BetaUpdated APFSJumpStart EFI module - W3xxx Xeon bricker.

This BootROM version was never released outside betas.
144.0.0.0.010.14.5 DP4 and 10.14.5General releaseLot's of corrections, booting improvements, works with W3xxx Xeons.

This is the current BootROM release
 
Last edited:
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:
    Code:
    csrutil disable
    Note: Yosemite SIP is not compatible with ROMTool/flashrom. Don’t use Yosemite at all.
  • 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 SST25VF032B,
    • 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 don’t ask you the SPI model at all, Apple used a SST25VF032B.
 

Attachments

  • MP51 - F - U8700.SST25VF032B.JPG
    MP51 - F - U8700.SST25VF032B.JPG
    423.5 KB · Views: 92
  • MP51 - E - U8700.MX25L3205D.JPG
    MP51 - E - U8700.MX25L3205D.JPG
    416.2 KB · Views: 81
Last edited:
MacPro4,1/MacPro5,1 BootROM SPI flash replacement procedure:

  • 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.
 
Last edited:
First step is to check EFI_DONE LED. Download the Apple Technician Guide (around page 29~33) to learn how to use the DIAG button.

full




If you bricked your Mac Pro, when EFI_DONE LED is not fully lit when you press the DIAG button, you have three options:

  1. 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.
  2. 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.
  3. 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 full installer, this is not the complete BootROM and it's enough for boot your Mac Pro again but not for iCloud/iMessage/FaceTime login.

    Code:
    Install\ macOS\ Mojave/Install\ macOS\ Mojave.app/Contents/Resources/Firmware/MP51.fd
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 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.
 
Last edited:

AHT/ASD:


You need to run AHT and ASD (if it's a cross-flashed to MP5,1 early-2009 Mac Pro, you'll need to run mid-2010 versions) to find what is causing the shutdowns.​
You need an Apple OEM GPU (HD 2600XT, 8800GT, Quadro FX 5600, GT120, HD 4870/5770/5870) to run AHT/ASD. AHT/ASD can be used with PC flashed GPUs, but will fail mid test when the GPU sensors are checked. Non flashed PC GPUs won't work at all. You need to boot completely vanilla, no OC, to use AHT/ASD.​
You can get AHT links and instructions on how to install it on this GitHub article.​
AHT, you need 022-4831-A.dmg:​
The ASD version that you need is 3S149. The AHT instructions are valid for creating an ASD USB key and Apple provides a PDF with it.​
ASD, you need 3S149:
For people that have an early-2009 cross-flashed with MP5,1 firmware, you will need to run the MacPro5,1 versions of AHT (022-4831-A) and ASD (3S149).​
 
Last edited:
Is this the egg?

/Per

Well it seams I am to stupid to see it. I have been staring at the pictures for some time now. Sorry! To dumb. Wow, I am so dumb.

(No need to inject if using 140.0.0.0.0 BootROM)
 
Last edited:
Is this the egg?

/Per

Well it seams I am to stupid to see it. I have been staring at the pictures for some time now. Sorry! To dumb.
I saw the images for almost half an hour and I couldn't find anything. :confused:
 
I followed this exact procedure to reconstruct my BootROM, it’s easy to follow, and have great success. The resultant file is identical to the one that tsialex sent me.

And when I follow the procedure, the image looks interesting to me is this one.
DC79CFCF-C0EA-471E-8A98-CE431C74301D.png
 
I followed this exact procedure to reconstruct my BootROM, it’s easy to follow, and have great success. The result file is identical to the one that tsialex sent me.

And when I follow the procedure, the image looks interesting to me is this one.
View attachment 795144

But why? ;)

People are near, but no one found it yet :p
 
The numbers looks wrong to me is the G89090004PC. Because that’s not a normal cMP serial number.

So, I assume it’s about how to decode this numbers.

if the last 3 digit means “for PC”, then it’s not too hard to understand. But if that means something else, it will be much harder to decoded.

Also, now we know if we remove the 000 between G8909 and 4PC, then the result is wrong (or wrongly decoded).

Then the next few questions will be if the G is attached to the 8909000? And if 8909 has it’s own special meaning?

1989 Sep? Or 8th Sep 2009? Both doesn’t looks like has special meaning on computer or Mac Pro.

So far, I can only find a company call itself 8909.

8909000 can be a phone number, but I don’t think tsialex will post that on a forum.

And what “G” means? G890? 9000?

If the direction is right, may be the others can help to decode.
 
Last edited:
The numbers looks wrong to me is the G89090004PC. Because that’s not a cMP serial number.

It's a totally valid serial number for early-2009.

So, I assume it’s about how to decode this numbers.

if the last 3 digit means “for PC”, then it’s not too hard to understand. But if that means something else, it will be much harder to decoded.

Also, now we know if we remove the 000 between G8909 and 4PC, then the result is wrong (or wrongly decoded).

Then the next few questions will be if the G is attached to the 8909000? And if 8909 has it’s own special meaning?

1989 Sep? Or 8th Sep 2009? Both doesn’t looks like has special meaning on computer or Mac Pro.

So far, I can only find a company call itself 8909.

8909000 can be a phone number, but I don’t think tsialex will post that on a forum.

And what “G” means? G890? 9000?

If the direction is right, may be the others can help to decode.

4PC is one of the models of 2009 Mac Pros, the basic single processor one, MB871LL/A.

No phone numbers, no hidden info. It's about the serial. Why?
 
Last edited:
G8 - USA
9 - 2009
09 - week 9
000 - production line 0
4PC - Mac Pro 4,1

Production line 0?
Yep. It's the first production Mac Pro, since Apple starts all serials with zero.
[doublepost=1539601851][/doublepost]
Which would make it the very first one produced, or perhaps the one used during the keynote for the Mac Pro reveal on March 3rd 2009!?
Yes, the first one production Mac Pro made.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.