I recently got a new Wireless-N router (based on the Draft 2.0 of the 802.11n spec.) to replace my old, but trusty WRT-54GL, an 802.11g router. I bought this router just over a year ago to replace another 802.11g router that was acting up. I specifically bought the WRT-54GL (as opposed to the regular WRT-54G) because I knew that I’d eventually want to flash it with third-party firmware. (The WRT-54GL runs on Linux and has better hardware than later versions of the WRT-54G)
I recently got my Xbox (with XBMC) setup in my living room. This placed it far away from the wireless router in my apartment and not wanting to run an unsightly CAT-5 cable around my place, I decided that I’d need a wireless bridge since the original Xbox does not have a built-in wireless adapter. (Nor does the 360, I believe). A quick look around the web showed that most dedicated wireless bridges were quite expensive and of dubious quality. Since I already had the spare WRT-54GL, I decided to flash it with DD-WRT, one of the most popular third-party firmware replacements, and see how it would function as a wireless bridge for my XBMC setup.
Bridging the gap
A wireless bridge (depending on your definition) is a device that allows regular wired clients access to the network over a wireless connection. This was exactly what I needed for my XBMC-equipped Xbox. This would give XBMC access to the network and allow me to play content/videos stored on my PC using XBMC, effectively turning it into a streaming box. Doing a little research, I found out that wireless bridge capabilities were one of the many features that the DD-WRT firmware added to the WRT-54GL.
Mind you, DD-WRT doesn’t only work with the Linksys WRT-54G/GL. A full list of supported devices is available on their site, and the list is quite long. However, I believe the WRT-54G was the first, after people discovered that initial versions of the WRT-54G were running Linux, thus requiring Linksys to make the source code available and spawning a bevy of third-party development for the device. (Some later versions of the WRT-54G unfortunately do not support the full version of DD-WRT since the newer WRT-54Gs are now being shipped with VxWorks, another embedded OS, instead of Linux and thus have different hardware configurations)
Getting it to run
DD-WRT has a feature list so long that covering it is outside the scope of this article. Instead, I’ll focus on how I set it up as a wireless bridge to provide wireless access to the network for wired clients. The DD-WRT wiki has an installation guide, and while it gets the job done, it’s unfortunately very convoluted, confusing and contradictory, on account of it being written wiki-style by many authors with evidently no editing whatsoever.
Basically, here’s what I did to get my WRT-54GL flashed to DD-WRT from the regular Linksys firmware: (As adapted from the installation guide, which you may want to follow as well) If you do not have another router to use while you’re flashing, you’ll definitely want to read through the instructions thoroughly before doing anything to make sure you have all the required materials, instructions and so forth, since if anything goes wrong, you won’t have an Internet connection!
- Make sure you are on a wired connection to the router.
- Reset it to factory defaults.
- Download the latest stable MINI version of DD-WRT. Flash using the “generic” bin over the web console. The guide recommends using Internet Explorer instead of Firefox and while those instructions may be outdated, I followed them anyways.
- If, after flashing, you cannot login with the default root/admin (which happened with me), do a hard reset of the router. This is accomplished by holding down reset and plugging in the router while continuing to hold reset for 30 seconds. (You may just have to hold reset for 30 seconds without the plug-in procedure) This should reset the login/password back to the normal defaults
- Now, get the latest stable STANDARD version of DD-WRT. Flash again using this version’s “generic” bin over the web console. This adds more features over the mini version, which apparently you must first flash with when changing from the default Linksys firmware.
This procedure worked for me, but I can’t be sure it’ll work the same for every router out there.
Getting the wireless bridge connected
The documentation for this over at the DD-WRT site, while long, is less confusing than the installation instructions. I basically followed them to the letter, and within a few minutes, the WRT-54GL was online and connected over a WPA-PSK secured wireless connection. I definitely recommend some form of WPA over WEP, as WEP is broken and cannot be considered secure for anything.
The guide indicates that WPA2 does not work correctly for the current version of DD-WRT (2.3 SP2 as of this writing), though it is an option in the settings for a wireless bridge. I have not tried to get WPA2 to work myself, but reports from others seem to indicate that it does not work. If and when I do try, I’ll update this article with my results.
Well, that’s about it. I’m now happily streaming video to my XBMC setup, and so far, the wireless connection has been rock solid, without a single drop-out, freeze-up or slowdown. In fact, it feels as zippy as a wired connection! This is what wireless networking should be like and I’m glad it’s finally becoming a reality.