Hi. I’m a new member who’s a huge Linux/*BSD, infosec and networking geek. I overheard you guys talking about what would be the best WiFi deployment solution for the new space. I’m definitely not an expert in this area, but I have some experience gained through casual interest, i.e. trying to understand how the WiFi network at my university worked, messing around with OpenWRT routers at home, playing with the Linux wireless stack, etc.
Wireless Repeaters vs Bridges
aka “Can we get away with multiple routers using the same ESSID and key”
Before I can answer the above question, I must first explain the difference between an Access Point, a Wireless Repeater and a Wireless Bridge. A Wireless Repeater does exactly what it says on the tin. It amplifies an existing wireless signal by re-transmitting packets to and from an existing Access Point. This is great when you’re simply looking to extend the range of an existing wireless network, i.e. when you have an area in your house where the signal from your router doesn’t reach. Since wireless repeaters simply rebroadcast an existing signal (meaning that all repeaters must operate on the same wireless frequency and channel), they improve the range, but do nothing to increase the number of concurrent users connected to your wireless network. There are also obvious latency and reliability issues associated with using multiple repeaters.
If you want to increase the number of clients on your wireless network without compromising latency/speed, you need what’s called a Wireless Bridge. Each bridge can operate independently on its own wireless frequency and channel, meaning better speeds for multiple clients. Unlike a regular commodity wireless router, a wireless bridge is supposed to be connected to an existing local-area network and not directly to the Internet. The clients connected to the wireless bridge get an IP from and can talk to other clients on the existing network, whereas with a regular AP, they would be put on a separate NAT, only being able to communicate with the clients connected to the same wireless AP.
Most commodity routers do not include bridging functionality. Even if you replace the firmware with something like OpenWRT/LEDE, most open-source Linux wireless drivers do not support bridging wireless adapters in client mode (there are third-party patches out there, but not officially supported by OpenWRT). Therefore, in most enterprise deployments, you won’t get away with using multiple APs using the same ESSID and key. With OpenWRT, there is the possibility of creating a wireless “pseudo-bridge” using relayd, but you will still be left with a half-baked solution compared to using an Access Point Controller.
Access Point Controllers
A Wireless controller provides a single configuration interface for all Wireless Access Points on your network and also acts as a switch for all wireless traffic. They allow for scaling your wireless network with additional APs as needed, and eliminate the need to re-architecture your wired network to host a wireless one. They also provide roaming and load-balancing functionality. With a “controller-less” wireless network (i.e. the multiple APs with the same ESSID scenario), it is up to the client to decide when to switch to an access point with the stronger signal. A controller can force a client to switch to a different AP, ensuring a smooth transition. In theory, wireless devices should be able to make their own judgement where it comes to deciding which AP to connect to, but in practice, most devices will “hang on” to the same AP until the signal gets very weak. This may result in a noticeable handoff period lasting a few seconds. While most PC operating systems allow the user to adjust the signal strength threshold, most mobile users are out of luck here. Letting the controller manage the roaming between APs really makes a night and day difference - there is zero noticeable latency to users. It’s like replacing a hard drive with an SSD - once you felt the difference, you never want to go back.
Alternatives to hardware-based AP controllers
Most access point controllers come as an expensive hardware appliance. I don’t have any personal experience with their products (my university used Cisco* APs), but I’ve heard good things about a company called Ubiquity* and their Unifi series of products. Unlike their competitors, their AP controller is software-based and available free of charge. It can run on anything, from a custom-built server, to an old PC and even a Raspberry Pi. Anything that runs Java. They do have support for all the features that you would expect, like zero-handoff roaming. Looking at Amazon, their APs seem a bit more expensive, but for a relatively small space (small as in not a multi-storey office building) like Hack Oldham 2, eliminating the cost of a hardware-based AP controller, the overall cost of the initial deployment should be a lot less. There are also companies like XClaim* that offer cloud-based AP controller solutions for entry-level enterprise deployments.
*Note that I’m not endorsing any of those companies. I started this thread to share what knowledge I (and maybe other people) have in this area, to help you make the best decision.