3 ms·
Prusa (makers of the Prusa 3d printers) set it up so that you had to physically break part of your printer before you could flash custom firmware.
by terribleperson 4y ago
Prusa (makers of the Prusa 3d printers) set it up so that you had to physically break part of your printer before you could flash custom firmware.
- yjftsjthsd-h 4y agoYou could also just blow a fuse; we do actually have ways to do write-once memory for this kind of thing
- nomel 4y agoCould you describe a rough implementation, with the assumption that the vendor can still provide firmware updates?
- folmar 4y agoYou have it in any unlockable Android phone. In short - write the manufacturer public key in ROM and a fuse selects if signature check is enforce.
- yjftsjthsd-h 4y agoSure. The vendor firmware contains an option in the settings, "unlock flashing". Enabling this (after a confirmation) will blow the "user modified fuse". When the system boots, the bootloader checks that fuse; if it's blown, then the bootloader will boot any firmware. If not, only boot images signed with the vendor's public key are allowed to boot. When the vendor gets a warranty claim, they check if that fuse is blown; if the fuse is blown and the damage could be software induced, they take that into account (IANAL, but they might not be able to immediately legally refuse it, but they can at least ask pointed questions about what exactly happened; YMMV). Disclaimer: I didn't come up with this, I'm just summarizing approximately how I understand some Android devices to already work. This also makes me view this system as somewhat battle tested.
- crote 4y agoYou can't read a blown fuse when the entire MCU is toast, though.