Economy of Effort

Twitter LinkedIn GitHub Mail RSS

The Wifi "Predator"

My brother was struggling with a poor wifi connection from his upstairs room to the Airport router downstairs at his house. Given that it is a house he shares with roommates, I figured instead of trying to solve the problem of making wifi reach all ends of the house (especially since the house is in Los Angeles and I am not), I thought a better plan would be to make him a setup that will allow him to pick up wifi signals better, as well as repeat them in his local area.

So, inspired by an article I read a few months back, I cobbled together a little something to do the job. Not quite as elegant a form factor as the article’s tripod-mounted beauty, but a little more sensible for setting up on top of a bookshelf, or carrying around in a duffel bag.

The key components here are:

The WRT54GL is the go-to router for anyone that wants to run open source firmware (and even if you’re just a regular wifi user, you want this). Here, we use a build of the DD-WRT firmware with AutoAP built in, provided by the AutoAP Sourceforge project.

AutoAP is a brilliant little script that scans for open wifi connections, finds the strongest one that provides you a “live” connection to the Internet, and connects the router to this access point and repeats the signal. It also allows you to set a list of “preferred” networks for AutoAP to prioritize above random points. The easiest way to get AutoAP is to install a firmware image that comes with it. I used the AutoAP NG v24 Micro build offered up on AutoAP’s Sourceforge downloads page.

Installation involves simply logging into the router’s default firmware, and using the built-in firmware update function to “update” to the open-source firmware. (The Linksys firmware seems to like IE best - stupid Linksys - so for safety, I flash the firmware through IE. Though I have done it in other browsers before, I have also had the admin panel get pissy on non-IE browsers).

Once the DD-WRT firmware with AutoAP is installed, the router needs to be set up as a repeater. All the instructions you need on this part are here. The idea is to make the router set up to connect to remote access points as a client and repeat their signal, while also offering up its own SSID  that you connect to. The router’s “physical interface” represents the router’s connection to the remote access point, while the “virtual interface” is your private repeated version of that network, complete with the SSID and encryption of your choosing. This makes things easy, as while the router jumps to different access points, your client machines connect only to your private SSID.

When the router is properly set up to work as a repeater, then AutoAP can be used. AutoAP functionality can be accessed from a web browser at http://routerIP/user/cgi-bin/autoap.cgi. (Bookmark this, as it’s not available through the regular DD-WRT panel). It’s pretty self-explanatory as to how to turn “on” and “off”. When turned on, it will connect to and begin repeating whatever open network it can find with the strongest signal. AutoAP will automatically “fill in” the SSID information of the newly-repeated network in DD-WRT’s Basic Wireless settings tab (what you yourself would fill in if repeating a signal manually - and which you can still do when you switch AutoAP off. This is necessary when you want to repeat a WPA/WPA2 encrypted signal, as AutoAP can only deal with open or WEP-encrypted access points  - and only the latter when keys are known).

A repeater works best with a nice high-gain antenna to work with. The Super Cantenna is a convenient off-the-shelf solution. Unlike the nearest Pringles can, it has a handy tripod that allows you to control tilt and even horizontal-axis rotation (“rolling” the cantenna away from it’s “upright” position can lead to a better signal in some cases). Moreover, it’s got an RP-SMA connector and an RP-TNC adapter. The WRT54GL’s removable antenna connections are RP-TNC connectors, so the included adapter takes care of compatibility. Unscrew the existing antennas (at least one of them - you can leave one on if you want, which you may consider if you find you need an omnidirectional antenna to help extend the reach of your repeated signal), and using the Super Cantenna’s RP-TNC adapter, screw the Cantenna in. Done!

You may want to play around with the “Xmit Power” option in DD-WRT’s Wireless -> Advanced Settings area. Higher can mean better range, but too high can mean excess noise and degraded signal quality. It’s something one has to play around with to find the optimal setting for their environment.

So, there you have it. Perfect for hopping onto the open wifi of the hotel next door, when your hotel proves to be too cheap to provide it themselves. Or, if you’re in a living situation where you don’t necessarily control all the wires, it lets you establish your personal repeated wifi haven.