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.
Last edited:
Hi @tsialex - Do you know if there is currently an issue for this on https://github.com/LongSoft/UEFITool/issues? From a quick scan I did not see it, but may well have missed it.

I don't think any of the open issues apply to the problem, but I haven't opened every single one of them - last day to submit last year's income tax/income tax return here and I'm overwhelmed.
 
  • Like
Reactions: Bmju
I don't think any of the open issues apply to the problem, but I haven't opened every single one of them - last day to submit last year's income tax/income tax return here and I'm overwhelmed.
NP! When not overwhelmed - i.e. later! - then what is the issue? I think NikolajSchlej is more active again on his excellent tool, recently, and if it's a simple reversion somewhere (of course, it may not be; it may be linked to some otherwise required more fundamental change, idk) then it's possible that someone else can look at it and do a PR for the fix, also. (Also assuming it's not the already-fixed problem I noticed and reported, as mentioned above.) Net result: if there is still a real issue, it would definitely be good to put up an Issue on the project describing it - in due course... :)
 

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:

  • Dump the BootROM with ROMTool
  • Open the dump with the most recent release of UEFITool NE (right now is UEFITool NE A59)
  • Go to EFISystemNvDataFvGUID, open it
    vss_44781-efisystemnvdatafvguid-png.1730048
    vss_44781-efisystemnvdatafvguid-png.1790554
  • Go to the first VSS store, open it:
    vss_44781-efisystemnvdatafvguid-vss-png.1730029
  • Click Free space, it's after the last variable/VSS entry:
    vss_44781-efisystemnvdatafvguid-vss-free-space-png.1730028
  • Check on the right panel the Full size:
    vss_44781-efisystemnvdatafvguid-vss-free-space-full-size-png.1730027
A clean reconstructed never booted image have the Free Space Full Size as 65448 - this is for a fully empty store:
vss_reconstructed-empty-png.1730012


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:
vss_44781-efisystemnvdatafvguid-vss-free-space-full-size-png.1730027


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:
vss_34808-png.1730024


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 OTA Software Updates, but also happened in the past with previous macOS versions (examples #1, #2) because the number of variables saved while staging the software updates.

This one has just 8921 and already corrupted the NVRAM volume:
vss_8921-png.1730020


Examples of corruption:​


Where is the secondary VSS store?
vss_8921_no-2nd-vss-png.1730021


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.
screen-shot-2022-01-11-at-08-24-51-png.1942311


If you found that your NVRAM volume have any of the issues above and you need a BootROM reconstruction service, 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 2022 and the NVRAM is used constantly for all sort of things, like all sort the iCloud variables (for example, the Wi-Fi credentials for the wireless networks that you connect with your iPhone and MacBooks are also saved inside the Mac Pro NVRAM) to the several variables needed to bootstrap software updates when you have sealed containers (BigSur and Monterey).

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.

Btw, flashing a clean dump is a process that is a lot less wear intensive to the NAND cells than the whole garbage collection process. Only the sectors that need to be erased/re-written will be when you flash the clean dump, while the garbage collection process have to copy the valid circular log to the secondary VSS store, erase the primary, write to it, erase the secondary and etc.

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:
vss_reconstructed-empty-png.1730012


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:
vss_44781-efisystemnvdatafvguid-vss-free-space-full-size-png.1730027


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:
vss_34808-png.1730024


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 OTA Software Updates, but also happened in the past with previous macOS versions (examples #1, #2) because the number of variables saved while staging the software updates.

This one has just 8921 and already corrupted the NVRAM volume:
vss_8921-png.1730020


Examples of corruption:​


Where is the secondary VSS store?
vss_8921_no-2nd-vss-png.1730021


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.
screen-shot-2022-01-11-at-08-24-51-png.1942311


If you found that your NVRAM volume have any of the issues above and you need a BootROM reconstruction service, 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 2022 and the NVRAM is used constantly for all sort of things, like all sort the iCloud variables (for example, the Wi-Fi credentials for the wireless networks that you connect with your iPhone and MacBooks are also saved inside the Mac Pro NVRAM) to the several variables needed to bootstrap software updates when you have sealed containers (BigSur and Monterey).

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.

Btw, flashing a clean dump is a process that is a lot less wear intensive to the NAND cells than the whole garbage collection process. Only the sectors that need to be erased/re-written will be when you flash the clean dump, while the garbage collection process have to copy the valid circular log to the secondary VSS store, erase the primary, write to it, erase the secondary and etc.
tsialex ; I proceeded using the ROMTool, did a Dump System Rom that was sent to downloads. Downloaded the current UEFIExtract_NE_A66_universal_mac.zip. There is no explanation of how to use this extraction tool. I am not getting any results as displayed above when the UEFI tool is opened.
 
tsialex ; I proceeded using the ROMTool, did a Dump System Rom that was sent to downloads. Downloaded the current UEFIExtract_NE_A66_universal_mac.zip. There is no explanation of how to use this extraction tool. I am not getting any results as displayed above when the UEFI tool is opened.

The first post of the thread (and the last few pages here) already warns that the most recent UEFITool release that is still compatible with MacPro5,1 BootROM images is UEFITool NE A63, just edited the post you linked above.

Btw, the first post of the thread always have the most updated info.
 
  • Like
Reactions: 0134168
Thank you for the quick response and doing the edit. So I should be using - UEFIExtract_NE_A63_mac.zip . Is there a certain way of using this tool & the ROMTool? Evidently I'm not doing something correctly. The tool is not asking for the
SST25VF032B identification or prompts to follow. This Mac Pro is a 4,1 - 5,1
Boot ROM Version:144.0.0.0.0 firmware change with dilid dual 5675 cpu's. The current os is Mojave 10.14.6. on SSD.I was not able to enter the High Sierra recovery SIC to disable so I removed. Mojave SIC is disabled. Can you provide me with some much appreciated instructions?
 
Thank you for the quick response and doing the edit. So I should be using - UEFIExtract_NE_A63_mac.zip . Is there a certain way of using this tool & the ROMTool? Evidently I'm not doing something correctly. The tool is not asking for the
SST25VF032B identification or prompts to follow.

The first post statement, "If ROMTool doesn’t ask you about the SPI flash memory model at all, Apple installed a SST 25VF032B to the backplane." is clear, ROMTool only asks the correct SPI model for Macronix made SPI flash memories and do not ask anything for a SST 25VF032B:



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 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.

Can you provide me with some much appreciated instructions?

The first post of the thread have instructions on how to dump the BootROM image (exactly the same as I send to all my reconstruction customers) and then do the basic evaluation of the NVRAM volume with UEFITool NE, just read it with attention on the details and follow the instructions.

If after you re-read the first post, you find anything that is missing or you think that something needs clarification, please post about it so I can improve the instructions for future readers.

Btw, since you have a cross-flashed early-2009 Mac Pro, you probably already have one of the issues listed on the first post or worse, more than one.
 
Last edited:
The first post statement, "If ROMTool doesn’t ask you about the SPI flash memory model at all, Apple installed a SST 25VF032B to the backplane." is clear, ROMTool only asks the correct SPI model for Macronix made SPI flash memories and do not ask anything for a SST 25VF032B:







The first post of the thread have instructions on how to dump the BootROM image (exactly the same as I send to all my reconstruction customers) and then do the basic evaluation of the NVRAM volume with UEFITool NE, just read it with attention on the details and follow the instructions.

If after you re-read the first post, you find anything that is missing or you think that something needs clarification, please post about it so I can improve the instructions for future readers.

Btw, since you have a cross-flashed early-2009 Mac Pro, you probably already have one of the issues listed on the first post or worse, more than one.
To have a fresh reconstructed ROM should be a must for every cross-flashed 2009 Mac Pro owner. Don´t you think so?
 
  • Like
Reactions: machinist68
To have a fresh reconstructed ROM should be a must for every cross-flashed 2009 Mac Pro owner. Don´t you think so?

Yes, early-2009 Mac Pros BootROM are a real mess BootROM wise.

If you look look just at the EFI releases, Apple did eight major releases in a little more than a year. Then you look at the components that are not upgraded after flashed by the factory, like the hardware descriptor, from base_16 to base_20 (base_21 with later made mid-2010s and mid-all 2012s) and the several Fsys store revisions, you can have dozens of combinations, with some that doesn't work very well. An early-2009 Mac Pro made back in January/Februrary 2009 behaves completely differently sensors and output ports wise from an early-2009 B08 refurb made back in 2010, that's why some people here have no problems and others have all sort of issues.

Let's not forget that the mid-2010s made in 2010 and 2011, with B03 BootBlock, 0x03 to 0x05 Fsys versions and base_20 hardware descriptor are also a mess.
 
I had followed the instructions exactly as described in this forum for the firmware upgrade to 144.0.0.0.0 with the installation of High Sierra without a hitch. I did the X5675 cpu upgrade soon after. Last week I upgraded the Wi-fi / bluetooth Broadcom BCM43xx, works perfect. Fresh install of Mojave 10.14.6 on a new PNY SSD.
I was holding off any Open Core installation until a ROM Dump report was established. I believe I figured out the ROMTool and the UEFI tool. Hopefully my attachments serve some purpose. This is my son's cMP and he really didn't do much to maintain it. I only wanted to help. If more information is needed, please let me know. This cMP was a late release / purchase 06/2010 just before the 5,1 release 08/2010.
 

Attachments

  • Screen Shot_1_2023-06-04.png
    Screen Shot_1_2023-06-04.png
    76.1 KB · Views: 106
  • Screen Shot_2_ 2023-06-04 .png
    Screen Shot_2_ 2023-06-04 .png
    41.6 KB · Views: 104
  • Screen Shot_3_ 2023-06-04.png
    Screen Shot_3_ 2023-06-04.png
    94.9 KB · Views: 112
  • Screen Shot_4_ 2023-06-04.png
    Screen Shot_4_ 2023-06-04.png
    88.9 KB · Views: 128
Last edited:
I had followed the instructions exactly as described in this forum for the firmware upgrade to 144.0.0.0.0 with the installation of High Sierra without a hitch. I did the X5675 cpu upgrade soon after. Last week I upgraded the Wi-fi / bluetooth Broadcom BCM43xx, works perfect. Fresh install of Mojave 10.14.6 on a new PNY SSD.
I was holding off any Open Core installation until a ROM Dump report was established. I believe I figured out the ROMTool and the UEFI tool. Hopefully my attachments serve some purpose. This is my son's cMP and he really didn't do much to maintain it. I only wanted to help. If more information is needed, please let me know.

With just 106 bytes available, garbage collection process failed a long time ago. You should try a deep NVRAM reset right now.

Install a wired keyboard, power on and immediately press and keep pressed CMD-Option-P-R continuously until you hear the fifth chime (doing it should have reset the NVRAM four times by the fifth chime).

If you do not improve the space available of the main VSS store after the deep NVRAM reset, you will need a BootROM reconstruction service urgently, I'll send you a PM.
 
  • Like
Reactions: machinist68
tsialex; I completed everything that you advised. Reset the NVRAM four times - fifth chime. Disabled SIP - restart. Downloaded ROMTool and UEFITool_NE_A63maczip completed report states there is free space - full size 34757. I'm not sure why I got the previous results. I created the compressed file with the information you requested. This mac started as a 4,1 - MP41.0081.B08 - Snow Leopard, MP51.0089.B00 - Sierra / High Sierra, 144.0.0.0.0. The instructions were fully followed and there were no issues with the installations. All my testing was done on a fresh installation of OS High Sierra on a completely formatted drive. The file does have serial numbers, I remember you warn members of displaying them. Am I to PM this file directly to you?
 
tsialex; I completed everything that you advised. Reset the NVRAM four times - fifth chime. Disabled SIP - restart. Downloaded ROMTool and UEFITool_NE_A63maczip completed report states there is free space - full size 34757. I'm not sure why I got the previous results. I created the compressed file with the information you requested. This mac started as a 4,1 - MP41.0081.B08 - Snow Leopard, MP51.0089.B00 - Sierra / High Sierra, 144.0.0.0.0. The instructions were fully followed and there were no issues with the installations. All my testing was done on a fresh installation of OS High Sierra on a completely formatted drive. The file does have serial numbers, I remember you warn members of displaying them. Am I to PM this file directly to you?
Yes, follow the instructions on the PM I've sent you.
 
I'm reading 1st post on this thread and I am working on determining whether my 4,1 -> 5,1, 144.0.0.0.0,Mojave Mac Pro needs an NVRAM reconstruct (probably, from what I'm reading). tsialex, is the NVRAM you flash/replace every 3 months on a socket?

I'm new to this forum and have been reading through of what's on this thread....great and impressive work! I consider myself lucky that I gotten this far without my system bricking. Beginner's luck.
 
  • Like
Reactions: 0134168
I figure that's what's going to happen. I just need to understand the process and get the information he requires to be able to acquire the service.
 
  • Like
Reactions: 0134168
I'm reading 1st post on this thread and I am working on determining whether my 4,1 -> 5,1, 144.0.0.0.0,Mojave Mac Pro needs an NVRAM reconstruct (probably, from what I'm reading).

Sure, I'll send you a PM about it.

tsialex, is the NVRAM you flash/replace every 3 months on a socket?

Not necessary, you just flash the never booted reconstructed image whenever you need it via ROMTool. No need to remove it or install a socket.

Btw, if you have the skills it's a good practice to replace the factory installed SPI flash for a brand new one to avoid the inevitable flash memory failure over time.

I'm new to this forum and have been reading through of what's on this thread....great and impressive work! I consider myself lucky that I gotten this far without my system bricking. Beginner's luck.

:)
 
Or have a flashed MATT card, right?

From my Murphy Law related experiences, the BootROM SPI flash memory fails always at the worst time possible. So, if the Mac Pro owner can replace the SPI flash by himself, it's better to be ready with the MXIC MX25L3206E, the SPI flash programmer and supplies needed to remove the factory installed SPI and install the brand new one already programmed with the Mac Pro own BootROM image.

If it's not something that you can do by yourself, then a MATT card is advised.
 
  • Like
Reactions: 0134168
From my Murphy Law related experiences, the BootROM SPI flash memory fails always at the worst time possible. So, if the Mac Pro owner can replace the SPI flash by himself, it's better to be ready with the MXIC MX25L3206E, the SPI flash programmer and supplies needed to remove the factory installed SPI and install the brand new one already programmed with the Mac Pro own BootROM image.

If it's not something that you can do by yourself, then a MATT card is advised.
Yes, I have one reflashed with the same ROM you made for me. it will be of use if, as you say, fails in the worst moment. Then I would get a new SPI, in better moment.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.