The router was fine. That's the part worth dwelling on. It had been routing packets without complaint for the better part of two years, the wifi reached every room I cared about, and the only thing wrong with it was that a newer build of the firmware existed and I knew about it. So naturally I flashed it.
The download went fine. The web interface accepted the image, chewed on it for the appropriate ninety seconds of flashing lights, and then went dark. No web interface, no DHCP, no blinking to suggest anything was thinking. Just a power LED and a faint sense that I'd done this to myself for no reason at all.
The thirty-second reset did nothing. The TFTP recovery the wiki promised did nothing, because the bootloader wasn't listening on the address the wiki claimed, or I'd fat-fingered the timing, or both. After an hour of this I accepted what I'd known from the start: I was going to have to open it up and find the serial console.
Cracking the case was the easy bit. Most of these boards have an unpopulated header somewhere near the SoC, four pads for ground, transmit, receive and a voltage line you leave well alone. Finding which was which meant a multimeter, a bit of guessing, and a USB serial adapter set firmly to 3.3 volts, because 5 volts here would have turned a recoverable brick into a paperweight with a story.
With the adapter wired up and a terminal open at 115200 baud, the boot log scrolled past, which is a genuinely lovely thing to see when you've spent an hour talking to a dead box. The bootloader was alive and well. The main firmware partition was the casualty: the flash had been interrupted, or the image was subtly wrong for this hardware revision, and it was failing its checksum on every boot and giving up.
From the bootloader prompt the rescue was almost anticlimactic. Set the device's IP, point it at a TFTP server on my laptop holding a known-good image, and let it pull the firmware down and write it directly, bypassing the web interface that had let me down in the first place. A minute later it rebooted into a working system, the wifi came back, and the house stopped quietly resenting me.
The lesson is not "don't flash routers". I'll do it again. The lesson is the one I relearn every couple of years: a working thing has value precisely because it works, and "there's a newer version" is not, on its own, a reason to touch it. I keep a 3.3 volt serial adapter and a stash of jumper wires in the drawer now, not because I plan to brick things, but because I've accepted that I will, and the difference between an evening's annoyance and a trip to buy a new router is four solder joints and the willingness to open the case.