Over the years, like all operating systems, Android has had bugs uncovered and security flaws exposed. As you would expect, over time the worst of these have all been steadily patched and updated to provide one of the best (Open Source!) mobile device platforms out there. Unfortunately there’s one flaw that has never fixed, much to the frustration of a lot of users: that flaw is wifi roaming.
For the sake of clarity, let me explain what I mean by wifi roaming: essentially its a devices ability to intelligently select the best wireless access point to connect to at any give moment or put more simply: to connect to the strongest known signal. The setup for a multi wifi access point (or router) wireless network that allows this is well known but here’s a quick summary:
Wifi Roaming Setup
Your access points or routers will need to be connected somehow – generally this is done via CAT5/6 network cable.
Setup up your wireless access points (or routers) with:
- The same SSID (wifinetwork name)
- The same security type (for example WPA2)
- The same passphrase/wireless key
- Ensure they are on different channels, ideally 1, 6 or 11
While a relatively simple exercise for most equipment (as proven by all laptops and non-Android devices that have passed through my home), Android devices seem to desperately cling on to whichever wireless network you told them to connect to last.
Defining the Problem
Wouter Smeltekop defines the problem very well on his post ‘WiFi roaming between AP’s with the same SSID‘ saying:
I’m standing next to my WiFi access point downstairs, I have full signal bars and perfect connection. I then move upstairs (2 stories up) and move next to the AP located upstairs.
The phone should notice that the AP it is connected to has very weak signal, barely 1 bar left near -85/-90 db which is hardly usable. On the next background scan it should also find the second AP has much better signal, around -45db and decide to ‘roam’ to the other AP.
The phone maintains a persistent connection with the AP downstairs for hours and does not ‘roam’ to the AP upstairs causing bad connection and battery drain.
Just to illustrate this, I use Wifi Analyzer on my Samsung Galaxy S4, as you can see from the image below, my phone insist on being connect to the access point with the lowest signal (it’s barely in range).
To add insult to injury everytime I manually tell it to connect to the other Access Point (depending on which end of the house I’m in) it asks me to re-enter the password as though its an unknown network:
For the time being there are three potential solutions available, I’ll start with the simplest and work down to the most technical:
Solution 1: The App
The simplest solution is to install the free App “Wifi Roaming Fix” which forces the device to scan for (and connect to) a better access point on a schedule. Battery life may be slightly reduced but as the App authors point out, being connected to an Access Point further away can also be a better drain.
You can get App here at the Google Play store.
Solution 2: Edit Your Device Configuration
As Android devices have the ability to correctly scan and connect to the strongest access point – it’s just dorment (by accident or design, no one seems to know) it’s possible to re-activate it by editing the wpa_supplicant.conf supplicant file on your device. This is not for the feint hearted but details can be found on the following pages:
Solution 3: Reconfigure Your Wireless Network as a Mesh or WDS System
Another option is to reconfigure your wireless network as a Mesh (probably too expensive for most home users) or a WDS network. I haven’t tried this solution yet but will be doing so shortly as its something I’ve wanted to play with and test for a while as a budget Mesh alternative. As soon as I have, I’ll post a more comprehensive review.
TP-Link doing a fantastic range of wireless devices that support WDS, examples can be found here on Amazon:TP-LINK TL-WA801ND Wireless N300 Access Point, 2.4Ghz 300Mbps, 802.11b/g/n, AP/Client/Bridge/Repeater, 2x 4dBi, Passive POE TP-LINK TL-WR843ND Wireless N300 AP/Client Router, 300Mpbs, WISP, IP QoS, WPS Button, Passive POE TP-LINK TL-WA901ND Wireless N300 Access Point, 2.4Ghz 300Mbps, 802.11b/g/n, AP/Client/Bridge/Repeater, 3x 4dBi, Passive POE