Better WiFi with a Ubiquiti UniFi Access Point

21Jan18

TL;DR

The WiFi coverage in my house wasn’t as good as I’d like it to be, and I’ve heard lots of good stuff about Ubiquiti UniFi gear, so I’ve installed one of their Lite Access Points, and it seems to be working well.

Background

I first came across Ubiquiti kit as part of the bizarre ‘NAT in the hat‘ connectivity for a Spanish Airbnb place I stayed at, but it was Troy Hunt’s write up that really caught my attention. More recently Jess Frazelle blogged about UniFing her apartment network, and I saw positive reports from a colleague at work.

My home is nowhere near as large as Troy’s, but there are places where the WiFi signal isn’t reliable enough, and adding lots of cheap routers as additional access points hasn’t really worked (and in some cases just made the network even more fragile and unreliable). A particularly troublesome spot has been the lounge sofa, because there’s a huge radiator behind it blocking the line of sight to my primary Draytek router[1].

The hardware

I got the basic UniFi UAP-AC-LITE Access Point as its capabilities seemed to be sufficient.

Getting a network cable to an appropriate ceiling mounting point looked like being a potentially messy nightmare, and although the device is small and pretty enough it’s better to not see it at all, so it’s tucked away in the void between my office floor and the first floor ceiling (essentially one slice of plaster board and some rock wool away from where I would have ceiling mounted it)[2].

The software

Jess Frazelle uses this stuff, so of course the management software can be run in a Docker container. I found this UniFi Controller image on Docker Hub that’s maintained by Jacob Alberty, so that’s a bunch of yak shaving avoided. Here’s the command line that I use to run it (as a Gist):


sudo docker run --rm --init -d -p 8080:8080 -p 8443:8443 -p 3478:3478/udp -p 10001:10001/udp -e TZ='Europe/London' -e RUNAS_UID0=false -e UNIFI_UID=1000 -e UNIFI_GID=1000 -v ~/unifi:/unifi --name unifi jacobalberty/unifi:stable

It took me a while to figure out that I needed an HTTPS URL for my docker_vm:8443, but with that sorted out I was all set.

I’ve not gone all in (and I’m not likely to)

With just an access point the UniFi Controller has many features that I can’t make use of because they depend on having a UniFi Security Gateway (USG) and UniFi switches.

I’d be sorely tempted by USG if they did a version with a VDSL modem, but I’m not keen on pressing my old BT modem back into service, and even less keen on double NAT with my Draytek.

The switches are a different matter. UniFi switches come at a significant premium for their manageability and (in most cases) Power Over Ethernet (POE) capabilities. The only POE thing that I have is the UniFi access point, and that came with a POE injector[3]. As my home network has 6 switches totalling 69 ports in use I estimate that I wouldn’t get much change from £1000 if I wanted to switch my switches. I’d reconsider if I could get 8 and 16 port non POE switches at something like £50 and £100 respectively (which would still be £450 on new switches).

Conclusion

Subjective WiFi performance (especially from the lounge sofa) seems much improved, so the UniFi access point seems to be doing the trick. I’m missing out on tons of UniFi features by not going all in and buying the USG and UniFi switches, but on the other hand I’d rather just be using my network rather than playing with it.

Notes

[1] Something that didn’t cross my mind until after putting in the UniFi AP was that I could remount the router antennae using some RP-SMA extension cables. Since I still run the guest and devices networks from the Draytek (to associate them with the appropriate VLANs that aren’t my home network) I’m going to give that a try too.
[2] I know the signal (especially 5GHz) will suffer some attenuation going through an extra layer of plasterboard, but there’s nowhere in the house that a device is going to be used that does have a clear line of site to somewhere I could reasonably place the access point, so it was going to be attenuated anyway.
[3] I was pleasantly surprised that the access point came with the POE injector to provide power as one wouldn’t be needed in an ideal UniFi installation using their switches. No doubt the people doing professional installations of UniFi kit end up with giant piles of surplus injectors, which then find their way to eBay.



One Response to “Better WiFi with a Ubiquiti UniFi Access Point”

  1. 1 rdemena

    Not sure if we talked about this in Plano … but welcome to the club!

    If you want to see a USG and any of the EdgeRouter devices in play feel free to tap on my shoulder. I have been operating these for about 3-4 years now, replacing where I had been in Netgear. The POE injector is necessary as most POE does not adequately support the approach Ubiquity took with powering the devices.

    https://help.ubnt.com/hc/en-us/articles/115000263008–UniFi-Understanding-PoE-and-How-UniFi-Devices-are-Powered

    Separate from that I will raise caution on the multiple AP / Multiple WLAN SSIDs. I have found in testing that the devices will under stress will begin to have packet loss/network collisions that limit the performance (again, I am using the original UAP still, with current firmware. It was a solution for wireless reach giving my home a meshed network behind a software controller (which has radically improved since its original form).

    Docker aside, I actually have their CloudKeys implemented so that I am not bound to AWS or remote hosts for communication. It nicely links to their unifi.ubnt.com website and allows me the ability to manage other homes easily. I use a VM for my own in my private cloud – far more interested in the underlying code.

    One caution. The your user ID and password is different than the device user id and password depending on how you setup the devices – you need to keep the device user id and password for each site somewhere safe … (its universally applied on initial configuration – not sure if they call this out now – and is in the site settings panel of the controller per site). If a device disassociates, it will still operate; however, if things go goofy, resetting the device to get it in sync with a larger system is not so straight forward – but the new controllers have helped solve that in provisioning as long as you have that password.

    Otherwise, extremely happy here … nice to see some others in proximity to the platform.


Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.