WiFi Performance Testing—Methodology

To settle this, I decided on a testing methodology for comparing both generations of Airport Extreme, and the latest generation Time Capsule on two different platforms with 3x3:3 support, and a 2x2:2 design.

The first is a Lenovo X300 notebook. I acquired one of Intel’s latest and greatest WLAN cards, the Centrino Ultimate-N 6300, which is a dual-band 3x3:3 half height mini PCIe x1 card for notebooks.

It’s Intel’s highest end card, which I hastily inserted into the X300. Interestingly enough, I encountered an issue with installing just any WLAN card in the X300—it appears that Lenovo has some built in BIOS protection which prevents installation of “unauthorized” WiFi cards. Fortunately, the adjacent mini PCIe slot (ostensibly intended for cellular WAN) has no such protection. However, I then noticed another problem—the card wouldn’t turn on.

Some more searching revealed the solution—pin 20 (wireless disable) needs to be taped over to signal the card that the wireless disable switch (which doesn’t exist, since this is the WAN port) is in the on position. A quick surgical application of tape, and the card worked perfectly—take that, Lenovo security. As an aside, what a completely pointless and trivial barrier this is—the Mini PCIe standard (and moreover WiFi notebook cards themselves with U.FL connectors) are designed to be completely and absolutely interchangeable. The notion that this provides any added security (when the adjacent slot is completely unguarded) or—even more absurd, convenience—is nothing short of a surrealist notion.

My second testing platform was a 2010 MacBook Pro, which has a 2x2:2 solution provided by a BCM4322 based design. Finally, a 2011 MacBook Pro with a BCM4331 based 3x3:3 solution was my last test platform.

I tested in four locations in my home which has a loft-like two level layout and cinder block construction. My office is upstairs and in a corner, where the AP sits on a shelf about 5 feet in the air resting in its normal operating position (marked AP). Normally I mount the Airport Extreme on the wall in the vertical position using an Air Mount wall bracket, but for testing I relocated everything to a shelf for ease of changing between multiple devices and drives.

The first position (marked 1) is inside the office and on a relatively standard wooden desk. The next test location (marked 2) is in the stairway on a metal desk made out of a conductive material (likely aluminum). Downstairs are locations 3 and 4. Location 3 is on a wooden coffee table, to emulate just using the device while watching TV, and Location 4 is the most challenging position in the house in the corner of the kitchen.

The downstairs living room and kitchen area has proven to have challenging and undesirable RF propagation characteristics with the AP in my office, as the signal must propagate through two cinder block walls and change elevation. In addition, the entire staircase is one solid piece of steel, with the middle portion almost a quarter inch thick. If you draw a line from the AP to location 4 it’s pretty obvious that the testing location is directly in a shadow cast by the huge staircase.

In reality, testing is best performed in an anechoic chamber or some other completely controlled environment, but alas I lack any access to one and thus we’ll have to go with a real-world environment instead. I also did as much of my testing as possible after midnight to cut down on spurious interference from neighboring APs. Luckily I’m not in a dense urban environment and interference isn’t much of an issue.

For testing, I configured the APs to use channels 11 and 157 for 2.4 and 5GHz respectively, separate 2.4 and 5GHz AP names for manual selection, and 40 MHz channels on 5GHz. As a reminder, Apple still doesn’t allow for the use of 40 MHz channels on 2.4GHz in order to not use so much spectrum that it degrades Bluetooth HID performance.

For testing network throughput, I settled on two different things. First is Apple File Protocol (AFP) which is easy enough to test by creating an AFP share on one computer and then transacting huge files and averaging network bandwidth. Because I lack additional Macs, I turned to a positively ancient 2GHz iMac G5 with 2GB of RAM running 10.5.8 that I fixed a while ago. Rest assured, the iMac G5 does have a 1 GigE port with jumbo frame support, and ample power to serve this purpose. Instead of installing an SSD to guarantee that the sluggish HDD wasn’t throttling AFP performance, I created a 1GB RAMdisk and shared it on the network. The RAMdisk can do around 300MB/s sustained reads and writes locally and almost 800 Mbps over ethernet, so we’re not artificially bottlenecked. For a test file, I used a 500MB zip of AVCHD video and some random huge PDFs.

The second test I settled on is the cross-platform, open source iperf which is a network tool for measuring TCP network throughput among a bunch of other things. I compiled iperf 2.0.5 from source on all three Macs (yes, even a PPC binary for the 10.5.8 iMac G5), and used a version in conjunction with Cygwin on the Windows based notebook. After some tuning in my office I settled on a 2MB TCP window for maximizing throughput.

When I set up this testing, I was interested in really three things. First, the Modulation Coding Scheme (MCS) being used at each location, which tells you the data rate of the wireless link and how many streams are in use. Second, the received power level to see if I could measure a difference thanks to the increased power in the newer generation routers. Finally, actual network throughput both up and down on the wireless link.

On the Macs, it’s easy enough to get both MCS and RSSI. You can either run:

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I

and look at the output, or option-click on the WiFi symbol.

On Windows, getting this information is a bit more challenging as you have to rely on the WLAN card maker supplying a utility that shows any good details. Intel doesn’t directly show RSSI unless you enable logging in the advanced statistics utility and cross-correlate with samples recorded every second or so, and this proved far too time consuming. For MCS, you have to abstract backwards from the rate shown in the wireless network connection status using a table.

Inside the Time Capsule WiFi Throughput and Range - Improved
Comments Locked

90 Comments

View All Comments

  • Jacob Marley - Saturday, August 6, 2011 - link

    On page 3...
    "Marvell 88E6350R 7 port GigE switch, with 5 physical interfaces, all of which support up to 10 KByte jumbo frames."

    So the hardware supports jumbo frames, but does the software?

    I have yet to find a home router that supports and enables jumbo frames at the switch level.

    Jumbo frames make no difference for internet bound traffic but it seems to make a big difference for LAN based large data transfers.
  • jay2901 - Saturday, August 6, 2011 - link

    brian,

    why do you use a separate box for nat? better firewall? curious as to what that device is...

    thanks.
  • Brian Klug - Sunday, August 7, 2011 - link

    I prefer the wealth of configuration options that going that route provides. Specifically software like Tomato, DD-WRT, or if you're really feeling daring, a FreeBSD based solution with a PHP wrapper like m0n0wall or pfSense.

    Just a ton more options for firewall, reporting, bandwidth tracking, QoS, e.t.c.

    -Brian
  • danacee - Saturday, August 6, 2011 - link

    Use D-link, or if you really have to Netgear.. Although only D-link I know for sure makes 5/2.4ghz N routers that never EVER have to reset and run for years. Netgear I've only seen that sort of reliability with their Wireless G routers

    Linksys is rotten filthy garbage just like everything else Cisco makes, avoid it. They've not made a single wireless router in the past 2 years that doesn't shit itself and need a reset nearly every day.

    -Your helpful networking tech.
  • thingi - Sunday, August 7, 2011 - link

    Apple infuriate me sometimes. It would appear that the 'new' time capsule still can't join a wireless network without it's Ethernet ports becoming being disabled if nothing has changed apart from the wifi card :-(

    My iPhone is my only source of net connection which is 80Gb (yes thats eight-zero gigabytes) of 'fair usage' per month which is oodles for a 3G connection so here's what I want to do:-

    'iPhone Personal Hotspot' > Time Capsule > Airport Express (wifi-to-eth) > xbox

    The trouble is that when a time capsule joins a network it's ethernet ports fall asleep. So instead I have to do the following:-

    'iPhone Personal Hotspot' > Airport Express (wfi-to-eth) > Time Capsule > 2nd Airport Express (wfi-to-eth) > xbox.

    The really stupid thing is that a Time Capsule is more powerful piece of network equipment than an airport express, there is no reason why the ethernet ports should fall asleep just because Apple have deemed that users must connect a Time Capsule directly with an iPhone personal hotspot without crippling it.

    The other slightly annoying thing about this setup is that Apple in their infinite wisdom have deemed to force iPhone personal hotspots to set up a 'g' connection instead of an 'n' one (ok it would still be an 2.4Ghz due to the iPhone radio but that would be better than being stuck at 'g' for no good reason in a totally 'g' saturated neighbourhood!

    thingi
  • repoman27 - Monday, August 8, 2011 - link

    When you tell an AirPort Express / Extreme or Time Capsule to "Join a wireless network" it becomes a client on that network and ceases to perform as a router. This is really only useful to share attached USB or audio devices wirelessly.

    When you enable Personal Hotspot on an iPhone 4, it creates a wireless network (802.11n (b/g compatible), 2.4 GHz band, single spatial stream, WPA encryption) and provides DHCP and NAT to share your cellular internet connection. 802.11n connections are actually possible according to this article: http://www.anandtech.com/show/4163/verizon-iphone-... but if you're in a neighborhood where 2.4 GHz is saturated, as many are, there's not much you can do about it. Not many phones have 5 GHz WiFi radios these days.

    If you just want to provide an internet connection for your Xbox, the simplest solution is to buy a WiFi adapter for it and configure that to connect to your iPhone's Personal Hotspot. In order to bridge your Personal Hotspot to your wired network, you would have to set your Time Capsule's Internet Connection: Connection Sharing setting to "Off (Bridge Mode)", set the Wireless: Wireless Mode setting to "Extend a wireless network", and then choose your Personal Hotspot as the network to extend. For various reasons, I'm going to guess that this will never work though. Besides, the iPhone Personal Hotspot only supports a maximum of 3 (GSM models) or 5 (CDMA models) clients via WiFi, so you can't really have much else on your LAN unless you put it behind yet another router.

    It might be easier to tether your iPhone via USB to a Mac or PC, turn on internet connection sharing over the ethernet adapter, and then connect that to a Time Capsule set to bridge mode.
  • ginghus_khan2000 - Sunday, August 7, 2011 - link

    I was a little surprised you didn't test the wifi and hard drives as a system. I'm sure the wifi is the limiting protocol here but there were a few spots where wifi would be faster than the hard drives.
  • stephenbrooks - Sunday, August 7, 2011 - link

    Can you stack the two Airport Extremes on their side and put the Time Capsule across the top?
  • Brian Klug - Sunday, August 7, 2011 - link

    Wow, that's an awesome idea. I'm going to see if I can set it up ;)

    -Brian
  • deadshort - Sunday, August 7, 2011 - link

    Fantastic: thanks for doing that! Spread the word!

    If the main motherboard and chipset are the same, I guess it stands to reason that a more powerful radio would take a bit more power. ~250 Wh/day, or about 5% of my fairly careless daily consumption, is worth knowing but not worrying about.

Log in

Don't have an account? Sign up now