I’ve been working on an EC Debug card and I now have a working prototype, which I should have completely assembled PCBs in 1-2 weeks, but as I have designed these boards to fit perfectly within standard Expansion Card enclosures, these should be up for sale in 3 weeks at $15USD.
I wish there’re 2 EC chips to make EC flashing less of an emotional roller-coaster. (Primary, recovery)
So, the EC flash itself does contain two copies of the firmware for this exact reason. On ChromeOS devices, there’s a write-protected
RO region flashed at the factory and an unprotected
RW region that gets updated. If the RW firmware fails in any way (exception, watchdog timeout, rebooting suddenly without saving state) it automatically falls back to the RO one.
The Framework Laptop (as of
hx30/12th) doesn’t support RW, but I have a pull request out that makes it work. It’s saved my bacon a number of times already.
There are still some interesting gotchas there, though. Chrome devices can reboot from RO to RW without resetting the CPU, so upgrades can happen with no downtime and the OS can mediate which one is running… but the Framework Laptop’s power sequencing is a little different and we haven’t yet found a way to bring back that functionality.
For more info on Josh’s card, I’ve got a blog post: "EC Card 2", a closed-case debugging (CCD) Expansion Card for the Framework Laptop :: HowettNET
I realize now that I never published it as a separate forum thread, so I may go ahead and do that.
I’m so excited that Josh will be able to bring it to a broader market than my prototypes would.
NICE!! I don’t understand the lingo in the pull request, but really happy to see the bug fixes. on hx20/11th with BIOS 3.17 (I assume it came with the EC code), do we now have RW capability?