It’s a good feeling when you actually get to put some theory into practice and it works.
Recently a colleague was troubleshooting an issue where clients were getting random drop outs when 15-20 users were logging in for a lesson concurrently. There were several Cisco (Autonomous) 1242AG APs running within the area so the customer assumed they must be faulty. The APs were laid out in a similar fashion to Figure 1 although I am unsure which wall they were hanging off (due to it being a remote site) so I placed them in the middle of the room for the purpose of this post. Running ‘show dot11 associations’ let me know the client counts and revealed the problem; too many associated clients on one AP!
After talking to the customer and seeing this setup it was obvious the Wireless devices were mostly used in Room 2 but with a few others scatted across Room 1 and 3. If the site was running a Lightweight solution I wouldn’t have to worry about much except ensuring client thresholds were set on the Controller which would in turn do all the hard work for me based on RSSI/SNR’s around the APs but alas a manual configuration was required.
I ran a ‘show controllers dot11radio 0’ on each AP which gives you a wealth of information about rates and channels supported but in this case I was just interested in the power levels that were currently running as highlighted below. You’ll notice there are two power levels, one for CCK (802.11b/g) and one for OFDM (802.11g/a).
All of them were set to 17dBm – the second highest power level – for both modulations and were on channels 1,6 and 11 respectively (not shown with that command) which further backed up my theory that the power levels were the problem and not any co-channel/adjacent channel interference from each other. No other APs were physically located very close to those rooms ruling out another potential source of interference.
This leads into what I’ll boldly state as one of the golden rules of Wireless setups; more power is not necessarily better. Why? In this scenario the majority of the clients are based within Room 2 in the middle and they will make their roaming decisions based upon Received Signal Strength Indicator (RRSI) and Signal-to-Noise Ratio (SNR). Without going into too much detail I can say these are extremely important figures for which a client bases it’s roaming decisions. Every vendor has their own way of calculating these values and is one of the ways they compete with each other in the Wireless market. If the AP in Room 2 has its signal set to full then all the clients nearby will note a high RSSI and with no interference from the neighbouring rooms the SNR is not going to be too low. Therefore all these clients will connect to that AP without realising there are two other options close by with less load on them.
To rectify, I lowered the power levels on Room 2 only for both modulations using the command ‘power local ofdm 11’ and ‘power local cck 11’ respectively within interface dot11 radio 0 (2.4 Ghz radio).
Room2(config-if)#power local ofdm 11
Room2(config-if)#power local cck 11
In this scenario the 5Ghz network is disabled but I would have repeated this step with that interface as well if necessary, perhaps being a little less zealous with the power lowering as with the 2.4 radio. Setting the power level to 11 effectively quarters the current power output of the radio as a 3dBm reduction would halve the signal each time. An explanation of dBm would take me a long time to write up so I’ll leave it at that. For the neighbouring APs I set their power levels to max which would auto negotiate within the regulatory domain (17 for OFDM, 20 for CCK) so their signal would become a more viable option for the clients in the middle room. The resultant signals are represented in Figure 2*.
* This is a rough visual representation and is not to any scale
Optional Association Management
I then had one final optional configuration to assist with the client load balancing but would only do this I’m certain of client numbers in each room and that is setting a limit on the number of associations to the SSID. As I’ve already manually set the power levels on those APs as shown above, if the lesson is then moved to Rooms 1 or 3 then the clients will experience worse drop outs than before and I could further compound this issue by setting client limits on each AP. This is another reminder of how useful a Lightweight solution can be!
However, should I deem it necessary I could configure the client limit for an SSID using the following syntax from the SSID interface:
Room2(config-ssid)#dot11 SSID TheSSID
The main issue here is the overhead required if the number of clients changes across the rooms so I’d recommend not doing this unless really necessary.
With an Autonomous/thick solution at multiple sites it is difficult to cater for everyone’s needs unless you are highly proactive through monitoring and customer feedback. In this situation I have rectified the issue but what happens if the customer who knows about my manual tweaks leaves the site without telling anyone else? Alternatively what if the balance of clients shifts to another room and Room 2’s AP won’t be able to assist the other rooms because I’ve turned the power down. Without a Controller to manage all this there will be more overhead and that’s just one site. What if you had to manage this kind of configuration for 100+ sites? Or 500+?! Shotgun not doing service calls.