As you may know, some Mac Pro models have been introduced that are identical or very nearly identical to the model that preceded them. Such is the case with the 2007 Mac Pro (MacPro2,1) and the 2010 Mac Pro (MacPro5,1). I decided to see if it was possible to come up with a way to update the firmware on the 2009 Mac Pro with the firmware from the 2010 Mac Pro. The hardware of these models is very close. The only thing that differs is the CPU socket mechanism on the dual CPU model, which uses Xeon CPUs with the IHS (Integrated Heat Spreader) removed, and the SMC firmware version. The CPU socket issue is transparent to the firmware, and the SMC firmware difference between 2009 and 2010 models is not an issue. As long as the SMC firmware version matches between the main board and the CPU board, everything works perfectly.
To explain how this was accomplished, let me first describe how the firmware update process works on a Mac. The firmware updater package, after checking that the Mac can use the update, places an EFI boot file named EFIUpdaterApp2.efi, which is very similar in structure to the standard boot file that starts a Mac on the system volume, in the /System/Library/Core Services/Firmware Updates folder, along with the actual firmware image. This boot file is then blessed in a special way, and the next time the Mac is booted from shutdown, with the power button held down for a few seconds, this special EFI program is run.
So how do we get the program to load the other firmware? It turns out that it is surprisingly easy. Inside the EfiUpdaterApp2.efi program are a list of firmware version strings from different releases of the 2010 Mac Pro, along with the CRC32 checksum of the firmware image file. If one of the firmware version strings is modified to what the 2009 Mac Pro model is, and the CRC32 checksum is changed to match the 2010 Mac Pro firmware image, and the firmware image filename is changed to the 2009 Mac Pro firmware image filename, then all is well.
I have tested this myself, on both 2009 and 2010 Mac Pro models. You can upgrade or downgrade at will. If you have a CPU in a 2010 Mac Pro that isn’t supported in the 2009 Mac Pro, such as the Westmere 6-core Xeon, the system will not boot after the update until a compatible CPU is installed. I started off with just a few scripts and files in a folder to do this, but as a service to the community, I have written an installer program that does everything automatically. The program checks the Mac Pro model and will install the 2009 Mac Pro firmware or the 2010 Mac Pro firmware, whichever is appropriate. If you have a 2010 Mac Pro with a 6-core Xeon, the program will warn you, but still allow the firmware update. The download does not contain any firmware updater files or image files. The program creates a small RAM disk, downloads the needed files, copies all of the scripts to the RAM disk, and then runs the scripts. Everything is left on the RAM disk for you to look and and study, if needed.
I hope you enjoy this utility, and enjoy the benefits of extending the value of your Mac Pro.
http://support.apple.com/downloads/DL1321/en_US/MacProEFIUpdate.dmg
I hope you enjoy this utility, and enjoy the benefits of extending the value of your Mac Pro.I have a fairly non-standard configuration, but it turned out that all I needed to do was disable SIP in OS X 10.11 to get it to work.
In El Capitan, Apple has enabled System Integrity Protection. You need to disable it in order to update the firmware. Here you go…
Download:
1. Download Mac Pro 2009-2010 Firmware tool
2. Download firmware for Mac Pro 5.1 (MacProEFIUpdate.dmg)
Disable System Integrity Protection:
3. Restart your 2009 Mac Pro holding Command + R (you will restart into Recovery Mode)
4. In Recovery mode, click on “Utilities” and select Terminal
5. In Terminal, type csrutil disable
6. Press Return
7. Restart Mac Pro
Run Updater:
8. Once restarted, Double click (mount) MacProEFIUpdate.dmg
9. Once it is mounted on desktop, Run Mac Pro 2009-2010 Firmware tool
10. Shut down Mac pro.
11. Once shut down, hold the Power Button until you hear a tone, and let go.
Your computer will now upgrade firmware.
Last steps..
Enable System Integrity Protection:
12. Restart your 2009 Mac Pro holding Command + R (you will restart into Recovery Mode)
13. In Recovery mode, click on “Utilities” and select Terminal
14. In Terminal, type csrutil enable
15. Press Return
16. Restart Mac Pro
Done!!