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

Lotta different problems, you would think they came with lessons — AVGUST, “Vanilla Latte”

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

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 →