Extending a wireless network with OpenWRT.

Jun 13 2020

One of my earliest covid-19 lockdown projects was doing a little work on my home wireless network.  I have a fairly nice wireless access point upstairs running OpenWRT, sitting behind the piece-of-shit DSL modem-slash-wireless access point our ISP makes us use.  All of our devices connect to that AP instead of the DSL modem.  Let's call it Upstairs.  However, the dodginess of the construction of our house being what it is (please don't ask), wireless coverage from upstairs isn't the greatest downstairs.  The fix for this, conveniently, is to set up another wireless access point downstairs and connect the two in such a way that wireless devices downstairs connect to the second access point (let's call this one Downstairs), which then transparently relays the users' traffic to the Upstairs AP, and then to the public Net (or one of the machines also hanging out on Upstairs).  This was a remarkably easy thing to do but it did take a little background research, which was daunting in and of itself so my goal here is to lay out a nitty-gritty, "Here's how you do this thing" process so you can do it yourself.  Also, in today's political climate, this process has the potential for filling in some essential gaps in emergencies.

First, some basic assumptions that you have to make for this to work: Your wireless access points have to be dual-band - they must be capable of supporting both 2.4GHz and 5GHz networking simultaneously.  This means that they have two independent radios on board.  If they don't this won't work.  Seriously, don't try to get clever with this.  Any hackery you try to pull is going to be brittle, and you'll be inflecting upon yourself to kinetic pattern baldness needlessly.  Second, it is entirely possible to extend one SSID using this technique but you don't have to.  We have three related wireless networks here: Upstairs-2.4GHz, Upstairs-5GHz, and Downstairs-5GHz but you can do it differently if you want.  Third, unless you're already using OpenWRT for your wireless network, this probably won't work.

This is an advanced project so you might not want to tackle this on your own if you haven't been tinkering with OpenWRT for a while; this includes being comfortable with SSHing into your access point and installing software (including the web control panel).  I won't walk you through the installation process because OpenWRT already has good documentation for this.  Follow it first to bootstrap your second access point-slash-wireless network extender before you start this tutorial.  I'll also walk you through some of the gotchas I ran into to make life easier for everyone else.  We're going to assume that you're using OpenWRT's default 192.168.0.0/24 private network layout already but if you aren't adjust the instructions as required.  You do not have to be running the same version of OpenWRT on your access points.  I'm running v18.06.2 on Upstairs and v19.07.2 on Downstairs.

When I built this out at home I purchased a duplicate of the access point I already have.  You probably don't have to do this, but I did just to be sure I knew the make and model was solid.

For the record (and the same of my external memory) here are the instructions I used when I originally figured this out.