Brighton's Blog
← All Series

UART

12 - MR18 Deep Dive: Launch and Failsafe

MerakiMR18PythonJTAGOpenWrtUARTdeep-dive

Launching the kernel and catching failsafe on the way down

Started from the bottom now we here, started from the bottom now my whole team here

Post 10 ended with a verified binary in clean DRAM. Post 5 gave the high-level failsafe saga. This post covers the actual code: the launch trampoline, the regression that taught me to stop touching the CPU, and two competing strategies for triggering failsafe mode.

Read more →

15 - MR18 Deep Dive: UART Scripts

MerakiMR18PythonUARTOpenWrtdeep-dive

Hex-encoding 7 million bytes because the PHY won’t cooperate

Slow grind, patience on the line / twenty minutes on the wire just to make it mine

Post 6 described the hex-over-UART transfer protocol at a high level—hex-encode every byte, pipe it through an awk decoder on the MR18, pray nothing goes wrong for 20 minutes straight. This post rips open send_binary.py and uart_transfer.py and walks through the actual Python. Two scripts, two transfer sizes, same dumb protocol, very different engineering challenges.

Read more →