2

I'm trying to interpret my WLAN speeds. I'm running an Asus RT-N16 router and a couple of WLAN machines within 10 or so meters from the router.

Here's the router output:

root@XXX:/tmp/home/root# wl status
SSID: "XXXN"
Mode: Managed   RSSI: 0 dBm     noise: -81 dBm  Channel: 9
BSSID: 48:5B:39:42:B9:AF        Capability: ESS ShortSlot
Supported Rates: [ 5.5(b) 6 9 11(b) 12 18 24 36 48 54 ]
802.11N Capable:
        Chanspec: 2.4GHz channel 9 40MHz (0x2e09)
        Control channel: 11
        802.11N Capabilities:
        Supported MCS : [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 32 ]

WLAN computers show RSSI of around -36.

Router -> WLAN test:

iperf -c 192.168.1.2 -i2 -t100
------------------------------------------------------------
Client connecting to 192.168.1.2, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------
[  5] local 192.168.1.1 port 44516 connected with 192.168.1.2 port 5001
[ ID] Interval       Transfer     Bandwidth
[  5]  0.0- 2.0 sec  14.2 MBytes  59.4 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  5]  2.0- 4.0 sec  15.2 MBytes  63.9 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  5]  4.0- 6.0 sec  15.3 MBytes  64.2 Mbits/sec

WLAN -> Router test:

iperf -c 192.168.1.1 -i2 -t100 -w 16KB
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 16.0 KByte
------------------------------------------------------------
[156] local 192.168.1.2 port 49278 connected with 192.168.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[156]  0.0- 2.0 sec  3.35 MBytes  14.1 Mbits/sec
[156]  2.0- 4.0 sec  3.63 MBytes  15.2 Mbits/sec
[156]  4.0- 6.0 sec  3.57 MBytes  15.0 Mbits/sec

And with default TCP window size:

iperf -c 192.168.1.1 -i2 -t100
------------------------------------------------------------
Client connecting to 192.168.1.1, TCP port 5001
TCP window size: 8.00 KByte (default)
------------------------------------------------------------
[156] local 192.168.1.2 port 49172 connected with 192.168.1.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[156]  0.0- 2.0 sec  5.29 MBytes  22.2 Mbits/sec
[156]  2.0- 4.0 sec  6.63 MBytes  27.8 Mbits/sec
[156]  4.0- 6.0 sec  5.77 MBytes  24.2 Mbits/sec

And here are my questions:

  1. Don't these speeds seem abysmal?

  2. Why would Router -> WLAN and WLAN -> Router speeds differ?

  3. Why is router's TCP window size 16KB and WLAN's 8KB?
    Switching to 16KB on WLAN reduces speeds, why?

2 Answers 2

3
  1. Yes, with the possible exception of the ~60 mbit/sec number, those numbers seem needlessly low.

  2. Asymmetric speeds could be due to any number of factors.

    For instance, maybe your router has a high noise floor so it lacks receive sensitivity. Actually, wow, noise of -81 dBm? If you have access to a faraday cage or another way to guarantee that you have NO 2.4GHz RF sources around, it would be interesting to see what your router reports its noise floor as. -81dBm is pretty high. Usually 802.11 radios are sensitive down to -95 dBm. Decibels are a logarithmic scale, and every 3 dB is a doubling of power, so this -81 dBm noise reading indicates that your noise level is something like 30x higher than what your AP's radio might be able to receive without the noise.

    Asymmetric speeds could also be due to bugs in the wireless drivers, or differing buffering strategies in the respective TCP stacks, or iPerf on the router not getting enough CPU time on the router's dinky CPU.

  3. My TCP window calculations suggest that on a typical home "300mbit/sec" 802.11n network, your optimal window size should be closer to 64KBytes, not any of this 8-16KB nonsense. Your router may have very limited RAM to keep costs down, so they might be being stingy with how much RAM the TCP stack in the kernel is allowed to use.

Suggestions:

  • Re-run these iPerf tests between a WLAN client and a wired Ethernet LAN client. Wi-Fi routers can often bridge between WLAN and LAN faster than they can be a TCP endpoint.
  • Use 64KB TCP windows.
  • Check the MCS index (Tx signaling rate), RSSI (received signal strength), and noise on the WLAN client during the test. If you're 10m away non-line-of-sight, it's possible you're not getting the 300mbit/sec rate (MCS 15, short GI, HT40), so you shouldn't expect 150mbit/sec iPerf TCP throughputs in that case. If you're getting a Tx rate like 120mbit/sec, then given the rule-of-thumb Wi-Fi overhead of 50%, your 60mbit/sec rate you see in the one direction seems reasonable.
  • Eliminate other sources of 2.4GHz interference, such as Bluetooth, cordless phones (some "5.8GHz" cordless phones are only 5.8GHz from base -> handset; handset -> base still goes 2.4GHz), wireless controllers for game consoles, wireless keyboard/mice, wireless webcams/security cams, wireless A/V transmitters, baby monitors, et cetera. Doing HT40 (40MHz channels) in the 2.4GHz ISM band uses up almost all of the band, so other users are more likely to collide with you. Apple's 802.11n products purposely limit themselves to 20MHz transmission in 2.4GHz because they want Bluetooth to still be able to work reasonably well.
  • Consider returning/selling your 802.11b/g/n (2.4GHz-only) router and getting a simultaneous dual-band router. That way you can do HT40 802.11n in 5GHz where it's less congested.
  • Beware that you're not just using channel 11. Because you're in HT40 40MHz ("double-wide") channel mode, your control channel is 11, but your extension channel is 7. So when you're transmitting in HT40 mode, and because of the way all the Wi-Fi channels in the 2.4GHz ISM band overlap, you're fully using channels 11, 10, 9, 8, and 7, and overlapping major parts of channels 6 and 5 (plus parts of 12 and 13 if you're in a regulatory domain that allows those channels), and minor parts of 4 and 3. The only channels you're not impacting are 2 and 1.
  • Make sure your AP isn't trying to use 802.11n Greenfield mode when there are legacy B or G clients around. N's Greenfield mode allows N devices to get a little extra throughput by sacrificing the legacy-rate preamble that allows legacy clients to know when N clients are on the air. If you try to use Greenfield mode when there are legacy clients around, the legacy clients will accidentally stomp on your transmissions. Consider using an 802.11 sniffer / packet analyzer such as Wireshark to analyze the beacons from your AP to make sure it's not advertising Greenfield mode.
3
  • Thanks. I was testing this between AP (my ASUS router running TomatoUSB firmware and connected to the cable modem) and a WLAN client (Windows 7 machine). Setting 64KB window size in Windows 7 gives a BSOD after a couple of seconds of testing but I do get over 60mbps. TX rate as it shows on the router for the WLAN client is 300. Now this would be difficult since the apartment building is already crowded with APs, although not that many on 11th channel. I do have 2 bluetooth mice on computers about 3 meters away from the router. Also, the router is in the corner of the room,
    – user74042
    Mar 29, 2011 at 20:17
  • @MarkL Thanks for the update. I'm disappointed that Win7 BSOD'd so quickly just from running a decent TCP window size. I wonder if it was your wireless driver that caused it, as opposed to a kernel or TCP/IP stack problem. Also, based on your comment, I've added a bullet item about how you're not just using channel 11, you're affecting every channel except 1 and 2.
    – Spiff
    Mar 29, 2011 at 22:43
  • @MarkL I had one more thought, so I added a note about avoiding Greenfield mode if there are legacy clients around. Also, don't forget to go to your account preferences to associate your SuperUser and ServerFault accounts so you can take control of this question and get +100 rep.
    – Spiff
    Mar 31, 2011 at 1:00
0

On 108Mbps wifi, 60Mbps is roughly what I'd expect to see. Probably pretty normal at a glance.

6
  • comment by MarkL - @Jonathan: this is an N router, so speeds should be more than 108Mbps, no?
    – Sathyajith Bhat
    Mar 29, 2011 at 17:00
  • @MarkL is right. It's 40MHz channels because it's HT40 802.11n, not some proprietary channel-bonded "Super G 108" thing.
    – Spiff
    Mar 29, 2011 at 17:04
  • 1
    With SGI enabled, the theoretical max is only 150Mbps; less 10% for normal operation; less 20% for IP overhead; less 5-50% for environmental noise... 60Mb sounds pretty good to me. Wireless for convenience; wired for speed. Also, 6 seconds of testing is a very short time, I'd expect to see some wild variation with that time frame.
    – Chris S
    Mar 29, 2011 at 17:27
  • @Chris S Your 150mbit/sec speed would be right for HT20 or a single spacial stream. But @MarkL's AP is doing HT40 with two spacial streams, so, assuming his WLAN client NIC is also capable of HT40 2SS in 2.4GHz, his theoretical max is 300mbit/sec.
    – Spiff
    Mar 29, 2011 at 17:56
  • @Spiff, was just looking at a reference sheet and it says 802.11n-2009 HT40 1SS 64QAM 5/6 maxes at 150Mbps. That's with a single spacial stream, with dual you get 300; there's also tripple at 450 and quad at 600Mbps. I'd venture a guess he's suck in 1SS.
    – Chris S
    Mar 29, 2011 at 19:11

You must log in to answer this question.