Routers and Their Lies

I used to use a Buffalo WZR-HP-G302H router. It sucked. Wi-Fi would drop completely every 2-3 hours until I power cycled the thing. And the default Buffalo firmware is complete garbage.

While many overseas models support the Buffalo-branded DD-WRT “professional” firmware, the Japanese models don’t. Not only that, they also have locked bootloaders and can’t be flashed over TFTP, don’t provide a serial console during boot, and don’t accept unencrypted firmware in their web interface.

This was a couple of years ago now, so there wasn’t the wealth of information on this router as there is now. I later found out that you can access a hidden maintenance page and unlock the bootloader. Then, OpenWRT’s page about the router says that OpenWRT should work if you recompile it with the erase size for the SPI flash changed from 128 KB to 64 KB. So I tried it. It didn’t boot anymore.

I wanted to open up the router and hook up a USB-serial adapter to see what exactly caused it to fail but the T10 S2 screws (those diamond shaped ones with the thing in the middle) required an expensive screwdriver and it just wasn’t worth it at the time. I tried reflashing it over TFTP but I couldn’t find any firmware for it which worked. It was still set to the Japanese region and the Japanese firmware is distributed in an encrypted form only. I gave up and bought a new router.

Now a few months ago, having acquired the necessary screwdriver, I decided to finally hook up the serial console and revive the router. There was no need, upon opening it up the router revealed its true nature…

WZR-HP-G302H internal

WZR-HP-G300NH!?

WZR-HP-G302H external

It definitely says WZR-HP-G302H on the case…

Flashing it with OpenWRT’s WZR-HP-G300NH firmware worked perfectly. Now I have a nice Linux device with Wi-Fi just waiting for a project.