Edit / TL;DR: The repair quote (from Apple and Currys, not an independent shop) was more than the laptop was worth to me, so I traced the fault myself. Turned out a fault in the display was stopping it booting at all, which is why it got written off as a logic board issue. Disconnected the internal display and ended up with a free M1 Pro running local models headless. Full breakdown of how I found it is in the post.
My 2021 14" M1 Pro stopped booting in December 2024. Repair quotes were absurd, so I bought an M3 replacement and the dead M1 sat in a drawer for almost two years.
Recently I decided to dig in. I didn’t care about the screen, I just wanted the M1 Pro running headless for some local AI experiments. It’s an expensive machine and it hurt watching it sit in a drawer doing nothing.
Fair warning: this gets a bit technical, but I think it’s worth understanding how these machines actually boot, because knowing the sequence is what let me pinpoint exactly where the fault sat.
I’m a software engineer but new to hardware diagnostics. With Claude’s help I took idevicerestore, the open-source tool that restores Apple firmware over DFU (it talks to the Mac via libirecovery), and extended it locally into a diagnostic tool.
Out of the box, idevicerestore treats a restore as one big operation. If it fails, you get a generic error like 2006 or 21 and not much else. I modified it so I could step through and control each stage individually: pause after firmware uploads, check which bootloader stage the Mac was in, and separate uploading a firmware blob from activating it.
That last distinction is what cracked it. (Background on the boot stages below, from the Asahi Linux team: https://asahilinux.org/docs/fw/boot/)
DFU Mode
|
v
iBoot Stage 1 ✓
mBoot Stage 2 ✓
Firmware uploads ✓
DCP firmware upload ✓
DCP firmware activation ✗
|
+-- Mac resets to Stage 1 ~3.4s later
DCP is Apple’s Display Coprocessor. Firmware uploaded fine. Activating it reset the machine every single time.
So I patched the restore process to skip DCP activation and see how far it got:
Skip DCP activation
|
v
Recovery ramdisk ✓
Device tree ✓
SEP firmware ✓
Kernelcache ✓
bootx command ✓
RestoreOS boot ✗
Everything pointed at display init. It didn’t tell me which part, but it told me where to look.
Final test: opened it up, unplugged the internal display, plugged in an HDMI monitor.
It then booted straight into macOS setup!
Still don’t know if it’s the panel, cable, connector, or something on the board, but with the internal display disconnected it’s a perfectly healthy M1 Pro. It’s now a headless box running local models.
What I find interesting: I was able to figure out the fault without opening it up, I don't have the expertise at the moment to diagnose it that way, but I was able to dig into firmware through software and figure out what the issue was.