Intel® Dual Band Wireless-AC 3160 has inconsistent connection
So, I got a new Toshiba L50-B-103 (Windows 8.1 64-bit, specs) which comes in with the wireless card indicated in the title, Intel® Dual Band Wireless-AC 3160. I use this computer mainly for gaming, and I've noticed that the connection doesn't seem too stable as, every now and then, the connection stutters for a second, causing in-game lag.
Because I lack knowledge of the proper software to diagnose these issues, the only things I can say about the issue, when it happens, are:
- TeamSpeak connection quality reports an increase by 800% (!) in the latency, and the packet loss increases to 30% (note: the server is located on my LAN, so the ping is usually 1 to 2 ms);
- Online games report ping increase as well, and may show that the connection is loss for the second (CS:GO, LoL).
- Web browsing simply hangs for a couple seconds (YouTube suddenly stops buffering, Facebook loses connection to the server).
The connection is always strong and I'm located in a room with no other electronic devices (to avoid interferences), no farther than 2 meters from the router.
I've tried updating the BIOS, updating the drivers from Toshiba (which has the policy of publishing the drivers for their own machines), updating the drivers directly from Intel (which were clearly more recent, despite not solving the issue), changing routers and replacing the laptop.
My main router is a Hitron BVW-3653, which is the ISP modem as well. The second one is a SMCWBR14-GR, which was used getting the Hitron into bridge mode and stopping all its router activity.
I have more machines in my network, namely a Toshiba L650-11E (Windows 7 Home Premium 64-bit, with the wireless card being BCM2070 integrated in BCM94313), and it has literally 0 problems with the connection.
I'd like some help as where should I start to solve this problem, like any actual software to extensively diagnose the connection (and do the same to the other machine, to have a comparison), or, if not possible, a different approach to the problem (getting a new ac router due to incompabilities--merely speculation).
Thanks in advance.
Short summary
The lags and interruptions appear to be associated with background scanning by the wireless card. Background scanning is a normal process and occurs on all cards but it should not be noticeable and definitely should not be causing packet loss.
The duration and impact of said scanning varies according to operating system, driver, access point, and card parameters. In most cases this results in a few tens of milliseconds of latency every X minutes. In worse cases with certain cards, drivers, and infrastructure, such as in the OPs case, the scans can cause noticeable connectivity issues and packet loss.
In these cases it may be beneficial to switch off this feature (see below). This is not without drawbacks as it can cause other problems as a result.
Background Scanning
Wireless scanning can be triggered by Windows, the wireless driver, or another application. The scan is done both to refresh the active networks list, as well as scan for the existence of other networks or stronger signals to switch to.
Windows may scan for more preferred networks, even if your signal is perfectly strong, as you may have other networks with higher configured priorities which overrides signal strength. The network driver will search for stronger signals periodically, and more often under weak signal conditions. The frequency of searching and switching can sometimes be modified by driver setting such as "Roaming aggressiveness" on Intel drivers under Windows. Under Linux, the wireless supplicants can also control this behaviour.
Basics of how it works
In order to do a scan, the wireless radio has to stop listening to the current network and physically switch to listening on a different channel, for every channel that it is capable of using. For example if your network is on channel 6, your wireless card will tell the active network to pause transmissions, switch to channel 1, listen for a fraction of a second to check for networks, then switch back to channel 6 to receive any data that has been buffered during that period. It then has to repeat this for every other channel it can use. These switches are a very quick (fractions of a second) so as to not interrupt your connection completely, but does result in slowdowns because no data can be transmitted while it is scanning other channels. Different cards listen for different periods, depending on the card's hardware capabilities and driver design. Some may listen for >100ms, the most common 802.11 beacon interval, some may split this into 2x50ms slots or 10x10ms slots, etc. Some cards can use wideband (V)HT tuners to search multiple channels at a time. The process typically lasts a few seconds.
Background scanning should not cause any instability, disconnections, stuttering, or packet loss. However, to put it bluntly, some cards are worse at it than others. Some routers and APs do not have proper implementations of the pause transmission commands. These, plus many other factors cause your mileage to vary.
In the OP's case, the ping log indicates scanning is occurring exactly every 10 minutes and causing around 0.3s of delay:
So, played a short game. I noticed it happening twice only, but apparently there was one other time. It is logged on Pastebin and happens around lines 273, 876 and 1480. – Rafael Damasceno Aug 12 '14 at 19:51
However, the OP also states getting 30% packet loss in Teamspeak and disconnections in Skype, which should not be happening. The log provided, unfortunately does not show any evidence of this occurring during the test period as there is no packet loss indicated. Consequently, the log itself is inconclusive - this particular log shows background scans are occurring normally and does not show any actual problems.
Disabling Background Scans
The following information applies solely to Windows:
If your particular environment has problems due to background scanning, you may consider switching it off. You can get an idea if there is a problem by doing the same diagnostic as above (ping -t
). If your result shows several lines of "Request timed out" at periodic intervals, possibly surrounded by a few lines of increased ping, your issue may be related. If your result looks the same as the OP's with no packet loss, it does not confirm this issue.
Switching off background scanning can prevent wireless roaming from working. Indeed, it will prevent any functionality that relies on background scans from working. These include, but are not limited to:
- Switching to networks with a stronger signal
- Switching to networks that you have set to a higher priority
- Switching between bands on the same network
- Switching to a stronger signal as you move around a building
- Switching to less busy access points or channels to improve performance
Most of these will only affect you if you have multiple overlapping networks (with or without the same SSID), typically corporate networks with multiple APs. It can also affect home users who have routers that intelligently switch channels to avoid interference - when your router switches channel, you will be disconnected if background scanning is disabled.
With that in mind, for most home users it should not be a big problem. The procedure to do this is as follows (Taken from Rafael Damasceno's own post):
- Run Regedit
- Navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{4d36e972-e325-11ce-bfc1-08002be10318}
- Locate the subfolder path that has the correct AdapterModel
- In that subfolder, create a new REG_DWORD key named ScanWhenAssociated, and set its value to 0.
(More information here: https://forums.lenovo.com/t5/Windows-8-and-8-1/SOLUTION-latency-spikes-and-network-unstability-on-Intel-WLAN/m-p/1461523/highlight/true#M5273)
I've solved the issue by adding a "ScanWhenAssociated" key in the registry that disables background scans when you are connected to a network.
Navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}
Next, locate the children path that has the correct AdapterModel
. In that path, create a new REG_DWORD
key named ScanWhenAssociated
, and set its value to 0
.
Restart the computer and the issues will be mitigated.
Source: https://forums.lenovo.com/t5/Windows-8-and-8-1/SOLUTION-latency-spikes-and-network-unstability-on-Intel-WLAN/m-p/1461523/highlight/true#M5273