Cisco Wireless Transmit Power Control

Power substation outside a VERY large data center in Atlanta,GA.

I’m going to start out by telling you something you probably already know. Every vendor has their own way of doing things. Sometimes it makes perfect sense, and other times you end up scratching your head wondering why that particular vendor implemented this feature or product. Since I have been spending a lot more time on wireless these days, I came across an issue that forced me to reconsider how transmit power control(TPC) actually works in a Cisco wireless deployment. I thought I would impart some of this information to you, dear reader, in the hopes that it may help you. If you spend a lot of time inside Cisco wireless LAN controllers, this may not be anything new to you.

The Need For TPC

If you have been around wireless long enough, you have probably dealt with wireless installs where all of the access points(AP) were functioning autonomously. While this isn’t a big deal in smaller environments, consider how much design work goes into a network with autonomous access points that number into the hundreds. It isn’t as simple as just deciding on channels and spinning all the access points up. You also have to consider the power levels of the respective access points. Failure to do so can result in the image below where the AP is clearly heard by the client device, but the AP cannot hear the client since it is transmitting at a higher power level than the client can match.



Now consider the use of a wireless LAN controller to manage all of those APs. In addition to things like dynamic channel assignment, you can also have it adjust the transmit power levels of the APs. This can come in handy when you have an AP fail and need the other APs to increase their transmit power to fill the gap that exists since that failed AP is no longer servicing clients. I should point out that proper design of a wireless network with respect to the client transmit power capabilities should NEVER be overlooked. You ALWAYS want to be aware of what power levels your clients can transmit at. It helps to reduce the problem in the image above.

There’s also the problem that can arise when too many APs can hear each other. It isn’t just about the clients. Wireless systems which adhere to the IEEE 802.11 standard are a half duplex medium. Only one device can talk at a time on a given channel. Either a client or the AP will talk, but not both at once. If an AP can hear another AP on the same channel at a usable signal, the airtime must be shared between those APs. Depending on the number of SSID’s in use, this can dramatically reduce the amount of airtime available for an AP to service a client. You can see some actual numbers with regard to SSIDs and APs in this blog post by Andrew von Nagy.

As you can see from two quick examples, there is a need to control the power level in which an AP will transmit. On controller based wireless networks(and even on the newer controller-less solutions), this is done automatically. I wouldn’t advise you turn that off unless you really know what you are doing and you have the time to plan it all out beforehand.

The Cisco Approach

On wireless LAN controllers, TPC is a function of Radio Resource Management(RRM). The specifics can be found here. I’ll spare you the read and give you the high points.

  • The TPC algorithm is only concerned with reducing power levels. Increases in power levels are covered by Coverage Hole Detection and Correction algorithm.
  • TPC runs in 10 minute intervals.
  • A minimum of 4 APs are required for TPC to work.

It is the last point that I want to focus on, because the first two are pretty self explanatory. The reasoning behind the 4 AP minimum for TPC is as follows:

“For TPC to work ( or to even have a need for TPC ) 4 APS must be in proximity of each other.  Why? Because on 2.4 GHz you only have three channels that do not overlap… Once you have a fourth AP you need to potentially adjust power down to avoid co channel interference.   With 3 APS full power will not cause this issue.”

Those are not my words. They came from someone within Cisco that is focused on wireless. Since that person didn’t know I would publish that, I will not name said person. The explanation though, makes sense.

Let’s see it in action to validate what Cisco’s documentation says.

TPC Testing

I happen to have a Cisco WLC 2504 handy with 4 APs. I set it up in my home office and only maintained about 10 feet separation from the APs. Ideally, I would test it with the APs a lot farther apart, but I did put some barriers around the APs to give some extra attenuation to the signal. I also only did testing on the 5GHz band. I disabled all of the 2.4GHz radios because I don’t need to give any of my neighbors a reason to hate me. Blasting 5GHz is less disruptive to their home wireless networks than 2.4GHz is due to the signals traveling farther/less attenuation of 2.4GHz vs 5GHz signals/antenna aperture. :)

Here you can see the available settings for TPC in the WLC GUI. This particular controller is running 7.6 code, so your version may vary.

TPC SettingsSome notes on options:

    • You can either set TPC to run automatically, on demand, or at a fixed power rate on all APs. TPC is band specific, so if you want different settings for 2.4GHz and 5GHz respectively, you can have that.
    • Maximum and minimum settings for transmit power are available. The defaults are 30dBm for maximum power and -10dBm for minimum power.
    • The power threshold is the minimum level at which you need to hear the third AP for the TPC algorithm to run. The default is -70dBm. You can set it higher or lower depending on your needs. High density environments might require a level stronger than -70dBm, with -50dBm being the strongest level supported. If you don’t necessarily need to run things like voice, you might be able to get away with a weaker threshold, but you cannot go beyond -80dBm.

A Quick Sidebar on Maximum Transmit Power in 5GHz

I set up the WLC with 3 APs active on 5GHz only. You can see that the power levels on the 3 APs are set to 1 in the image further down, which is maximum power according to Cisco. While it seems odd that max power would be a 1 and not some higher number, consider the fact that there are multiple maximum transmit power levels depending on which UNII band you are using in 5GHz. As a general reference, 20dBm would be 100mW and 14dBm would be 25mW. You could get 200mW(23dBm) of power using a UNII-3 channel vs UNII-1, which is maxed out 32mW(15dBm). That is a HUGE difference.

      • UNII-1 power levels for channels 36-48:
        • 1 – 15dBm
        • 2 – 12dBm
        • 3 – 9dBm
        • 4 – 6dBm
        • 5 – 3dBm
      • UNII-2 power levels for channels 52-64(I didn’t test UNII-2 Extended, but I suspect it is the same:
        • 1 – 17dBm
        • 2 – 14dBm
        • 3 – 11dBm
        • 4 – 8dBm
        • 5 – 5dBm
        • 6 – 2dBm
      • UNII-3 power levels for channels 149-161:
        • 1 – 23dBm
        • 2 – 20dBm
        • 3 – 17dBm
        • 4 – 14dBm
        • 5 – 11dBm
        • 6 – 8dBm
        • 7 – 5dBm

To see the supported power levels in terms of dBm on 5GHz, you can run the following command on the CLI of the WLC:

show ap config 802.11a <ap name>

The output will look something like this after you go through a handful of screens showing other stuff:

AP Power Settings




Back To The Testing…

You can see in the image below that with 3 APs active, they are all running at power level 1, which is the default when the radios come online.


So let’s see what happens when I add the fourth AP. If our understanding of TPC is correct, we should see the power levels come down since the APs are so close to each other and will have a signal strength of well above -70dBm between each other.

4AP-MaxTXPowerThe fourth AP now shows up, but the power levels are still maxed out at 1. The AP’s are also using channels on all 3 UNII bands, so there is a huge disparity in output power right now. After a few minutes, the following shows up in the WLC:

4AP-PowerRedux-1Now we can see TPC working. It has reduced all 4 APs to a power level of 2. Once the TPC algorithm kicks in, it will run every 10 minutes until it reaches a level where the fourth AP is just within the power threshold of -70dBm. Let’s see if it keeps reducing power.

4AP-PowerRedux-2Now we are at a power level of 3. Ten more minutes pass and I see the following:

4AP-PowerRedux-3Two of the APs have been reduced to a power level of 4. Ten more minutes passed and power levels reduced even further. At that point, I powered off one of the APs to see if the power levels would go back to 1 since there was no longer a fourth AP. I didn’t get a screen shot in time to see all 4 APs at an even lower power level, but when I did grab a screen shot of the 3 remaining APs, one of them had been dropped to a power level of 5. I believe this happened prior to my unplugging the fourth AP.

Note – Power level decreases happen in single increments only, every time the TPC algorithm runs(every 10 minutes). To put it another way, it downgrades by 3dB max each cycle. Sam Clements pointed out to me via Twitter that when power levels increase, it can happen much more rapidly since the Coverage Hole Detection(CHD) and Correction algorithm is responsible for power increases.

4AP-PowerRedux-4I waited for at least 30 minutes to see if the power levels would return to 1 for the remaining 3 APs, but they didn’t move at all. They stayed just like the above image.

If you want to see this work on the CLI in real time, you can issue the following command:

debug airewave-director power enable

After I had waited for over half an hour, I decided to power off one more AP. When I brought it back online, I saw all 3 of the APs slowly go back to a power level of 1. Here’s the first change I saw in the 3 remaining APs:

3AP-AlmostMaxPowerAnd then shortly afterward, I saw them back at max power.



It’s All In The Details

For wireless surveys, my company uses the Ekahau Site Survey product. It is a really neat survey tool and we use it for on site assessments as well as predictive surveys. When you define the requirements of the project, you can choose from a bunch of different vendor specific scenarios, or general wireless scenarios. I can apply those requirements to a predictive survey, or an on site survey where I am trying to determine if the existing coverage/capacity is good enough for the business needs.

Here’s a screen shot of the default requirements for the “Cisco Voice” scenario found in version 7.6.4 of Ekahau’s Site Survey program:

EkahauRequirementsPay careful attention to the “Number of Access Points” field. By default, it shows 2 APs with a minimum signal strength of -75dBm. If I am building a predictive survey for Cisco voice, I would need to have all of my coverage areas to see 2 APs at a signal of -75dBm or better. That’s perfectly fine, but I also have to consider the APs and how they determine, you guessed it, transmit power. If I change the value in the “Number of Access Points” field to 3 APs at -70dBm or better, I can build my predictive survey around inter-AP communication as well. In that scenario, I am not looking to cover the entire floor or building to that standard. I just need to make sure that all of my APs can see 3 or more APs at -70dBm or better. Of course, if I am not using Cisco wireless to support a Cisco voice implementation, I need to figure out how that other wireless vendor determines transmit power. Just something to consider when interpreting the results of an actual or predictive survey. It isn’t entirely about the clients and their relationship to the AP. AP to AP communication matters as well!

Closing Thoughts

Understanding how the TPC function works is pretty important when designing Cisco wireless networks. Failure to consider what all is involved in regards to transmit power on your APs could(not WILL, but COULD) lead to problems in the wireless network’s operation. However, if you want to manually set transmit power, that’s an option as well. Opinions differ on running RRM. I’m not sure there is a right or wrong answer. It depends. :) I will say that I almost never see Cisco wireless implementations where RRM is not being used.

I don’t want to end this post without mentioning that some networks may be perfectly fine running APs at max power, especially on the 5GHz side. Your coverage may be enough to where there is minimal channel overlap(easily achievable in 5GHz with 20MHz channels and the use of all 3 UNII bands), and each AP can hear one or two neighboring APs at a decent level due to good cell overlap. You just might not have enough APs to trigger the TPC algorithm to run. That doesn’t mean “you are doing it wrong”. If it works for the business and all your users are fine, who am I to tell you that you need to “fix” it.

Hopefully this was beneficial to you if you needed a clearer understanding of how Cisco’s TPC function works. If you already have a good understanding of TPC and managed to read this far, feel free to shame humiliate correct me in the comments.

Posted in cisco, wireless | 3 Comments

The Importance of Product Education

brainI learned something new this afternoon. While other users of this product were already aware of it, I was not. This is something that is specific to the Wi-Fi community, but there is a larger point affecting all practitioners of technology that I will attempt to illustrate in this post.

The Problem

I have been doing a lot of wireless surveys lately. These particular surveys have been large enough to require two engineers to be on site. We’ll divide up the location by floors or sections in order to get the job done in less time. These particular surveys are in place assessments, so we aren’t putting survey AP’s up on poles and measuring signal strength, determining attenuation of walls, etc. We’re simply measuring the signal of all AP’s in place and making recommendations based on the requirements of the business(e.g. moving to support voice at 5GHz or location based services). In addition to using a survey tool, which in our case is Ekahau’s Site Survey, we are also doing spectrum analysis at various points within the given facility with Metageek’s Wi-Spy DBx hardware and Chanalyzer software.

The spectrum analysis portion is where my problem resided. I happen to have a pair of Wi-Spy DBx devices that Metageek was kind enough to give me when I attended a few Wireless Field Day events put on by the folks at Tech Field Day. Not too long ago, the capability of capturing 2.4GHz and 5GHz simultaneously with multiple Wi-Spy DBx adapters was added. This meant that if you had 2 of their Wi-Spy DBx adapters, you could capture spectrum on the 2.4GHz and 5GHz bands at the same time. If you only had one adapter, you could only capture on a single band at a given time. This meant that when you wanted to capture spectrum in one location, you had to run a capture on 2.4GHz, and then run another capture on 5GHz. If you are doing 5 minute captures, your total time in that spot was 10 minutes, because both bands needed to be observed.

For the past several months that I have been on the road doing surveys, I was able to capture spectrum in half the time of any of my colleagues because I used both of my Wi-Spy DBx adapters at once, where the standard survey kits we were using only had one. Considering the time savings involved while doing spectrum(a decent sized facility might require spectrum analysis in well over a dozen locations) with multiple adapters, we looked into purchasing more Wi-Spy devices for our survey kits. Metageek has a Wi-Spy device that is only 2.4GHz. Since the Wi-Spy DBx can do both bands, we could just purchase the 2.4GHz model and save a little money. As luck would have it, Metageek doesn’t list the price of the 2.4GHz model on their website and asks you to contact them for pricing. I reached out to them this afternoon and received a quick response back.

As of Chanalyzer version 5, you can now record simultaneously in both bands with a single Wi-Spy DBx device. Granted, with a single adapter, it is alternating between 2.4GHz and 5GHz, so it isn’t as granular as it would be if you were using dual Wi-Spy adapters, but still, that is a great feature. If there is persistent interference, that isn’t a problem, but if the interesting spectrum traffic is brief, perhaps it could be missed, or less accurate than if you were using 2 adapters.

I ended up telling the Metageek person who responded to me that we wouldn’t need to buy additional adapters based on this newfound knowledge. While that is a lost sale for them, we did just buy another survey kit that included another Wi-Spy DBx and Chanalyzer license, so they got some additional business from us. :) I should also point out that the person I was communicating with at Metageek didn’t try to push the sale anyway. They were just happy that my “problem” was resolved and made sure to tell me that Metageek made awesome products, with which I happen to agree!

I Don’t Use Metageek’s Products. Why do I care?

The larger point I want to bring up is that of vendor education. Or, to put it another way, ensuring that we as practitioners are up to date on all the features that a given product supports.

Think about the products you use in your daily job. How knowledgeable are you on what the latest software or hardware revisions improve or add? If it is a large list of products, I am willing to bet there are a fair amount of things you could be doing with those products that you aren’t. Some of those things might save you a lot of time and/or money. How valuable is your time? I can’t help you with the endless meetings you may have to endure. I can’t reduce your commute time. I can’t get you more money in your paycheck. What I CAN say is that as your proficiency increases in a given product, you will become more effective in your job, and that is rarely a bad thing for you or the company you work for.

How Do We Keep Up To Date?

Simply put, you have to schedule product update research into your routine. This is especially crucial in any sort of implementation team, be it corporate or VAR. I fully expect the vendors are going to be up to speed on all the latest features of their products, unless you happen to work for a very large vendor like Cisco where a field sales engineer has to be able to sell for the full product portfolio.

This is much easier when you have a team of engineers/admins/architects as opposed to being the sole person responsible for your area of technology. Make a list of the products you have to use in your day to day job and divide that list up among the team. Task them with going over release notes, product data sheets, vendor blog posts, etc. Once they have combed through those things, get the team together and update each other on those products. Some things can be as simple as an e-mail sent out to the team. Other things are better presented in person so that everyone on the team can talk about them and how it affects the operation or implementation of that particular product.

Closing Thoughts

It is easy for me to say that every team should get together and discuss the latest and greatest regarding all of the products they support or implement. It is a LOT harder to make that happen. In this particular case with Metageek’s spectrum analysis platform, our problem was solved quickly, and without additional expense to the company. However, I have experienced the opposite several times in my career.

There are so many different people and projects that eat up portions of your days and weeks. We tend to put professional development to the side in most environments because it isn’t “billable”, or doesn’t appear to make the company any more money. I would argue the opposite. Being able to perform at a high level in your day to day job and not make mistakes out of ignorance ends up benefiting the company immensely in the long run. For many of you, this happens after hours when you are “off the clock” so to speak. There are plenty of things I try to stay current on, but I have to admit that those things don’t encompass all the things I do in my day job on a regular basis.

What do you think? Is it possible to stay current on all the things you do in your job on a day to day basis?

Posted in career, learning, training, wireless | 3 Comments

Can I Be Brutally Honest?

There are several reasons I love being on the road. One of them is the sense of accomplishment I get from doing a particular job in a set amount of time. There is a defined period in which I will be on site with a client to do a job, or a set number of days I will be sitting in training. The light is always at the end of the tunnel. I find that when I am involved in projects around where I live, that they tend to drag on. Time is always important, but not as important as when I am on the road.

Another reason I love being on the road is the fact that I get to interact with a number of my fellow IT professionals on their home turf. I love talking to them about their networks and seeing how they solve the particular issues of their business with technology. I also love to help them improve their networks when needed. Depending on the engagement length, a good working relationship may develop to the point where you seek each other out for conversation or shared meals when you are in the same general vicinity. In the course of my 3 city tour these past 11 days, I have met up with friends in 2 of the 3 cities. The third city was a bit smaller, but I still met some really great people. I can’t do much of that sitting at home because I am a husband and a father of two children whose time living under my roof decreases with every new day.

The last thing I enjoy about being on the road is the time spent alone in the hotel room reflecting on what it is that I do for a living. Don’t get me wrong. I LOVE my family. They are the only reason my tolerance level for any number of things is as high as it is. Were I single with no responsibilities other than feeding myself, I would probably make a lot of rash decisions that would either propel my career to the next level, or sink it to the lowest depths where I would be borderline unemployable. My family keeps me grounded, and ensures any decisions I make in terms of my career are made with consideration of their never-ending food and shelter addictions. :)

The road brings me clarity, and after more than a week away from home, it brings me brutal honesty.

I’ve come to a realization in the last several years regarding what it is that I do for a living. The realization is that I don’t make that much of a difference in the world. I am an arms dealer for the IT industry. I’m not here to heal the sick or raise the dead. I’m here to ensure my company is represented at a high technical level(This one takes a lot more work than you would think and doesn’t always happen like I wish it did due to my own deficiencies.) and that the needs of the client are met. That’s it. Being a salaried employee, I am not dependent on a commission from a sale to get paid. Granted, if you don’t sell, you don’t work, but if a sale goes down for 100k less than what was originally proposed, my paycheck won’t be affected. I certainly don’t want to give you the impression that the sales folks I work hand in hand with are used car salesmen(Sorry. We don’t have any female reps at the moment.). They aren’t. I wouldn’t work somewhere that was unethical or immoral. I teach Sunday School for crying out loud. I have a conscience to contend with. :)

Back to the “not making a difference” thing…..

I’m okay with being a cog in the machine that is the IT industry. I am at peace with it. I don’t feel the need to act as if I am trying to make the world a better place one router or access point at a time. I have a job to do, and I have no problems doing it. I want to be as good of an engineer/architect/installer/pre-sales guy as I can be. The harder I work, the more successful I become. The more successful I become, the sooner I get to retire and go do something with my life that can directly benefit others without me needing to work 40 or more hours a week to put food on the table. I have at least 20 years left in the trenches, and I plan on grinding it out until I hit my retirement number, or I end up at a pre-IPO company and get enough equity to burn $100 bills in my fireplace to keep warm in the winter time. The former is probably more realistic than the latter.

Does that sound self-centered? Perhaps, but in that internal brutal honesty comes the realization that my life goals will only be achieved by doing my job better than the next person, and helping my company’s clients. When I work harder than the next person to deliver a better widget, it makes the client happy. When the client is happy, my company is happy. When my company is happy, they keep giving me more work and paying me. Everybody wins.

Ask yourself this: Do you work out of the kindness of your heart? Would you do the same job for 50% less pay as long as your employer wrote you thank you notes every week and gave you a hearty thumbs up whenever you walked up and down the hallway of your office? Of course you wouldn’t.

I genuinely like what I do for a living. I love never knowing it all, but still trying to. I love interacting with other IT folks on a daily basis. I love seeing people get excited about their network infrastructure, as odd as that sounds. If wages in IT were depressed to the point where we all had to take a decent pay cut, I would probably still be in IT.

Let’s be clear on one thing though. I’m not sitting in your data center in the wee hours of the night on a weekend because I want to be. That ship has sailed. The adrenaline rush from doing IT black magic while the general public slumbers away blissfully has long departed my body. Every now and then I get to do something cool and I feel a slight rush of CLI-induced splendor at 2am, but that soon passes and I am left with the realization that I am there because I get paid to be there. If there is no financial incentive for me to be there, I am at home laying in bed next to my wife dreaming of a really good meal or pondering why Firefly only lasted one season. You know. Important stuff! My one caveat to that would be if I was doing some pro-bono work for another organization and they needed work done at off hours. So far, I have yet to find the need for my services in a data center at a charitable organization. If you know of one in the Nashville area, hit me up and I will lend a hand. :)

There’s nothing wrong with being honest about why some of us do what we do. I don’t have a void in my life that is filled by working in IT. Any void I have isn’t going to be filled with a job. It will be filled with things far more important. One thing I can assure you of is that my tombstone won’t say: “Here lies Matthew. He really loved BGP.”

Posted in career | 3 Comments