firmware

Recovering a Bricked 360T7 via UART After a DDR3 RAM Upgrade

10 minute read Published: 2026-05-23

A memory-modded 360T7 had run for years until I flashed OpenWrt's bl2 and fip. It then stopped at dram size: 0MB. Every rescue package I found failed for the same reason: OpenWrt's official bl2 drives DDR3 at 2133MT/s, while this router has a DDR3-1600 chip. DRAM initialization failed before the rest of the boot chain could load. I traced the settings in the ATF source, built a bl2 at 1866MT/s, and recovered the router over UART.

Dual-Partition Sysupgrade on the 360V6 with OpenWrt

5 minute read Published: 2026-05-23

The 360V6 has A/B dual-partition flash: two complete rootfs copies and a bootloader slot flag that selects one at boot. Updates write the inactive partition and leave the running one alone. If a write fails or is interrupted, the router can still boot the old system.

OpenWrt's sysupgrade ignored the layout and wrote the running partition in place. A power loss or bad image mid-write left the device unbootable, recoverable only over TTL. I added proper A/B support upstream, and it has merged.

Building Padavan Router Firmware

2 minute read Published: 2022-10-05

Padavan is an open-source firmware derived from the GPL source ASUS released for the RT-N56U router. It targets MediaTek and Ralink SoCs: RT3883, MT7620, MT7621, and MT7628. The upstream repository on BitBucket last received updates in 2018. A fork on GitLab carries current development.

A prebuilt image targets one board and feature set. Building from source lets you match the device and select the features to compile. This post builds firmware for the MI-NANO router, whose official firmware is old and has no IPv6 support.

Flashing the Xiaomi Router Nano Bootloader

3 minute read Published: 2022-09-28

The Xiaomi Router Nano is a MediaTek MT7628 router. Stock MiWiFi accepts only signed updates and exposes no shell. Replacing the bootloader lets it run OpenWrt or Padavan.