help-uboot: install defib from the repository, not from PyPI - #517
Conversation
defib has never been published to PyPI, so `uv tool install defib` installs some unrelated package or nothing at all. The reporter in OpenIPC/firmware#2381, mid-recovery on a bricked Hi3516CV300, took the line literally enough to paste it into a Python REPL and got a SyntaxError. defib's own README was corrected for this; this page was not. Two more things in the same block sent that reader into a wall. `burn -t` alone does not stop the autoboot, and the page recommended it. The bootloader being uploaded lives only in RAM, so on a camera whose flash cannot boot it autoboots, fails, resets -- and the reset discards the RAM copy, leaving the terminal attached to a board that is dead again. That is exactly what happened, and it reads as the tool not working. `-b` sends the Ctrl-C that avoids it. And the backup step recommended `defib agent read`, which cannot work for anyone who followed the install line above it: the flash agent is bare-metal code compiled per SoC and no prebuilt binary ships in the package. Recommend `defib dump-flash`, which goes through the U-Boot console and needs nothing built, and say what the agent actually costs -- keeping it named for the status-register lock bits, which are the one thing worth building it for.
PR Summary by QodoCorrect defib installation and U-Boot recovery instructions
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1.
|
The review flagged the status-register lock-bit explanation against the wiki's first compliance gate. That paragraph is not this change's: it is on master already, and all this branch did to it was add a trailing clause saying the lock bits are the one job worth building the agent for. Dropping the clause, so the paragraph is untouched context here. Whether that pre-existing text should say what it says is a real question and a separate one; deciding it inside a change about an install command would answer it by accident.
The side-loading section told readers to run
uv tool install defib. defib has never been published to PyPI, so that installs an unrelated package or nothing at all — defib's own README was corrected for this in OpenIPC/defib@c163d87, this page was not.The reporter in OpenIPC/firmware#2381, mid-recovery on a bricked Hi3516CV300, took the line literally enough to paste it into a Python REPL:
Two more things in the same block sent that same reader into a wall, so they are fixed here too.
burn -talone does not stop the autoboot, and the page recommended exactly that. The bootloader being uploaded lives only in RAM, so on a camera whose flash cannot boot it autoboots, fails and resets — and the reset discards the RAM copy, leaving the terminal attached to a board that is dead again:It reads as the tool not working, which is what the reporter concluded.
-bsends the Ctrl-C that avoids it, and the page now recommends-b -twith the reason.The backup step recommended
defib agent read, which cannot work for anyone who followed the install line above it. The flash agent is bare-metal code compiled per SoC and no prebuilt binary ships in the package, sodefib agentrefuses outright. The page now recommendsdefib dump-flash, which reads the flash out through the U-Boot console and needs nothing built, and says what the agent actually costs — while keeping it named for the status-register lock bits, which are the one job worth building it for.Related: OpenIPC/defib#135 makes that refusal explain itself instead of saying "No agent binary for 'hi3516cv300'", which reads as an unsupported chip.
Testing
Documentation only — no build, no camera. Worth noting that the repo's
cspell.yamldoes not gate anything: there is no workflow in this repository, and the config is inert regardless — its markdownignoreRegExpListincludes/[A-Z]*/g, which matches an empty string at every position, so a deliberate misspelling in plain prose goes unreported. I checked with cspell 8.19.4 in a container rather than assume. Unrelated to this change, but someone may want to look at it.