Reverting DD-WRTed WRT32X back to stock

2025-01-04

I found an old router we used to use back in China while digging through our moving boxes. At the time, I flashed DD-WRT on the thing because we used a VPN service named Astrill, which had a little DD-WRT applet that let you set up a network-wide VPN for the entire household (which meant we didn’t have to configure VPN on each device).

Now that I was no longer in Internet-censorship-land, I decided to flash it again with OpenWrt. But the instructions online only cover how to flash OpenWrt from a stock system.

Rather than risk bricking the router trying to manually dd over the partitions, I decided to first flash the stock Linksys image onto the router and then convert it to OpenWrt from there. Unfortunately, the forum post on DD-WRT’s forums detailing how to go back to stock required you to grab a custom-made image that had a padded bit, so that DD-WRT’s image flasher would flash it correctly to the partition table. While the image was available for download here, DD-WRT’s forum software would only allow downloads once you signed up for a forum account.

I tried to sign up for a temporary account to download the pre-converted image, but it appears that DD-WRT’s forum is in a state of abandonment. The confirmation email to actually activate the account never arrived, and my email to the forum administrators went unanswered.

Time to follow the instructions on how to pad a stock image manually, then. While following the instructions, I didn’t realize that newer stock firmware images had a different partition layout, so the amount of data to pad was different. Of course, I only found out about this when I overwrote the partition and essentially soft-bricked the device. Thankfully, the A/B partition swap kicked in, and I was able to retry with the correctly converted image.

So if you ever find yourself with a WRT32X flashed with DD-WRT and you want to go back to stock or use OpenWrt on it, you can use this image that I converted here. (Alternate mirror on Catbox) Don’t forget to verify your download with the SHA256 checksum:

fdf5914007d02ee86a2a93d3e20bd677403ec1c9849d8126840c79126507239c

As for the router, I don’t think I’ll be using it. I successfully flashed both partitions with OpenWrt, but the open-source mwlwifi driver and firmware won’t let you adjust power levels, which means it’ll blast out the 2.4 GHz signal at full tilt and drown out the 5 GHz signal:

Maybe the firmware could be reverse-engineered one day?