Category Archives: Technical

iBwave Wi-Fi Training – Day Three

The final day of training with iBwave was primarily focused on a from scratch design to help ensure understanding of all the topics covered. The exam itself is a practical exam, meaning that you have to create a design and submit it for approval and wait up to seven days to find out if you passed. Oh the stress ūüôā

The from scratch design was of a shopping mall that was a moderately small floor plan of about 100 meters in length (well small for a modern shopping mall). The specifications included information about capacity areas, equipment constraints, the number of users and so on. Have a real-world design scenario to wrap up the training was a good way to end it all.

Now that the training is over, I will take the exam in the next couple of days and then write a review of iBwave Wi-Fi and the certification program at the CWNP website.

My final take away from the training, in relation to iBwave Wi-Fi as a design tool is that it has the features and capabilities that most WLAN designers would need. It has some areas for improvement, as all tools do, but is a solid solution for WLAN design.

Just for fun, here’s some RF art courtesy of iBwave Wi-Fi’s propagation modeling:

RF Flame of Power
RF Flame of Power
RF Horizons
RF Horizons

Look for my post at in the coming weeks to get a more thorough and integrated review of the tool. As we are vendor-neutral at CWNP, it will not make an ultimate recommendation for or against the tool or compare it with other tools, but will give you all the information you need to make a good decision yourself.

My goal is to do the same exercise or similar with other design and Wi-Fi tools so that you can have excellent information to help you make buying and use decisions. As with many tools, you may very well find that you will use one tool for one type of project and another tool for another type (assuming a large budget [smile]).

Until then, thanks for viewing.


iBwave Wi-Fi Training – Day Two

I am still going through the three-day iBwave Wi-Fi certification training class. It is now day two. Today, we started the class using output maps. iBwave supports the following output map templates, which can all be fully customized:

  • Signal strength
  • Best channel
  • Overlap zone
  • Maximum achievable data rate
  • SNR
  • Co-Channel Interference
  • Average downlink data rate
  • Capacity

They can all be generated for 2.4 or 5 GHz bands. You can also create a new output map to more specifically meet your needs. In addition, you can run the prediction for an output map, lock it, and then create another one like it, make changes to the plan and run the prediction. This allows you to compare the new results with the locked results – a very good feature.

The following image shows the CCI output map with three APs intentionally set to channel 1 in 2.4 GHz to illustrate the tool. It is important to note that such tools cannot really predict client-generated CCI. They only indicate the CCI that will result in areas from APs that can be seen on the same channel. Some guesswork could be used (possibly based on fancy statistics), but most tools just report on the AP-generated CCI. For my definition of CCI, see my blog post Defining Wi-Fi: CCI.

CCI Output Map - iBwave
CCI Output Map – iBwave

When creating the capacity map, you can configure several parameters to define the capacity. These include:

  • Market share (percentage of clients)¬†for 2.4 vs 5 GHz
  • Percentage of SISO, 2×2 and 3×3 MIMO devices
  • Usage profiles defining Mbps in the link and throughput in Kbps
  • Application services including email, online gaming, web browsing and file downloads
  • Equipment limits (number of clients per AP radio)

The following image shows the Capacity Output map based on one capacity zone in the lower right corner and every other area defined as standard office use.

Capacity Output Map - iBwave
Capacity Output Map – iBwave

Data collection was the next topic of the day. Data collection is used to perform either a manual site survey or a validation survey. Like most tools in this category, both active and passive surveys are supported and iBwave Wi-Fi provides a communication server for the active survey.

Once collected, survey data can be used to calibrate modeling for the design as shown in the following image.

Calibration Model - iBwave
Calibration Model – iBwave

An extensive reporting solution is also included to generate all the documentation required by your design ranging from heat maps to bill of materials. The components database is extensive as well and updated regularly.

Tomorrow will be all about the lab. So I will report on the experience there and then you can expect a review blog at within a few days as well.

Until tomorrow!


iBwave Wi-Fi Training – Day One

For the next three days, I am attending a training class with Ricardo Rosa, of iBwave on the iBwave Wi-Fi solution. As a WLAN design tool, it has some very interesting and useful features. During my first day of training, I was exposed to exceptional design features and also noticed some areas for improvement in the application.

First, the key areas requiring improvement are in the terms used throughout the application. Many areas seem to have borrowed terms from the cellular and DAS design world that don’t really fit into WLAN design. For example, for now, the application requires you to say you are connecting to a DAS, just to connect to an external antenna. Additionally, some parts of the interface seem to indicate you can do something (like have¬†different channels for downlink and uplink, which, of course, we don’t do in Wi-Fi). Those aside, some excellent capabilities remain.

Connecting to an External AP Antenna - iBwave Wi-Fi
Connecting to an External AP Antenna – iBwave Wi-Fi

As you would expect from any application of this type, iBwave Wi-Fi allows you to start your planning from AutoCAD files with building materials (and even furniture) defined. Once loaded, you can customize the materials for your needs.

When drawing walls and other items, features you would expect are there: snap to corners, delete last point (for those accidental clicks) and so on. A full collection of building materials are provided and the database is open for modification as well.

Today was focused mostly on layout plans and project settings. Importing a floor plan, configuring settings and adding walls for a typical single floor building can all be done in 20-30 minutes once you get the hang of the interface. More time, of course, will be required when you have a multi-floor project or massive square footage with a single or multiple floor project.

Scaling a floor plan using Google Earth KML files is a nice feature when working with large buildings. This is particularly useful if you are not able to go onsite first. I will be using this for a project I’m working on for a local hotel this weekend.

When adding APs, as expected, the easiest way to add them is automatically. I NEVER recommend doing this, but it is a feature. Instead, they should be added individually and configured as appropriate. Now, if you want a quick picture of what is possible, the automatic placement can be useful. But, please, please, remember, you must be the expert. Tweak, tune, rip and replace, do what it takes to build a solid design.

The Design Plan view is a nice added benefit that allows you to see the overall topology of the network in a logical way. It can automatically pull in components that have been placed on floors into appropriate areas. The end result is an excellent topological view of the network design.

Design Plan View - iBwave Wi-Fi
Design Plan View – iBwave Wi-Fi

So far, without question, the 3D modeling feature is my favorite. The ability to nearly instantaneously truly see in 3D space how RF passes through floors is useful.

That’s about it for day one, I’ll be blogging more about my experience tomorrow. Talk to you then!


Tom Carpenter’s Wi-FiStatGUI Tool

Here is another quick tool for this weekend. This tool simply grabs the output from NETSH WLAN SHOW INTERFACE and displays the results in the Windows interface (because you can’t quickly see all this in the Windows GUI). You can change the refresh interval in ms.

If no wireless connection is active, you will see a screen like the following:

Wi-FiStatGUI with no connection
Wi-FiStatGUI with no connection

When a connection is active, you will see the following:

Wi-FiStatGUI with a connection
Wi-FiStatGUI with a connection

If you want to have the percentage signal strength converted to dBm, you can use the following formula:

if(quality <= 0)
    dBm = -100
else if(quality >= 100)
    dBm = -50 or better
    dBm = (quality / 2) - 100

If enough people ask for it, I may take the time to add the conversion into the output for you.

Here is the download link:


Tom Carpenter’s WiFiStat Tool

UPDATE: WIFISTAT has been modified so that you can run:

wifistat 0

For unlimited iterations. The three options now are:

  • wifistat
    • this will run 1 iteration
  • wifistat 0
    • this will run until you press CTRL+C
  • wifistat #
    • this will run for the number of iterations¬†specified as #

Additionally, a timestamp is provided.

Here is a tool by request. WIFISTAT.EXE will show the Tx/Rx rate and signal strength for the current connection (WLAN) in dBm. By default, it lists the information and exits, like so:

WiFiStat.exe with No Parameters
WiFiStat.exe with No Parameters

Here is the tool with the parameter 5 (of course, if you move while running, the signal will change:

WifiStat.exe with a Parameter of 5
WifiStat.exe with a Parameter of 5

Here is the download, have fun. Like all my tools, it comes with no support and no error processing as they are created as learning experiments or for my own use [smile]. Download


Tom Carpenter’s WiFiScan Tool

NOTE: Tool has been updated to resolve problems on some systems. (Feb. 13, 2017)

OK. I have a problem with NETSH. It shows signal levels in percentages based on a known algorithm, but gives no option to show dBm levels. Hence, WiFiScan.exe. This little tool will pull the NETSH information in, convert signal strength to show dBm as well (for strengths weaker than -50 and stronger than -100) and show them parenthetically after the percentage info. The command is the same as:


It goes against the default WLAN interface and has no parameters. I may modify it to allow for interface specification, but it serves my purpose for now. By the way, the conversion to dBm follows this logic:

if(quality <= 0)
    dBm = -100
else if(quality >= 100)
    dBm = -50 or better
    dBm = (quality / 2) - 100

The wifiscan.exe tool should be run while not connected to a WLAN. It will sort of work if you’re connected, but give you an error related to an array. I may fix that when energy returns. Here’s the tool, feel free to download and use at your own risk [smile]:

Download the Feb. 13, 2017 WiFiScan tool.


My Right-Click PowerShell WLAN Scanner Script

Download wifi.ps1 Here

I mentioned this script an a class recently. I threw it together sometime back. It’s not elegant, but it does what I wanted. It’s actually pretty beautiful when you consider that it was written late one night ūüôā

It would need some tweaking to work as a command line script.

Just place it where you want it and then right-click and choose Run with PowerShell to get a listing of discovered networks sorted by channel.

By the way, I was studying two PowerShell concepts at the time: file access and pulling in NETSH information. I had used a method without files, but this was the last one I played with. If you want one without temp files, let me know. I can throw that together and post it too. This is mostly a learning tool for you.

Have fun and let me know if you make some great changes.

Download wifi.ps1 Here

Simple Wi-Fi NETSH Batch File for Information Gathering

Here is a simple batch file that will get information from NETSH without the lengthy commands. No error checking. A little help. But it’s the one I use. I added a menu for those who want interactive use. Copy and past it into a file with a .bat extension and you’re good to go. I name mine wifi.bat. ¬†Someone asked for it so I thought I’d share it with the world.

Just run wifi.bat with no params to get help. Run “wifi.bat menu” to see the interactive menu I built just for you!

Have fun, tweak and change all you like.

if [%1]==[] GOTO HELP

if /I %1==interfaces GOTO SHOWALL

if /I %1==networks GOTO NETWORKS

if /I %1==drivers GOTO DRIVERS

if /I %1==settings GOTO SETTINGS

if /I %1==menu GOTO MENU

netsh wlan show interfaces %1

netsh wlan show networks interface=%2

netsh wlan show drivers interface=%2

netsh wlan show settings

netsh wlan show interfaces

ECHO Choose from the following options:
ECHO  I = Show all wireless interfaces
ECHO  S = Show general wireless settings
ECHO  N = Show wireless networks on default interface
ECHO  D = Show drivers on default interface
choice /C ISND /M "Make your selection: "
ECHO %errorlevel%
if %errorlevel%==2 NETSH WLAN SHOW SETTINGS
if %errorlevel%==3 NETSH WLAN SHOW NETWORKS
if %errorlevel%==4 NETSH WLAN SHOW DRIVERS


ECHO NETSH Speedy Interface Script
ECHO This command provides information about Wi-Fi
ECHO interfaces. The proper use is:
ECHO wifi interface_name
ECHO interface_name should be in quotation marks if
ECHO the name has one or more spaces. For example:
ECHO wifi "Wi-Fi 1"
ECHO When interface names are not known, use the
ECHO modifier interfaces without an interface name.
ECHO Other modifier commands may be used to show other
ECHO information. Such commands should precede the
ECHO interface_name parameter. Only one modifier'
ECHO command may be used at a time.
ECHO Possible modifier commands include:
ECHO networks - show networks
ECHO drivers - show drivers
ECHO settings - show general settings
ECHO menu - use an interactive menu
ECHO For example:
ECHO  wifi networks "Wi-Fi 1"
ECHO would show the wireless networks seen by that
ECHO interface.
ECHO Created by Tom Carpenter, 2016

Old Skills – Still Valuable

I have been working with various Linux distributions much more these days than in the past. Spending all that time in the shell has flooded the mind with memories of days gone by. When we used to have to know our systems well to properly configure the simple task of booting (config.sys and autoexec.bat), we had to master many technical skills. I am amazed, nearly every day, at how often those old skill still prove valuable to me.

Remember screens like this?

Config.sys in Edit
The mem Command

If not, you didn’t work with DOS. If so, you did. If not, don’t distress, you can learn the skills you need to get by in the Windows Command Prompt, PowerShell or the shell in a Linux distribution.

In this post, I’m going to focus on three skills we had to master in the DOS days that are still valuable today. They were:

  1. Getting Help
  2. System Diagnostics with Commands
  3. Automating Work

Getting Help

At the DOS prompt (and still in the Command Prompt or PowerShell in Windows and the shell in Linux) help was always just a simple switch away. For nearly every command or program, you could simply add a /? to the command to find out exactly what the command could do. Those who learned (and still learn) commands this way are always more powerful users or administrators than those who simply learn specific command parameters for specific tasks from books, blogs and articles.

The reason for this reality is simple: when you use the help to see all the command can do, you often learn of uses that others have not demonstrated or used themselves.

Consider the mem command shown earlier from DOS. If you simply typed mem and pressed ENTER, you saw a screen like the following.

Simple mem Command Output
Simple mem Command Output

Now look at all you learned about the mem command if you used the /? parameter.

Getting Help for the mem Command
Getting Help for the mem Command

I can already hear someone saying, “Wait, Tom. The mem command is not in the Windows Command Prompt anymore. How does this help?” That’s a great question. The answer is that you can find other commands, related to memory, that you can use and use with power when you learn to get help. Consider the tasklist command in Windows.

The following screen shows the output of a basic tasklist command with no parameters:

Raw tasklist Command Output
Raw tasklist Command Output

It is showing every process, regardless of the memory consumed by it. Now, look at the help for the tasklist command using the /? parameter.

tasklist Help
tasklist Help

Notice that you can do several things to refine the list, particularly in relation to memory usage.

Armed with this information, I can now use the /FI filter parameter to see only tasks consuming more than 15,000 kilobytes of memory with the tasklist /FI “MEMUSAGE gt 15000” command.

Filtering for High Memory Usage Tasks with tasklist
Filtering for High Memory Usage Tasks with tasklist

As you can see, getting help is key to learning Command Prompt or shell commands. In Linux, you typically use the —help parameter for this. In PowerShell, use the Get-Help cmdlet to accomplish this.

System Diagnostics with Commands

The old DOS prompt gave us several tools for performing system diagnostics. In addition to the mem command, you had commands like checkdsk, ver (both still in the Command Prompt), and  undelete (sadly, no longer with us). The Command Prompt is actually far more powerful today in Windows than it ever was in DOS. Dozens of additional commands are available for diagnostics. In addition to tasklist, important commands include:

  • sc – service management
  • ipconfig – IP configuration viewing and management
  • netsh – a plethora of networking functions
  • systeminfo – viewing information about hardware and software
  • ftype – working with file associations

This is a very brief starter list. Type help at the Command Prompt (just like in DOS by the way) to see a list of common commands as shown in the following image. Remember to use the /? parameter with them to learn all the details of how they work.

Partial Output from the Command Prompt help Command
Partial Output from the Command Prompt help Command

Automating Work

Finally, you can automate the Command Prompt using batch files and PowerShell or the Linux shell using scripts (PowerShell scripts and bash scripts respectively). The batch files work almost entirely the same in the Windows Command Prompt today as they did in DOS 25+ years ago when I used them. Of course, some of the old commands are gone, but the logic and concepts are still the same.

The point of this post is simple. Never discount old knowledge. It continues to benefit you today. In fact, I can say plainly that I passed a certification exam a couple of years ago almost entirely because I knew DOS all those years ago. And, yes, I still have my old DOS books including great books on batch files. Here’s a picture of just one.

Inside MS-DOS 6.22
Inside MS-DOS 6.22

And, yes as well, the Disk is still included after all these years ūüôā

Happy shelling!

Security Myths?

I find it very interesting when an article debunks itself while talking about debunking myths. If you have not read the recent Network World article titled “13 Security Myths You’ll Hear – But Should You Believe?” you can read it here:

While most of the “myths” are very obvious to anyone who has worked in computer support for very long, one of them I found quite interesting. The third “myth” referenced in the article is, “Regular expiration (typically every 90 days) strengthens password systems.” First, while I completely disagree that this is a myth taken within the context of a complete security system including proper user training, it appears that the article itself debunks the debunking of this “myth”. Note the following from myth number 6, “He adds that while 30-day expiration might be good advice for some high-risk environments, it often is not the best policy because such a short period of time tends to induce users to develop predictable patterns or otherwise decrease the effectiveness of their passwords. A length of between 90 to 120 days is more realistic, he says.”

Now here’s the reality of it from my perspective. If you never change passwords, an internal employee can brute passwords for months and even years until he gains access to sensitive accounts. If you change passwords every 90+ days while having strong passwords that are easy to remember, you accomplish the best security. Strong passwords that are easy to remember can take weeks or months to back with brute force. For example, the password S0L34r43ms3r is VERY easy to remember, well it’s easy for me to remember, but you have no idea why. Brute forcing this password would take months with most systems. Therefore, I have a strong password. If I change it every 90-120 days, I will have a good balance of security and usability.

Does every employee need to change his or her password every 90-120 days? No, certainly not. Some employees have access to absolutely no sensitive information. We can allow them to change their passwords either every 6-12 months or never, depending on our security policies. The point is that different levels of access demand different levels of security.

While I felt the article was very good and it did reference some research to defend the “myth” suggested in relation ot password resets, the reality is that the article and the research (which I’ve read) does not properly consider a full security system based on effective policies and training. Granted, few organizations implement such a system, but, hey, we’re only talking theory in this context anyway, right? It sure would be nice if security could move from theory to practical implementation in every organization, but it hasn’t. The reason? By and large, because most organizations (most are small companies) never experience a security incident beyond viruses, worms and DoS attacks. That’s just life.