Cannot upgrade MacOS due to Firmware in MBP M2 Max
I got this MBP M2 Max in 2023 which came with Ventura 13.0 and honestly never checked if updates were successful because I trusted they were correctly applied overnight. But one time due to an app incompatibility I found out that it never updated anything. This was after the warranty expired, of course.
Any attempt to upgrade, via UI, softwareupdate CLI, full installers, App Store, recovery pendrive and so on, just restarted the computer without any change.
I backed up everything (sadly not sticky notes which later I found out are not sync'd!) and tried DFU revive with another MBP using Sequoia 15.6 and the Finder app, a process that died half way, then freaked out because I thought I bricked the device getting the dreadful error 21 repeatedly...
But after 3 or 4 DFU (full) restore attempts, I was able to finally install Sequoia 15.6. I'm not sure if it was the repeated attempts or getting the exact key combination and timings right with the blank screen and no feedback whatsoever, as the faulty MBP showed up in the other computer's Finder EVEN when it didn't seem to be correctly set in DFU mode... But in the end I was able to do it, checked the firmware at System Information and it's OK. I hope this brings some light at the end of the tunnel for all my fellow users suffering from install issues.
I thought that was it, I'm on the clear, but when the 15.6.1 critical security update came out I was in the same rut, couldn't upgrade at all. And now I can't upgrade to Tahoe (26) neither.
Reading the installer logs it's obvious there is almost no attention to the user experience from Apple anymore, seems like they don't even test things on their own relatively small set of hardware, as the install.log file is plastered with a lot of failures from badly written javascripts trying to install Intel stuff on Apple Silicon computer:
TypeError: null is not an object (evaluating 'cpuFeatures.split') at x-distribution:///installer-gui-script%5B1%5D/installation-check%5B1%5D/@script
After countless wasted hours I thought this was the problem, but upon further investigation I pinpointed the exact issue. It seems there is a problem writing the the firmware hardware from the installer, which seems to make upgrades only possible through DFU. This is the error
softwareupdated[737]: Apply failed with: Error Domain=SUMacControllerError Code=7760 "[SUMacControllerErrorApplyFailed=7760] Failed to perform Apply operation: [MobileSoftwareUpdateErrorDomain(MSU):1041_1_RamrodErrorDomain:1014_2_MSUFirmwareUpdaterErrorDomain:3_3_MSUFirmwareUpdaterErrorDomain:-536870167]" UserInfo={NSLocalizedDescription=Failed to apply the software update. Please try again., SUMacControllerErrorIndicationsMask=0, NSDebugDescription=[SUMacControllerErrorApplyFailed=7760] Failed to perform Apply operation: [MobileSoftwareUpdateErrorDomain(MSU):1041_1_RamrodErrorDomain:1014_2_MSUFirmwareUpdaterErrorDomain:3_3_MSUFirmwareUpdaterErrorDomain:-536870167], NSUnderlyingError=0x5b258dce0 {Error Domain=MobileSoftwareUpdateErrorDomain Code=1041 "failed to perform limited firmware update" UserInfo={NSUnderlyingError=0x5b258c780 {Error Domain=RamrodErrorDomain Code=1014 "update_iBoot: BootFirmware update failed" UserInfo={NSDescription=update_iBoot: BootFirmware update failed, NSUnderlyingError=0x5b258d1d0 {Error Domain=MSUFirmwareUpdaterErrorDomain Code=3 "Updater <IODualSPIWriter: 0x600013c91f40> failed to write to SPI" UserInfo=0x5b0a72c00 (not displayed)}}}, NSLocalizedDescription=failed to perform limited firmware update, target_update=24G90}}}
Cleaning up the error stack a bit:
- MobileSoftwareUpdateErrorDomain Code=1041 "failed to perform limited firmware update"
- RamrodErrorDomain Code=1014 "update_iBoot: BootFirmware update failed"
- update_iBoot: BootFirmware update failed
- MSUFirmwareUpdaterErrorDomain Code=3 "Updater <IODualSPIWriter: > failed to write to SPI
- failed to perform limited firmware update, target_update=24G90
This happens EVERY TIME.
Here I'm guessing SPI means Serial Peripheral Interface, a way to communicate hardware, which has a problem. Everything points to a hardware malfunction or bad design, which is never checked/reported correctly to the non-engineer user base until it's too late and you have to pay 1k to change the logic board, but on the other hand I was able to upgrade through DFU so it could theoretically be just bad update software.
Will I need to wipe everything and DFU restore/reinstall from backups on each important update?
Will Apple ever develop a reliable upgrade procedure?
I bought a Mac to make my life easier but this issue is turning it into a PITA to use. Now every time I use it I have to be either afraid I'll be hacked from not upgrading or I'm afraid that if I do another DFU it will brick my 3k investment. Pathetic.
Related closed question with the same issue:
Failed to install macOS Monterey to 2020 … - Apple Community
MacBook Pro 14″, macOS 15.6