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 hx20
/11th, 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?
I finally got around to getting these cards manufactured, these completely function on both Framework 13 and 16, and using software such as PuTTY you can debug the laptop (and also turn it off, all from another computer)
Is there somewhere these can be purchased? Or somewhere we could watch for updates on purchasing them? I want to mess with my EC firmware but wouldn’t feel comfortable doing so without already having a way to reflash if needed.
The EC debugging card will not help you reflash your embedded controller firmware. It cannot be reflashed over UART.
Thanks for the heads up. I suppose the RO/RW partitions are the best way forward then? I assume your PR is just for the intel boards? Is there a counter-part available for the newer AMD boards?
The AMD boards natively support the RW image without any additional patches.