Skip to content

Model a donut's bootrom cycle in the simulator - #169

Merged
bboe merged 1 commit into
mainfrom
sim-donut-bootrom-cycle
Nov 12, 2026
Merged

bboe merged 1 commit into
mainfrom
sim-donut-bootrom-cycle

Conversation

@bboe

@bboe bboe commented Nov 12, 2026

Copy link
Copy Markdown
Owner

The simulator now models a donut's bootrom watchdog: with boot0's header cleared, it goes dark for 39 seconds and returns to its bootrom, over and over. New unplug and cycle commands let a restore start in that gap, so the simulator reproduces #166's failure without a donut.

The failure on hardware, before #166:

Waiting for the Echo on USB. A reboot reads this way until it comes back. An
Echo that shows no light never does: `firebreak short` reaches that one.

ERROR: firebreak cannot tell which Echo this is, so it cannot say what to do
with it. A fastboot, a recovery and the bootloader in an Echo's flash each name
the device, and this Echo named none.

🤖 Generated with Claude Code

A donut whose bootrom gets no handshake in 40 seconds is taken by its
watchdog, shows nothing for 39 seconds and boots again; with boot0's header
cleared that is the bootrom again, as one did on 2026-11-12. bootrom.py now
does the same, on the simulator's clock, and the handshake stops it.

dot.py gains unplug, which leaves the Echo dark, and cycle, which powers it
on with no button held. A restore started with nothing on USB and cycled
once it waits for the Echo reaches a cleared donut's bootrom with nothing
named: the code before 7a7b83b stops there with "cannot tell which Echo
this is", as it did on hardware, and main restores.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@bboe
bboe force-pushed the sim-donut-bootrom-cycle branch from c073de3 to bd79513 Compare November 12, 2026 20:35
@bboe
bboe merged commit bd79513 into main Nov 12, 2026
2 checks passed
@bboe
bboe deleted the sim-donut-bootrom-cycle branch November 12, 2026 20:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant