Wednesday, October 2, 2013

Determining the 802.11 protocol (b, g or n) being used and forcing the use of b or g

Most wireless access points (APs) operate in what is known as mixed mode and can support clients that use 802.11 protocols b, g or n.

The CC3000 can work with any AP that supports at least b or g. It cannot work with a AP that has been configured to only support n.

The CC3000 enabled device can happily connect to a mixed mode AP using b or g while other clients connect using n.

When running the TI Smart Config setup application on a client, e.g. an iPhone, Android phone or on a desktop or laptop, it can become important what 802.11 protocol the client (and not the CC3000) are using to connect to the AP.

Due to factors that have yet to be determined the TI Smart Config setup application may fail to communicate the SSID and passphrase to a CC3000 enabled device if the application is running on a machine that is connected to the AP using n.

E.g. if connected using n then the TI Smart Config setup application works fine if run on my iPad but not if run on my Macbook Air. If I force my Macbook Air, or any other device, to connect to the AP using b or g then there is never any problem.

Update Sept 8th 2013: I now believe the main issue as to whether a particular client using 802.11n will work or not is MIMO. This is covered as one of the issues in the limitations section of this TI document. I've covered this in more detail in another post.

Is your machine connected using 802.11 b, g or n?

Determining whether your Windows, Mac OS X or Linux machine is connected to your AP using b, g or n is OS specific and is described here for each OS in turn.

On Mac OS X it's very easy to see this information, just hold down the option key (also called alt key) and click on the wifi icon on the right hand side of your menu bar. You will see the wifi network that you are connected to along with some extra details about the connection, including PHY mode which shows the 802.11 protocol version:


On Windows it's similarly easy to find this information if you're using Windows 7. Just hover over the wifi icon in your system tray and the connections details should appear as a tooltip:


I suspect the same information can be seen when using XP or Windows 8 (if you're running in desktop mode) as both have a similar wifi icon in the system tray - however I don't have an XP or Windows 8 machine to hand with which to test this.

Finally Linux - it maybe possible in the various popular user interfaces, e.g. Unity, GNOME or KDE, to find this information in an equally simple manner as shown above for Mac OS X and Windows. However I'm not going to provide details for all the various user interfaces. Rather one can deduce which 802.11 protocol is being used with the command line tool iwconfig like so:
$ iwconfig 
eth0      no wireless extensions.

lo        no wireless extensions.

wlan0     IEEE 802.11abg  ESSID:"UPC0050878"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: E0:91:F5:CC:9B:96   
          Bit Rate=54 Mb/s   Tx-Power=15 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=70/70  Signal level=-36 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:7  Invalid misc:278   Missed beacon:0
Here the bit rate shown is 54Mbs. If the bitrate is 11Mbs then you are using 802.11b, if it is 54Mbs then you are using 802.11g and if it is higher then you are using 802.11n. Note: things are a bit more complex than this but in general this holds true under most circumstances.

Forcing your machine to use 802.11g

So what can you do if your machine is connected to your AP using n and you've tried using the Smart Config application but the CC3000 enabled device did not pickup the SSID etc?

The obvious answer might be to force your machine to connect to your AP using g instead, at least for the duration of the setup process. Surprisingly though it is not actually very easy to force a given machine to use a slower 802.11 protocol if it can use a faster one. I've Googled this a lot and found no simple answers for Mac, Windows or Linux and I've posted a question regarding this to superuser.com (Force Mac/Win/Linux clients to use g when wifi AP supports b/g/n?). But the answers to this question, at the time of writing this, don't provide a per-machine solution.

So the less agreeably but simple and doable alternative is to update the settings on your AP so that it only supports b and/or g, i.e. all clients that were previously connected to your AP using n will be forced to drop down to a slower protocol. It's unfortunate that this forces all clients to use a slower 802.11 protocol, not just the one running the Smart Config application. However once the setup is completed successfully you can reenable n on your AP and all clients will then automatically reconnect using the fastest 802.11 protocol they support and the CC3000 device will continue to work fine too.

Most APs come with some form of simple web interface where you can temporarily disable support for n. My AP uses OpenWRT with the default LuCI web interface - I just need to logon to this interface and:

  1. Select the Network tab in the top row of tabs,
  2. then select the Wifi tab in the second row of tabs,
  3. then go down to the section showing my SSID and hit the Edit button,
  4. then select the Advanced Settings tab in the Device Configuration section,
  5. then change mode from 802.11g+n to just 802.11g,
  6. then hit Save and Apply in the lower right hand corner of the page.
Warning: changing your AP settings is not advised if you are not comfortable in general with changing configuration information for your various devices. If you change the wrong value you may find it very difficult to return your AP to a useable state.

If you can provide pointers to similar instructions for other common AP interfaces, e.g. those provided by Netgear, Linksys, D-Link etc., in the comments section that would be much appreciated.

3 comments:

  1. Any known issues when auto channel is deactivated in router?

    ReplyDelete
  2. I am using Windows 7 and the tooltip only displays the network name and the words: Internet access. Is there another way to determine the radio type?

    ReplyDelete
    Replies
    1. from the cmd window, run ipconfig/all.

      Delete

 

Copyright @ 2013 Depletion Region.

Designed by Templateify & Sponsored By Twigplay