In previous posts I’ve discussed my home network architecture – for the most part, big and flat, with three Wireless Access Points servicing my WiFi needs on the three floors of my house on a single SSID.
So why, when I’m sitting 10 feet away from a wireless router does my performance suck so badly?
Unlike people with money lying around better sense, my wireless capability is cobbled together from whatever I had lying around at the time, which amounts to:
- 1 x Cisco E2500 802.11b/g/n dual band wireless router (bought recently for this purpose)
- 1 x Netscreen SSG5 with 802.11a/b/g wireless router
- 1 x US Robotics USR5461 802.11b/g wireless router
Yeah, when I say lying around, I really mean it – that USR should have come with AUI. Still, given that the wired infrastructure hooking all these together is genuine Cat5, I’m only going to get 100MBps back to the ‘core’ of my network, so for the most part 54Mbps will have to do.
And yet when I’m sitting in my bedroom working on my laptop, despite having the USR router in my bedroom, I get awful performance – bad signal strength and low throughput. Some of you can probably already guess, but for those who can’t (and until I spent a few minutes thinking about it recently myself, that included me) I’ll explain.
One of the problems of having the same SSID on three devices is that it’s not always easy to tell which one you are connected to. That’s ultimately the crux of the matter, so let’s look at what my laptop can see (click to enlarge) via a screenshot from PassMark’s WirelessMon:
I have cunningly cut out the entries for my neighbors’ wireless networks, but rest assured there’s a degree of contention for the frequencies (though why one of them has chosen to use Channel 3 is beyond me). What we see here are my three APs which run on channels 1, 6 and 11. The first two are the USR (upstairs floor – 10 ft away) and the Netscreen (basement) , and the third is the E2500 (main floor).
When I originally looked at this data (you are seeing it post-workaround), it revealed something interesting – that though the relative signal strength of the Cisco E2500 is reported as the worst at -74dBm, my laptop would connect to it regardless. End result? Bad signal strength, lower throughput, sucky performance. Even though I was sat right next to the USR wireless router, it would insist on hanging on to the Cisco. Why? Based on pure guesswork (because researching would take way more effort then it’s worth to me right now), Windows XP in this case looks at the available APs, reads the “Rates Supported” information and says – and I paraphrase – “Blow me, 300Mbps? This E2500 is da bomb! I shall connect to it in preference to those meagre 54Mbps offerings from the other two wimpy APs!“.
Of course, what this highly technical algorithm does not take into account is the actual connection speed; it apparently relies entirely on the advertised capabilities. As a result, using an 802.11n device in my house currently sucks unless you’re on the main floor, because it will always gravitate towards the E2500 regardless of what might seem more obvious, which is to go for the stronger – but nominally slower – signal.
Obvious, right? Well yes, now I think about it. Duh, indeed. My workaround for this was to tell Windows not to use N wireless, just use B/G. If I’m on the main floor near the E2500 this will be suboptimal, but anywhere else in the house, I’ll likely get better throughput on 802.11g than I will on poor-signal 802.11n. Ultimately then, I guess I need to upgrade my other access points so that they too are 802.11n dual band, and then I can re-enabled N safe in the knowledge that with all three APs advertising 300MBps, my devices will hopefully use signal strength as a tie-breaker instead.
But, but, but…
If you were paying attention, you would also have noted that my laptop is associated to the Netscreen with an RSSI of -67dBm rather than the -60dBm on the USR that would seem more preferable. Again, I don’t know, but I would guess that the algorithm tries to avoid changing APs when possible, and the RSSI has to cross a threshold before it will make a change. For whatever reason (maybe I rebooted the USR nearby) it grabbed the Netscreen and is hanging on to that for the moment. More complexities in the selection process.
The advertised speed issue brings up one of my hate points for 802.11n, which is the multiple “flavors” of N. I think this has been a marketing nightmare (or maybe an opportunity, depending on which side of the purchase you are). 150Mbps? 300Mbps? 450Mbps? 600Mbps? Each manufacturer seems to have their own spin on naming for these, and it strikes me that if the APs advertise these rates, then if I upgrade my old 802.11b APs to 802.11n, I’d better make sure they have the same capabilities or I’m going to find that even though all are “802.11n”, I’ll be experiencing the exact same problem all over again (e.g. choosing a weaker 300Mbps signal over a stronger 150Mbps signal).
How Should This Work?
I supposed I’d really like it if it were possible to associate with each AP and ‘trial’ data rates to see how it goes, but I fear this is not possible. I’m not a WiFi expert, and I’m sure somebody can tell me quite how impossible this is. But you’ll recognize then that this could apply in an Enterprise environment too (as well as many other issues), and may be something to think about if you are adding new, improved APs to an existing infrastructure.
Real World Problems
I mentioned this to some friends and one of them – an expert in the mobility space – commented “And thus you have stumbled upon one of the biggest challenges with ANDSF.” And he’s right – imagine trying to select between 2G, 3G, LTE and WiFi when you are not only considering signal strength and actual throughput, but also have to figure out whether the service offers the QoS necessary to support a voice call versus best effort data. I bow down to his bigger brain, but I totally get the problem in a very real way
Disagree? Have more information and actual references? Set me straight below!