MacOS Catalina firmware corruption issue still “open”

catalinafirmwaremac

Late 2019, there were a series of reports that the then-latest Catalina update corrupted Mac firmware and caused computers to be bricked. My computer (MacBookPro11,1) appeared to be one of those affected. The reason why I believe this is real is because I always do a hardware diagnostic check before and after an upgrade. Before the update, the computer reported no problems. Afterwards, it reported memory problems. The hardware could've failed at that exact time, but it's quite a coincidence.

My Mac is now a door stop, but so many months later, I wonder whether there are any solutions found other than replacing the mainboard? There was also an account of someone reflashing the firmware with some tool, but there were never any details on this and I was not able to find this tool.

Anyone have first-hand experience with this that can comment?

Best Answer

I can't speak with any expertise, but I can speak from experience, as two of my machines fell victim to this.

I don't know if I would call it a "corruption" issue, though it isn't too far from reality (Technically, the firmware isn't corrupt, it just doesn't boot the system. Since you were able to run diagnostics after the Mac was "bricked" I'm convinced that this was true in your case as well. Big difference, I know, the end result is the machine doesn't post, but it did make troubleshooting a lot harder for me.)

So as you said, the Catalina update involves changes to the firmware. Specifically, it updates it. Many macOS updates have included firmware upgrades as part of the process however, so why are there issues in the Catalina update?

I don't know. I can only guess. I don't think there is a way to start multiple processors in EFI, and if a big application fails, more often than not the processor resets. And it's meant to start up again, make another attempt.

But sometimes it just fails to do this. In my case, perhaps it was because I had added drivers, applications etc. to my EFI, and the MultiUpdater(?) choked on the significantly altered region of the firmware that outlines descriptors of regions and their offsets.

Since you're working on a portable, power failure seems less likely, but it's still possible, when you're making changes to the SMC, EFI, and depending on each individual circumstance, even a microcode update (sort of like firmware for the CPU, bad analogy but whatever :P)

What usually ends up happening, from my experience, and from the anecdotes I've heard, is that for one reason or another, the BootROM flash doesn't happen, and usually the update application with a bunch of drivers is left on the ROM. For me, it went into a sort of half booted state, where the bootrom has started, doesn't flash the update and is just doing nothing, and also there is nothing you can do to change its startup behavior.

For T2 Macs, there is a supported solution, you can put them into DFU mode and restore the T2 firmware (which now envelops the smc).

For non T2/T1 Macs, the solution is simpler in one sense but infinitely more convoluted in another. Basically you open up the machine, and physically access the SPI bootrom SOIC8 nor memory chip to program it using known good firmware edited to include your serial number.

That's what I did to my non-T2 iMac, which I had modified to use without an internal display installed. Getting the materials/resources gathered up takes some effort and a lot of time, but the actual flash, is done in a flash :)

Depending on where you live, there may be non-apple authorized repair shops providing this service for a lot less than what a replacement logic board costs.

I don't think I can help with the firmware, I'm pretty sure my mbp is 10,something, but you can find SPI ROM dumps, all cleaned (like an SMC reset, but more like SMC wipe and reprogram from official Intel releases) and ready for a serial number if you google around. You might end up paying around 5 bucks for it.