So I decided, on something of a whim, to replace the firmware in my trusty Buffalo WBR2-G54 router with OpenWrt, a modular Linux distribution for embedded devices. (I actually used the X-Wrt packages, which have a better web interface for configuration but are based on OpenWrt.) The WBR2-G54 is based on the Broadcom 4712 platform, and normally runs its own customized version of Linux (but which is not normally accessible to the end user).
The process of installation was a bit maddening, as the newest “Kamikaze” distribution doesn’t work out of the box with the WBR2-G54 — the wireless interface doesn’t show up in the configuration pages. It took me awhile to figure out that the problem wasn’t with what I was doing, but rolling back to the earlier “White Russian” distribution got me up and running. (I used these two sources for instructions on flashing. Note that, in Windows Vista, you’ll have to install the TFTP client manually, as it’s not part of the default packages that are installed.)
There are a few benefits (real and potential) to doing an upgrade like this:
- Support for WPA2 security. The vendor firmware only supported WPA, and, even though my current wireless card doesn’t seem to support it (in spite of manufacturer protests to the otherwise), it’ll be good to have for the future.
- The ability to use services like DynDNS, in case I want to access my home network while I’m on the road. This is another feature that was not supported in the vendor firmware. Couple this with Wake-on-LAN support, and it would be possible to use resources from home in almost any situation.
- Being able to set up a VPN for home, again for purposes of working on the road.
- Running any number of other packages to add interesting functionality to it. This InfoWorld article is a good overview of the possibilities. I have a feeling that, in order to be able to do all this whiz-bang stuff, I’ll actually need a router with more RAM and flash — the web interface for X-Wrt indicates that I’m already at about 84% RAM utilization with a default installation and a couple of other packages.
I wound up having to install the miniupnpd package to enable UPnP support (necessary for the all-important Xbox Live on the 360), but other than that, I didn’t need to do too much else. Once I actually got the firmware flashed correctly, I would say that setting it up correctly isn’t much more difficult than with the stock firmware. Granted, you’ll need to know about the alphabet soup that is the world of networking, but the configuration process is fairly straightforward.
One other possibility that I’m interested in is installing some kind of voice chat server on it, similar to Ventrilo or TeamSpeak — I’m not sure if the VOIP packages that are available would encompass this sort of thing, and the Mumble project would appear to be a no-go due to its server’s reliance on Qt. I’ll have to look into it some more.