Ramblings of an aging IT geek
← Ramblings of an aging IT geek
hardware

the router i bricked, and the serial header that saved it

A perfectly fine router got an OpenWrt flash it didn't need, a bad sysupgrade bricked it, and a 3.3V serial cable and TFTP recovery brought it back.

A circuit board with header pins and probe wires

The router was working. That's the part I keep coming back to. It routed packets, the WiFi reached the end of the garden, nothing was wrong with it. But the stock firmware hadn't seen an update in two years, the admin page looked like it was designed in 2009, and I had a free evening. So I did what any sensible person absolutely should not do, and decided to flash OpenWrt onto a device that was bothering nobody.

The first flash went fine. Of course it did. That's the trap. It came up on OpenWrt, I logged in, poked around, felt clever. Then I tried a sysupgrade to a slightly different build to get a driver I wanted, didn't check whether the image was the right variant for the flash layout, and watched the LEDs settle into a pattern that means "I am no longer a router". Solid power light, nothing else, no DHCP, no ping, no web UI. A brick.

Getting back in

The thing that turns a brick back into a router is almost always a serial console, and most of these boxes have the header pads right there on the board, unpopulated. I opened it up, found the four-pin footprint near the SoC, and identified the lines the boring way: ground against the metal shielding with a multimeter, then a 3.3V USB-to-TTL adapter on TX and RX. Crucially you do not connect the voltage line; the board powers itself and you'd just fight it.

A close-up of a router circuit board

picocom -b 115200 /dev/ttyUSB0

The moment I had a console I could see the bootloader was alive and well. The SoC was fine. It was only the firmware partition that I'd corrupted, which is the good kind of brick, the recoverable kind. Most of these bootloaders will fetch a recovery image over TFTP if you interrupt them at the right moment, usually by holding a key or hitting one as it counts down.

So: a static IP on my laptop, a TFTP server pointed at the correct factory image this time, the ethernet cable in the right port, and the bootloader pulled the image down and wrote it. The router came back. It boots, it routes, the WiFi reaches the garden again, exactly as it did before I touched it.

Was any of this necessary

No. Not even slightly. The honest accounting is that I spent an evening fixing a problem I created, to gain a router that does the same job the old one did, plus a feature I will probably never use. The only genuine win was the reminder that a serial header and a 3.3V adapter are worth keeping in the drawer, because the difference between "I bricked it" and "I have a paperweight" is almost always four exposed pads and the willingness to solder onto them.

If you do go reflashing things that work, check the image variant against your exact flash layout before every sysupgrade, not just the first one. And keep the serial cable handy. You will need it on the flash you were sure about.