Wireless Network Speed TweaksTips to improve wireless network speed and range
2014-10-29 (updated: 2016-10-20) by Philip
Wireless networking has become mainstream technology not only for sharing internet access, but also for printing, gaming, audio/video streaming, VoIP, CCTV, and other connected appliances/devices throughout many residences. The most widely used 2.4GHz spectrum has become increasingly congested from neighboring networks, cordless phones, and other connected devices. Network applications and media streaming are becoming increasingly bandwidth intensive. All this makes it necessary to be aware of the advantages of the different standards, interference in your area, and tweak your WiFi network for the best possible experience. We will try to highlight the main concepts in deploying a fast network with minimal interference, and tweaking your existing wireless equipment for better performance.
Have realistic expectations
First, you should have realistic expectations for wireless network performance. The theoretical maximum speeds for 802.11 Wi-Fi variants quote ideal conditions, combined transfers in both upstream and downstream directions and shared between all network devices. Real-life actual downstream speeds considering protocol overhead are in the 30-40% range of theoretical maximum speeds for wireless devices, you can find more information -here-. Also, please note that in data transfers, speed is measured in Megabits per second (Mbps), not Megabytes. For reference, see our bits/bytes conversion calculator. Also, the newest 802.11ac device manufacturers quote theoretical speeds that are combined over multiple radios, and multiple frequencies (both 5GHz and 2.4GHz). Transfer speeds to any one single device is just a fraction of the total combined theoretical speed in both directions for all clients in both frequency bands.
Chose the right equipment
Currently, there are two newer WiFi standards that dominate wireless networking: 802.11n (2.4GHz usually, 150-450 Mbps) and 802.11ac (5GHz, higher throughput). Both routers/access points and client devices must support the same standard to take full advantage of its speed. Even though most devices are backward-compatible with older WiFi standards (802.11g, 802.11b), using those standards by any one client may degrade the speed of your entire wireless network (while those older clients are active). Even though different WiFi devices can interoperate, for maximum performance and compatability you should use the same wireless standard over all devices on the network, and it may be beneficial to use the same brand routers/access points (where multiple access points are needed).
The newer 802.11ac standard operates in the 5GHz band, which is much less congested at the moment, offers 24 non-overlapping channels and has much higher throughput potential. However, 5GHz has lower wall penetration, and does not provide higher range than 2.4GHz. Some of its disadvantages are mitigated by using newer wireless technologies, such as, beamforming and MU-MIMO which makes the network more efficient and less noisy. All currently available 5GHz 802.11ac routers also include 802.11n 2.4GHz radios, so they provide for more flexible configuration options and splitting network load between both frequencies.
For 802.11ac devices, advertised network speeds are combined theoretical maximum send+receive speeds in both the 5GHz and 2.4GHz frequencies, which is not attainable in real-life testing, even less so while communicating to any one single client using one of the frequencies.
Avoid using repeaters: When the wireless network cannot be covered by a single router/access point, try to avoid using wireless extenders/repeaters, as they cut the wireless speed of the entire network by at least 50%. Use access points instead (or wireless routers configured as access point). The only disadvantage being, is that you need to have a network cable between your primary router/modem and the remote access point. If running an Ethernet cable between the primary router and an access point is not an option, look into Powerline, or MoCA network.
Keep devices away from each other to reduce interference
Most residential routers/access points/modems are not well shielded against radio and electromagnetic interference (RFI/EMI). They should be kept away (at least a couple of feet) from other modems/routers/switches, power supplies, computers, monitors, fans, fluorescent lights, printers, cordless phones, etc. As trivial as this may sound, it is important and often this single step (some pun intended) doubles the network speed of the device.
It is also important to keep wireless devices that transmit on the same, or overlapping channels away from each others' coverage area so that their signals do not interfere. When using both a wireless router, and wireless access points in the same network, for example, make sure to use different, non-overlapping channels.
Improve signal strength
When possible, it is best to place your wireless access point/router at an elevated position, close to the middle of the coverage area, or some approximation thereof. The device should be at least one foot away from any surface that may reflect or attenuate a significant portion of the signal, such as metal/foil insulation, wire-mesh stucco on exterior walls, etc. If installing near the edge of a building, there may be an advantage to using a directional antenna, or building a simple reflector using aluminum foil behind omnidirectional antennas to focus the signal. This is less of an issue with some newer 802.11ac wireless routers capable of beamforming with built-in phased arrays.
If your router/ap uses removable external antennas, another easy option to improve signal is simply replacing them with longer/stronger omnidirectional antennas.
Some routers, especially those using open source firmware (dd-wrt) can also increase the transmit (TX) power of the radio. It is important to note that increasing only the router/ap power does not guarantee better coverage, because a successful connection requires that client devices are able to acknowledge packets (transmit to the router) as well.
Increasing antenna gain gives you much more flexibility because you can do it either on the router/access point, the client, or both, and it amplifies both the transmitted and received signals. Changing antennas is not always trivial, however, as some newer devices use either internal antennas, or proprietary dual-band antennas that are not easily replaceable.
Use Uncongested Wireless Channels
Choosing a wireless channel that is clear of interference from other networks, cordless phones and other appliances in the area is by far the best tweak for your wireless network. In the 2.4 GHz range, there are generally 14 separate channels available, only the first 11 usable in the US. However, those 11 channels overlap, leaving only 3 separate distinct channels that do not interfere with each other: channels 1, 6, and 11. This is due to the fact that the center frequency of each channel is only 5MHz apart, and they are 22MHz wide, so there is some considerable overlap:
You should do a "wireless survey" of your network area to determine which channels are used by neighboring networks to be able to choose one that is at least couple of channels apart to be free of interference. Under Windows, the default list of wireless networks in range does not show their channels. You can, however do the following to get a list that includes channels under current versions of Windows:
1. Navigate to Start -> Run -> type: cmd to enter command prompt
Choose a channel that is at least a couple of channels apart from other neighboring networks, especially ones that have strong signals.
If you have an Android device, you may want to try an app that will give you a lot of information about available channels as well, just get "Wifi Analyzer" from Google Play. It will provide a good graphical interface of networks in range and their relative signal strengths.
Manually set the best channel. While some routers can be configured to automatically pick the best channel, we do not recommend to use that feature, as their algorithms are obscure, and we are yet to find one that works well. Most of them just default to channel 6, or fail to switch channels if conditions change at all. A much better option is to do a wireless survey, as described above and set the router to use that particular uncongested channel. This is especially true for the overcrowded 2.4GHz band.
Use different SSIDs and Channels
Many newer dual-band wireless routers offer the option to use the same SSID for both the 2.4GHz and 5Ghz frequency. We recommend to use different SSID names to be able to distinguish between both and make intelligent decisions on their use. If SSID names are left the same, dual-band cilents typically connect to whichever network they see first, then may automatically switch to another frequency at some point in time, and the user has no control over distributing clients to take advantage of the strengths of each band: higher throughput at shorter distances for 5GHz, and better wall penetration and extended range for 2.4GHz. This is why we recommend to use different SSIDs for 2.4GHz and 5GHz.
Multiple access points/wi-fi routers on the same network (and generally in the same coverage area) should be set to use different non-overlapping channels. This ensures that they do not interfere with each other. If you have two access points on the same network, they should be configured with the same SSID, same encryption/key, but on different non-overlapping channels. Clients will still be able to seamlessly switch between APs and connect to the stronger signal.
Only use channel bonding for strong signals
Many newer 802.11n routers support channel bonding, i.e. using 40MHz channels instead of the default 20MHz ones. In practice, this only works for strong signals and small distances. At longer ranges, channel bonding can actually reduce your network speed by 70%+! Simple throughput testing using both channel widths should be performed for your specific location and equipment if you want to try using it, otherwise, simply use the default 20MHz channel width. Note that you may have to manually switch off the "auto 20/40" bonding mode in some routers and wireless clients. This may be counter-intuitive, as the reported link speed may be half with channel bonding turned off, while having a faster and more stable connection.
Generally, wider channel widths introduce more natural noise in the system, and you need much better SNR for 40MHz channels. Because of this, 40MHz channels in the 2.4GHz spectrum only work well with very few clients, or in rural environments without much interference.
Use WPA2/AES Wireless Security
Wireless network security is essential. Older standards (WEP) are inefficient and insecure. While wireless security does introduce some small overhead on speed, it can easily be mitigated using newer wireless devices with faster hardware. WPA2/AES is the most secure, and efficient enough security encryption you should be using.
Most 802.11n Wi-Fi certified devices will slow down to 54 Mbps if you use WEP or WPA/TKIP security, since the 802.11n specs state that the higher throughput rates can't be enabled if either of those outdated security methods are being used.
Avoid using 802.11b/g client devices
802.11 wireless specs provide for backward-compatibility with older standards, such as 802.11b (11Mbps) and 802.11g (54Mbps). Avoid using such 802.11b/g clients, because they force the router/access point to slow down to their level and causes a considerable throughput hit while they're in use. Latest and greatest wireless router will only improve your network if paired with client devices that support those newer standards. If you introduce 802.11g/b devices, your 802.11n router will slow down by 50% to 80% to accommodate any legacy 802.11g/b clients (while they're actively transmitting/receiving).
It is ok to use 802.11n devices in an 802.11ac environment, since they use different radios and usually operate in different frequency ranges.
Make sure that WMM is enabled in your router or wireless access point. 802.11n specs require devices to support 802.11e (QoS enhancements for wireless LAN) in order to use high throughput link rates, i.e. higher than 54 Mbps! WMM is a subset of 802.11e that is key to aggregation mechanisms that enable 802.11n higher throughput rates. WMM is required for products to be certified for 802.11n.
WMM prioritizes wireless traffic according to four Access Categories (AC) - voice, video, best effort, and background. However it does not provide guaranteed throughput. It is suitable for simple QoS applications, such as VoIP. Note that WMM operation is limited to the local network, there is no implied QoS over the Internet.
No ACK - in QoS mode, service class for frames can have one of two states: QoS-Ack and QoS-NoAck. Frames marked with the QoSNoAck flag do not need to be acknowledged. This avoids retransmission of highly time-critical data. The WMM No ACK setting refers to this QoS mode, designed to improve performance mainly of video/voice traffic where retransmission of old dropped frames is not necessary. Acknowledgements are meant to ensure delivery, however they also introduce some overhead. Note that some mobile clients (Android ICS) may have trouble staying connected with WMM No Ack enabled, so we recommend leaving this setting disabled.
Note: Many 802.11n devices will only exceed 54Mbps with WMM enabled! WMM is also required for iPhones/iPads to connect in 802.11n mode.
Advanced Wireless Router Settings
Some Wi-Fi routers include various advanced fine-tuning settings that can seem cryptic at first glance. Here is a not so short list of such settings with details about them, along with our recommendations, where applicable.
Afterburner - Only used with Linksys devices that support the proprietary Linksys "Speedbooster" technology.
A-MSDU (Aggregated Mac Service Data Unit) - aggregates Ethernet frames under 802.11n/ac at the MAC layer for lower overhead. It allows for combining smaller frames with the same source and destination end points (and QoS traffic class) into one larger frame from 2304 bytes up to 7935 bytes. Larger frames are more prone to errors because of the single MAC header and CRC, and may be transferred at a lower negotiated rate. A common compromise between burst rate and reliability with many 802.11n access points is to use 1/2 A-MSDU frame size of 3839 bytes.
A-MPDU (Aggregated Mac Protocol Data Unit) - aggregates Ethernet frames under 802.11n/ac for lower overhead, alternative to A-MSDU. It is a chain of individual 802.11 frames of up to 64 kilobytes sent with one access to the medium (one preamble). The destination of aggregated packets must be the same, as well as the QoS traffic class. A-MPDU has more overhead than A-MSDU because it has individual PDU frame headers vs. one in A-MSDU. However, A-MPDU is also more reliable and results in fewer retransmissions, because each PDU frame has its own CRC; an error in one PDU does not affect others in the group. A-MPDU usually provides higher throughput because of fewer retransmissions, and it is preferred to A-MSDU in most real-world scenarios.
APSD Mode (Automatic Power Save Delivery) - Efficient power management method better than legacy 802.11 Power Save Polling. Most newer 802.11 access points support a power management mechanism similar to APSD.
AP Isolation - Insulates wireless clients on the network from each other (and from wired clients). They can still communicate with the AP, however they can't see each other on the network.
BCC vs LDPC (802.11n/ac) - On the hardware level, 802.11 packets are encoded using either Binary Convolutional Code (BCC) coding, or Low Density Parity Check (LDPC) coding. BCC is the default coding method used by the majority of 802.11n devices, LDPC is newer coding that is supported by some 802.11n, and part of the 802.11ac specs. When supported by all devices, LDPC coding offers 1-2dB gain and better data rates.
Beacon Interval - Sets the amount of time between beacon transmissions in milliseconds. A long interval can save power on sleeping clients, a short interval can improve connectivity in poor reception situations.
CTC Protection Mode - enables a mode which ensures 802.11b devices can connect when many 802.11g/n devices are present. Note that performance of 802.11g devices can suffer when enabled, turn off if you do not anticipate 802.11b clients.
Delayed Block ACK (Delayed BA, Delayed Block Acknowledgement) - block acknowledgement is a single ACK for multiple frames used in 801.11n Wi-Fi networks to achieve significant improvement in throughput. 802.11n allows up to 64 unacknowledged frames outstanding a tany time. There are two types of Block Acknowledgement (BA): Immediate BA and Delayed BA. Delayed BA support is optional in 802.11n. Delayed BA has similar effect to Nagle's Algorithm, as it allows unacknowledged data. You can turn it on for pure throughput in environments without much interference, turn off for gaming/reduced latency, or in noisy environments to reduce retransmissions.
DSSS-CCK (Direct Sequence Spread-Spectrum Complimentary Code Key) - it is an older standard used in legacy 802.11b devices, newer standards use OFDM. DSSS-CCK can be turned off if there is no need to support 802.11b.
DTIM Interval (Delivery Traffic Indication Messages) - Sets the amount of time in milliseconds between messages, which tells a client in power-saving mode when to expect the next broadcast message. It is usually set at 1-3 in modern router, with a valid range between 1-255. Setting it slightly higher than the default can potentially save power in battery-powered devices by allowing them longer sleep periods. Note, however that many time-sensitive apps cannot tolerate very high intervals, which may cause poor performance. Use caution with values over 5.
Enable CTF (Cut Through Forwarding) - CTF is Broadcom proprietary NAT acceleration. It is a software module that allows routers based on their hardware/firmware to achieve near-gigabit performance and lower CPU utilization through various methods, including bypassing parts of the Linux stack. It is a great feature to use, however there is a catch - it is only available when not using certain other incompatible features that need the Linux functionality (like QoS). You'd have to pick which feature you prefer by testing.
Fragmentation Threshold - Sets the maximum packet size in bytes before fragmenting into multiple packets. Increasing may help in the presence of high packet error rate. Making this value too small will reduce network performance.
Frame Burst - enabling frame burst wireless mode increases throughput, but it is only recommended for 1-2 wireless clients. Enabling with many concurrently connected clients reduces performance.
Greenfield - greenfield mode is a feature that is part of the 802.11n specification, designed to improve efficiency by eliminating support for 802.11a/b/g devices in a network where all the devices support 802.11n. By default 802.11n operates in "mixed" mode which transmits radio preamble and signal field that can be decoded by 802.11a/g radios. When greenfield mode is enabled, the network ignores all earlier standards. Note that some older 802.11n devices that are not fully compatible with the standard may experience some throughput issues with this enabled.
Inbound Layer 7 (Tomato firmware) - refers to the "application layer" in the OSI model. L7 Filters are a feature used to classify traffic in QoS classes. This L7 setting matches inbound traffic, and catches the results for later use by L7 Outbound filters. It can generally be left enabled unless experiencing problems with longer file transfers timing out and getting stuck before completing. Note that adding too many L7 filters to multiple classes may bog down your router.
Interference Mitigation - Attempts to mitigate the effects of interference from other electronic devices and APs in the area. It can be set to "Non-WLAN" if the primary suspected sources of interference are not other WLANs, but rather other electronic devices, such as cordless phones, microwaves, fluorescent lights, etc. "WLAN Manual" tries to mitigate interference from other Wireless LANs/APs in the area. "WLAN Auto" is similar to "WLAN Manual", however it only activates when it can actually see other Wireless APs transmitting. The Interference Mitigation feature has been responsible for much instability and poor throughput, we recommend not to use it unless absolutely necessary. In most cases it is better to pick and set your AP channel manually to reduce interference from other WLANs in the area.
Maximum Clients - a large number of allowed wireless clients reduces the maximum speed per client, and speed will degrade exponentially as they interfere with each other. Typical residential 802.11n APs can usually handle about 20-30 simultaneous clients before experiencing performance degradation. If you anticipate more clients, some dedicated SOHO/business class APs can handle double those numbers, and adding a second AP on a different channel is a good idea.
Maximum Connections (ip_conntrack_max) - this refers to the maximum number of open connections, keeping this between 2048 and 4096 is usually a good idea. Increasing this further can slightly slow down your router and increases CPU/memory usage. Reducing TCP Timeouts (discussed below) is usually a better option for recycling and reducing the number of open connections.
Preamble - selects long or short preamble (CRC error checking). Short may increase throughput slightly for strong signals without packet loss and VoIP, however, it is not recommended in longer-distance low-signal connections, in noisy wireless environments, and for compatibility with older 802.11b/g devices. Also see Greenfield mode.
Short Guide Intervals (SGI, Short GI) - part of 802.11n specs. The "guard interval" is normally 800ns, and represents time spacing between symbols to prevent inter-symbol interference (ISI). It is not to be confused with the space between packets, which is the inter-frame space (IFS). In standard wireless environments, where multipath can be an issue, the "guard interval" is by default 800ns. Turning on SGI can reduce that interval to 400ns. Only some vendors support SGI on 20MHz channels in the 2.4GHz spectrum. Turning on SGI can increase wireless data rate by 11% by reducing idle time in environments that are not very noisy. However, in noisy environments prone to multipath distortion, ISI would increase with SGI, reducing throughput. You'd have to test both SGI on and off to determine which gives you better throughput at your location. It is definitely worth testing with SGI with both 40MHz and 20MHz channels.
SMPS (802.11n) - Spatial Multiplexing Power Save mode (SMPS) allows a 802.11n station to power down all but one of its radios. SMPS is a mechanism designed to conserve power, with two sub-modes: dynamic, and static. SMPS can conserve power with some clients that are battery-operated (and support multiple streams), by reducing both throughput and power consumption.
STBC (Space-Time Block Coding) - A method of transmitting a single data stream across multiple antennas for additional transmission redundancy. Some routers may support this advanced setting, use at your discretion.
TTL Adjust (Miscellaneous Tomato firmware setting) - some router firmware allows for adjusting the TTL (Time To Live) setting in packets. TTL is normally reduced by one with each hop. This setting allows to adjust (-5 to +5) the TTL value in packets, the idea being that they wouldn't expire and be dropped prematurely. It is recommended to leave this alone (at the default of "none" or "zero"), as it just adds a bit of unnecessary overhead in processing of each packet.
Advanced dd-wrt Router Settings
In addition to choosing an uncongested channel/frequency, WPA2-AES and enabling WMM, you can further improve the quality of your wireless network by tweaking some advanced router settings, often only found in open-source firmware, such as dd-wrt. If you have already flashed dd-wrt on your router, take a look at the following:
Distance (ACK Timing) / Sensitivity Range - reducing this from the default 2000m to 200-300m will provide a cleaner wireless environment by dropping packets from other weak wireless networks that may be in the area. Reducing too much may cause problems with some mobile devices.
TX Power - bumping up transmit power (slightly) may improve signal. Be careful not to overcompensate, as increasing this a lot will stress/overheat your router and may put it outside the allowed FCC transmit power. It also amplifies noise together with signal.
TCP/UDP Timeout (P2P)
TCP Timeout - the default under dd-wrt and other open source firmware is 3600 seconds. Reducing this to 120-180 seconds decreases the number of connections left in WAIT state, freeing resources on your router. This is especially useful for busy network environments with many open connections, such as p2p applications.
UDP Timeout - similarly to the TCP timeout, this should be set lower to 30-90 seconds. UDP is not a lossless protocol and is typically used for media streaming and gaming. Timeouts can safely be set somewhat lower than TCP. Avoid lowering to less than ~30, especially if using VoIP.
Advanced Router TCP/UDP Timeout Settings
Some newer routers and third-party advanced open source firmware (Asus Merlin, Tomato firmware, etc.) give users access to a number of TCP/UDP timeout settings. We've listed them below, along with notes/recommendations. Traditionally, many SOHO routers have been plagued by problems related to the inability to track a large number of connections. This is usually due to hardware/firmware limitations, combined with less than optimal timeout settings and heavy use of many concurrent connections, such as P2P software, high number of clients, etc. Because of the affect those timeouts can have on your experience, please use caution when editing and departing from the defaults. Connection tracking (conntrack module) has considerable impact on consumed RAM for tracking the state of connections, using huge timeouts for connections that are not in the ESTABLISHED state is not recommended. Timeouts are usually measured in seconds.
TCP ESTABLISHED timeout: default is between 1200 in some routers, and up to 432000 seconds (5 days) in Linux. This depends on your hardware/network, it is hard to use a generic value. A value that is too short can interrupt a valid connection that is passing data. However, stale TCP connections that do not transfer data are somewhat common with Wi-Fi routers. 3600 seconds (1 hour) is usually a good compromise.
TCP SYN_SENT timeout (syn_sent): default is 120, recommended 60-120.
TCP SYN_RECEIVED timeout (syn_recv): default is 60, recommended 30-60.
TCP FIN_WAIT timeout: default is 120, recommended 60.
TCP TIME_WAIT timeout: default is 120, recommended 60.
TCP CLOSE timeout: default is 10
TCP CLOSE_WAIT: default is 60, can be lowered to 45.
TCP LAST_ACK timeout: default is 30
NAT Keep Alive interval: default usually 60. Keep this value above UDP Unreplied Timeout, and below UDP Assured Timeout!
UDP Assured Timeout: 180 - keep above the NAT Keep Alive interval to avoid VoIP issues. Valid values between 30-300. Tomato/Merlin firmware defaults to 180, which usually works well. It can be reduced safely to 120, if you prefer, but you may as well leave it at 180.
UDP Unreplied Timeout: 30 - default in Tomato/Merlin firmware is 30. Some suggest reducing to 10, however it may cause problems with some VoIP equipment, recommended to keep between 25-30.
Generic Timeout (Tomato firmware): default is 600 seconds, it can safely be reduced to 300 seconds. Many residential routers can be slowed down and struggle with a large number of open connections. Reducing timeouts can help alleviate some of these issues by freeing resources faster.
ICMP Timeout (Tomato firmware): default is 30 seconds, can safely be reduced to 15 seconds.
Notes: In general, lowering some of the more conservative timeouts a bit from the defaults helps reduce memory use and clears up unused connections faster to free up resources for processing of active connections. it can also solve issues with establishing VoIP calls, stale TCP connections, etc.
There are other possibilities if your firmware allows for using shell commands to tweak the Linux Netfilter, however, the above timeouts should be more than enough to keep the connection tracking table from exhaustion, even under heavy load.
Update router firmware
This step should only be attempted if there are security updates, if you are experiencing problems with performance, or need to add features to your router/access point. Often devices are pushed out early, with some of the more complex features omitted or buggy. If you buy the newest/fastest possible equipment it is sometimes necessary to update its firmware to a more stable one. There have been a number of security bugs/issues uncovered with some router models and older firmware. Specific information and update instructions should be obtained from the manufacturer.
Tweak network adapter settings
Understanding and tweaking some of the network adapter advanced settings can make a noticeable difference in your connection quality, both in a good and in a bad way.
Turn on "Checksum offload"
If there is one thing you should take away from this article, is that interference is the worst enemy of wireless network range/throughput. It could be interference from nearby devices (RFI/EMI), or networks on overlapping channels. If you can reduce interference, and use 802.11n or newer clients, those simple steps should take you most of the way to having a trouble-free wireless network environment. When buying new routers/access points, opt for the newest 802.11ac standard, as it offers many advantages, such as 24 non-overlapping 40MHz channels in the 5GHz band, beam forming, up to 8 spatial streams, MU-MIMO, etc. in addition to the 802.11n radio that makes them backward-compatible. Avoid using wireless repeaters, and declutter your Wi-Fi traffic by using wired Ethernet for most bandwidth-hungry tasks like video-streaming (HTPC), P2P, and network-attached storage (NAS), when possible.