Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.

borgo1971

macrumors regular
Sep 5, 2013
158
39
But... at the end of all, I didn't understand what we should do, if we advice we have corrupted BootRom. Tsialex explained how to check the health of the BootRom, but then I didn't understand what and how to do if there are problems. Where can we find a new bootrom? How can we replace it for the corrupt one?
 

borgo1971

macrumors regular
Sep 5, 2013
158
39
I'm sure I'm missing something, but I really can't figure out where.

For MacPro5,1 BootROM upgrades, please read the first post of the thread below to know how to do the firmware upgrade:


For MP4,1 to MP5,1 cross firmware flashing, see this thread below:



MacPro5,1 BootROM releases, from the oldest EFI update to the newest:
OK, I guess not to need this, since I'm on 144.0.0.0.0 (on my 2009 MacPro updated to 5,1)
What to do if your Mac Pro bricked:
And even this, since my MacPro boots Mojave without issues and without OC, and boots Catalina thanks to OC (0.7.7).
How to do a BootROM dump with ROMTool:

How to check the health of the NVRAM/if the garbage collection is still working:​

OK, didn't try, but I understand this. But I'ts only a check...

Advice:​

I personally don't wait for the garbage collection to fail, I have a recurrent appointment on my calendar to flash the cleaned 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.
And here I lost the trace... how can I clean the BootROM, or where can I take a cleaned BootROM? And what are the steps to flash it into my MacPro's NVRAM?
 

tsialex

Contributor
Original poster
Jun 13, 2016
13,454
13,601
And here I lost the trace... how can I clean the BootROM,
BootROM reconstruction is not an end user process unless you are a firmware engineer - it's a service. If you need it, PM me.
or where can I take a cleaned BootROM? And what are the steps to flash it into my MacPro's NVRAM?
There is no cleaned BootROM that fits all Mac Pros - each Mac Pro BootROM image is unique and you can't use a BootROM image from one Mac on another.

You gonna dump your MacPro BootROM image following the instructions, get yours reconstructed, then do a very similar process as you did the dumping to flash the reconstructed never booted BootROM image back to your Mac Pro.

OK, I guess not to need this, since I'm on 144.0.0.0.0 (on my 2009 MacPro updated to 5,1)

The early-2009 cross-flashing process to MP5,1 don't make a MP4,1 BootROM image fully MP5,1. Just the EFI part of it and all the other components of the BootROM image are still MP4,1 (Edit: nitpicking, the x86 Reset Vector is also changed to work with the MP51 EFI). That's why a cross-flashed early-2009 is called MP4,1>5,1 or hybrid.

MP4,1 NVRAM volume when used with a MP5,1 EFI is extremely susceptible of corruption, specially if your early-2009 from factory had an EFI older than MP41.0081.B07 (all early-2009s made before late November/early December 2009), that's why you see so much early-2009s bricking.

Early-2009 Mac Pros with earlier BootROMs have several similarities with early-2008s that mid-2010/mid-2012s don't have. For example these earlier MacPro4,1s also have the same area inside the NVRAM volume (the FTW store at offset 0x140000) that stores a log for each NVRAM reset/forced garbage collection, exactly like a MacPro3,1 do. Apple probably removed it from later firmwares to try to reduce the NAND cell wear of the SPI flash.
 
Last edited:

tsialex

Contributor
Original poster
Jun 13, 2016
13,454
13,601
I'm sure I'm missing something, but I really can't figure out where.


OK, I guess not to need this, since I'm on 144.0.0.0.0 (on my 2009 MacPro updated to 5,1)

And even this, since my MacPro boots Mojave without issues and without OC, and boots Catalina thanks to OC (0.7.7).

OK, didn't try, but I understand this. But I'ts only a check...

And here I lost the trace... how can I clean the BootROM, or where can I take a cleaned BootROM? And what are the steps to flash it into my MacPro's NVRAM?
Ok, I understood your issue, you were reading the first post of the thread that didn't yet had the current version of this post:


My bad, I've added the current version to the first post.
 

borgo1971

macrumors regular
Sep 5, 2013
158
39
My bad, I've added the current version to the first post.
OK, thanks. So, to be clear, if we find our BootROM has some problems (= few free space), we should send it to you and you can clean it up. Thanks in any case, but luckily it seems not needed in my case:
Schermata 2022-01-21 alle 16.36.15.png
 

iMarkE

macrumors newbie
Feb 25, 2007
1
0
Canberra, Australia
Hi @tsialex

I have a 2009 MacPro 4,1 that I have upgraded and flashed to 2010 5,1.
I have been running Mojave 10.14.6 but would like to use OCLP and install Big Sur on an OWC Accelsior 1M2 PCIe card with a Samsung 500GB 980 PRO.

I have dumped the BootROM as per your instructions and it doesn't look too bad.

Would you suggest a re-flash of my BootROM prior to this endeavour and if so would you kindly be able to do it for me?

Many regards

Mark

Screen Shot 2022-01-24 at 12.42.26.png

Screen Shot 2022-01-24 at 12.37.39.png
 

Attachments

  • Screen Shot 2022-01-24 at 12.42.26.png
    Screen Shot 2022-01-24 at 12.42.26.png
    67.1 KB · Views: 97

tsialex

Contributor
Original poster
Jun 13, 2016
13,454
13,601
Hi @tsialex

I have a 2009 MacPro 4,1 that I have upgraded and flashed to 2010 5,1.
I have been running Mojave 10.14.6 but would like to use OCLP and install Big Sur on an OWC Accelsior 1M2 PCIe card with a Samsung 500GB 980 PRO.

I have dumped the BootROM as per your instructions and it doesn't look too bad.

Would you suggest a re-flash of my BootROM prior to this endeavour and if so would you kindly be able to do it for me?

Many regards

Mark

View attachment 1948557

View attachment 1948558
The available space inside the 1st VSS store is around the expected for a dual CPU tray, so, the circular log seems to be working fine at this moment.

Since it's a cross-flashed early-2009, your Mac Pro have a mix of MP4,1 and MP5,1 components inside the BootROM image, this is an issue when you start to use your NVRAM volume near it's limits. I'm gonna send you a PM, read it and see if you wanna correct it right now.
 
  • Like
Reactions: iMarkE

skutumpah

macrumors newbie
Jan 28, 2022
1
0
Hi, @tsialex I have a mid 2010 cMP that before reading all your posts I had installed windows 10 on improperly and booted a few times before realizing that it was a bad idea. After dumping the ROM and using UEFITool as you suggested it does look like my ROM is corrupt and my cMP is very close to becoming a brick... The second VSS Store is missing and where it should say "Free Space" it just says padding... The computer is currently running a clean version of Mojave with an RX580 for Metal Support. It boots and works fine but I want to fix this problem before it becomes a brick.

Could you please PM me the instructions on how to do a BootROM reconstruction?

Thanks!
 

Attachments

  • Screen Shot 2022-01-31 at 9.29.32 AM.png
    Screen Shot 2022-01-31 at 9.29.32 AM.png
    93.5 KB · Views: 115

tsialex

Contributor
Original poster
Jun 13, 2016
13,454
13,601
Hi, @tsialex I have a mid 2010 cMP that before reading all your posts I had installed windows 10 on improperly and booted a few times before realizing that it was a bad idea. After dumping the ROM and using UEFITool as you suggested it does look like my ROM is corrupt and my cMP is very close to becoming a brick... The second VSS Store is missing and where it should say "Free Space" it just says padding... The computer is currently running a clean version of Mojave with an RX580 for Metal Support. It boots and works fine but I want to fix this problem before it becomes a brick.

Could you please PM me the instructions on how to do a BootROM reconstruction?

Thanks!
From the screenshot you posted, at least the 2nd VSS store header is corrupt, so you gonna need a clean-up/upgrade/reconstruction service. I've sent you a PM with instructions.

Btw, this is becoming real common nowadays.
 

eminorb5

macrumors newbie
Apr 13, 2017
11
1
Bangkok, Thailand
Hi @tsialex
I have tried to install Windows 10/11 using UEFI USB several times with failed, but got it to work finally (now it's working normally), I just found this topic and I am not so sure that my BootROM is already signed by Microsoft or not, or is it possible to have some problem in the future ? Could you please advise how to with my BootROM to make it safe or reconstruct it if any.

My dual CPU MacPro5,1 2009 flashed from 4,1 (OC 0.7.6, Firmware 9144.0.7.6.0) running Catalina on M2 (OC EFI) and Windows 11 SSD on bay 1.

Thanks in advance.
 

Attachments

  • My MacPro5,1 13-02-2022.png
    My MacPro5,1 13-02-2022.png
    425.8 KB · Views: 104
  • Screen Shot 2565-02-13 at 21.28.40.png
    Screen Shot 2565-02-13 at 21.28.40.png
    141.1 KB · Views: 109
  • Screen Shot 2565-02-13 at 21.33.37.png
    Screen Shot 2565-02-13 at 21.33.37.png
    189.9 KB · Views: 102

tsialex

Contributor
Original poster
Jun 13, 2016
13,454
13,601
Hi @tsialex
I have tried to install Windows 10/11 using UEFI USB several times with failed, but got it to work finally (now it's working normally), I just found this topic and I am not so sure that my BootROM is already signed by Microsoft or not, or is it possible to have some problem in the future ? Could you please advise how to with my BootROM to make it safe or reconstruct it if any.

My dual CPU MacPro5,1 2009 flashed from 4,1 (OC 0.7.6, Firmware 9144.0.7.6.0) running Catalina on M2 (OC EFI) and Windows 11 SSD on bay 1.

Thanks in advance.
You have PanicInfoLogs and it's a cross-flashed BootROM image. Follow the instructions I've sent by PM to the letter and I'll look at your dump.
 

NicoFR75

macrumors newbie
Feb 20, 2021
9
2
Hi @tsialex, I just followed you tutorial for checking if my NVRAM is still healthy.
I dumped the ROM from a fresh Mojave install and I got a FreeSpace value of 28754.
So it's bellow the recommends 35000-30000 but still above the 1/3 of Free Full Space (22000).
Does this dump can still be considered as clean or is it already too late ?

Thanks for your help.
 

Attachments

  • Capture d’écran 2022-02-14 à 21.15.00.png
    Capture d’écran 2022-02-14 à 21.15.00.png
    393.8 KB · Views: 88

tsialex

Contributor
Original poster
Jun 13, 2016
13,454
13,601
Hi @tsialex, I just followed you tutorial for checking if my NVRAM is still healthy.
I dumped the ROM from a fresh Mojave install and I got a FreeSpace value of 28754.
So it's bellow the recommends 35000-30000 but still above the 1/3 of Free Full Space (22000).
Does this dump can still be considered as clean or is it already too late ?

Thanks for your help.
No BootROM image dump from a working Mac Pro is really clean - invalid entries (see how much you have on your UEFITool screenshot), superseded/abandoned entries slowly creep in and fill the NVRAM over the years. NVRAM resets basically just clean what you can see with sudo nvram -xp, a small subset of what can be stored inside the NVRAM VSS stores.

Tracking the available space is just a simple metric to see if you won't corrupt your NVRAM the next time you install macOS, Apple sends an update with a big NVRAM payload or OC changes something that modifies too much NVRAM entries.

Too little space and you can get into a garbage collection loop and it's when things go awry - that's why you see several threads about update XYZ bricked my Mac on the forum.

Try to do a deep NVRAM reset and see if you drastically improve it.
 
Last edited:

NicoFR75

macrumors newbie
Feb 20, 2021
9
2
No BootROM image dump from a working Mac Pro is really clean - invalid entries (see how much you have on your UEFITool screenshot), superseded/abandoned entries slowly creep in and fill the NVRAM over the years. NVRAM resets basically just clean what you can see with sudo nvram -xp, a small subset of what can be stored inside the NVRAM VSS stores.

Tracking the available space is just a simple metric to see if you won't corrupt your NVRAM the next time you install macOS, Apple sends an update with a big NVRAM payload or OC changes something that modifies too much NVRAM entries.

Too little space and you can get into a garbage collection loop and it's when things go awry - that's why you see several threads about update XYZ bricked my Mac on the forum.

Try to do a deep NVRAM reset and see if you drastically improve it.
I did a deep NVRAM reset (4 chimes) just before installing Mojave and dumped the ROM just after.
I just did a "sudo nvram -xp" and it just returns a few keys :
 

Attachments

  • Capture_d’écran_2022-02-14_à_22_22_13.png
    Capture_d’écran_2022-02-14_à_22_22_13.png
    38.8 KB · Views: 103

tsialex

Contributor
Original poster
Jun 13, 2016
13,454
13,601
I did a deep NVRAM reset (4 chimes) just before installing Mojave and dumped the ROM just after.
I just did a "sudo nvram -xp" and it just returns a few keys :
From your signature, you have a cross-flashed early-2009. Since you already did the deep NVRAM reset and the VSS store available space didn't improved, you'll need a BootROM reconstruction service to repair the cross-flashing mess and clean-up the NVRAM.

I'll send you a PM.
 
  • Like
Reactions: crjackson2134

Dayo

macrumors 68020
Dec 21, 2018
2,257
1,279
Does that mean EFI only supports USB 1.1 speed?
It seems to be actually that the MacPro3,1 only provides USB 1.x speeds as while it comes with five USB 2.0 ports, Apple appears to have forgotten to provide the needed driver in the firmware and only included UhciDxe (USB 1.x).

Examining the firmware features, I note that Bit 14, USB 2.x Support, is absent on MP31

Wonder why Apple would go through the trouble of providing and advertising USB 2.0 ports but not add the support for it. No Driver and Flag is off on the CPU ... Could they have been planning a firmware update that never materialised?

This is assuming my value of 0xC0001403 for the firmware features is correct of course.
000-FeatureFlagsMP31.jpg

Must be some other angle to the whole thing. Included in the features mask, 0xC0003FFF, but then, that always seems to cover a lot more than the flags.
 
Last edited:

cdf

macrumors 68020
Jul 27, 2012
2,256
2,583
Examining the firmware features, I note that Bit 14, USB 2.x Support, is absent on MP31
Oddly, that same bit differs between SMBIOS and NVRAM variables on the 5,1. I wonder if the same thing is true for the 3,1... See the bottom of the following post:

 

Dayo

macrumors 68020
Dec 21, 2018
2,257
1,279
"AxQAwAgAAAA=" is same as the MP31's 0xC0001403.

Unfortunately, I made an early start on my weekend project and started dismantling my machine.
Perhaps someone else could check? How do you get the different ones anyway?
 

cdf

macrumors 68020
Jul 27, 2012
2,256
2,583
"AxQAwAgAAAA=" is same as the MP31's 0xC0001403.

Actually, "AxQAwAAAAAA=" corresponds to 0xC0001403. Check the output of this command:

Code:
printf '%s' '031400C000000000' | xxd -r -p | base64

That "g" is for adding bit 35.

How do you get the different ones anyway?

For the NVRAM ones:

Code:
nvram -x 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:FirmwareFeatures
nvram -x 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:FirmwareFeaturesMask

For the SMBIOS ones, you can use dmidecode.
 

Dayo

macrumors 68020
Dec 21, 2018
2,257
1,279
That "g" is for adding bit 35.
Indeed. I meant the C0001403 base.

C0001403 excludes APFS support flags btw ... the absence of which does not actually seem to prevent booting APFS on MP31. Wonder whether the absence of Bit 14 has a similar non-effect vis-a-vis USB 2.0

nvram -x 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:FirmwareFeatures
nvram -x 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:FirmwareFeaturesMask
For the SMBIOS ones, you can use dmidecode.
Hopefully someone will step up to confirm
 

cdf

macrumors 68020
Jul 27, 2012
2,256
2,583
Hopefully someone will step up to confirm
Yes, it would be good to know if the same discrepancy exists between NVRAM and SMBIOS on the 3,1. If that's the case, then either there's something that we don't understand, or Apple is being very consistent with their bugs.
 

tsialex

Contributor
Original poster
Jun 13, 2016
13,454
13,601
Yes, it would be good to know if the same discrepancy exists between NVRAM and SMBIOS on the 3,1. If that's the case, then either there's something that we don't understand, or Apple is being very consistent with their bugs.
I've investigated several dumps and not yet found a way to extract the FirmwareFeatures or FirmwareFeaturesMask from the dump of the BootROM image, while I can get AAPL,PathProperties0000 from all dumps I've looked.

Usually the only entry with GUID 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 present is AAPL,PathProperties0000.

I'm clearly missing something.

Edit:

I'm not missing it, it's really not an entry stored inside the NVRAM volume, I've scanned hundreds of dumps for the full GUID and also the FirmwareFeatures value itself with base64, little-endian, big-endian. It's is stored, probably generated, elsewhere. I even read the efi.h to try to understand where this could be generated, but no clues yet.
 
Last edited:

Dayo

macrumors 68020
Dec 21, 2018
2,257
1,279
I wonder if it could not actually be an artifact of cross flashing.
Seems almost certain to be the case that the SMBIOS value difference is an MP41 thing.
Basically needs comparing with the output from a real MP51 to compare.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.