Repository navigation
Fix what a review of dot_firmware.py's newer features found - #110
Merged
Merged
Conversation
The stream's deadline covered only the wait after stdin closed, so an adb that stopped reading hung the run on its writes. One thread now feeds the slices and another drains adb's output, and the process is killed when the 30 minutes run out. A slice that passed its md5 on the Dot and still answered gunzip-failed can only be bad on the host. It is now deleted, and the loop stops, so the next run rebuilds the image instead of failing the same way three times. The markers are matched on the last line only, not anywhere in the output. The 0x1a probe's adb call gets a 60-second limit. The docs drop the claim that the gzip-magic check catches a half-built cache: the rename after the md5 file does that. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
root() armed the boot0 note before its first probe, so an error before the Dot was seen could speak for a stale marker. It is now armed after the probe that removes a marker a booted Dot or one in fastboot left behind. A failed fastboot erase of boot0 removes the marker, because boot0 is then intact. The note says "may", and names a Dot that restarts before the last step, because the marker also stands where boot0's read-back did not answer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
v1_recovery read unlock_status once, and anything but "false" went on to flash tee2, which a locked LK refuses with a raw error. It now reads up to three times until fastboot answers true or false, and stops with a message when it never does. The note no longer says the run writes amonet v1.1.0, because the target decides what follows v2.0.0's recovery. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
--report reads a Dot whose table may be damaged, and the root run's probe stops on a table it cannot read. into_recovery now reads fastboot, adb get-state, the TWRP version and USB config, and root, on its own. It leaves any recovery alone, stops for one that is not TWRP and for Fire OS without root, and keeps waiting while TWRP finishes starting. The report's state lines catch the probe's exit and print its first line, masked. /proc/partitions and the by-name listing now end in markers, and a cut answer is not matched to claims. The dmesg window uses sed, so an uptime past 9,999 s reads right. The card's boot line is read on its own, so a long log still says it reaches the boot. The heading for unmatched names says they point outside the table, which is what was measured. Both reports end by saying the Dot stays in its recovery. The hint and both headers send people to #support-device-unlocking in the EchoMuse Discord, not to an issue. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Each verdict blamed the other leg, so two passing legs said a failed install was the cable and also the card. Each now clears only what it tested. An md5sum with no digest, and a card answer whose last line is not card:, now read as a test that did not run, not as a fault. A card write that does not answer leaves cache alone, because dd may still be writing, instead of formatting under it. /tmp/usb-test goes from the Dot at the end on every path, and the host's pattern file goes in a finally. "adb push said" strips adb's trailing newline, which printed an empty line instead of the error. The by-name listing and /proc/partitions end in markers, and a cut answer skips the eMMC leg. The docs now say the pattern overwrites ^sparse_super's backup superblocks, and what a write that times out leaves. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes what a review of the five features firebreak ported from dot_firmware.py found: a /system stream with no deadline, a bad cached slice that fails every run, a boot0 note shown for another Dot, a report that stops on a damaged table, and write-test verdicts that blame the wrong part. Support now goes to the EchoMuse Discord.
🤖 Generated with Claude Code