Why are all my wireless connections—Mac or PC—regularly severely degraded for a couple of seconds?

1

I just bought a new router, and it was pretty expensive (ASUS RT-AC66U). I soon realized that wireless connections to it, over both 2.4GHz and 5GHz, were pretty bad. The results are similar from Mac or a PC. A typical ping session looks like this (over 2 minutes, interval 1 second):

PING 192.168.1.1 (192.168.1.1): 56 data bytes
64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=2.190 ms
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=3.985 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=4.155 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.375 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=1.541 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=8.862 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=12.327 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=13.154 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=4.244 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=64 time=284.630 ms
64 bytes from 192.168.1.1: icmp_seq=10 ttl=64 time=301.342 ms
64 bytes from 192.168.1.1: icmp_seq=11 ttl=64 time=328.569 ms
64 bytes from 192.168.1.1: icmp_seq=12 ttl=64 time=10.168 ms
64 bytes from 192.168.1.1: icmp_seq=13 ttl=64 time=4.230 ms
64 bytes from 192.168.1.1: icmp_seq=14 ttl=64 time=1.207 ms
64 bytes from 192.168.1.1: icmp_seq=15 ttl=64 time=19.310 ms
64 bytes from 192.168.1.1: icmp_seq=16 ttl=64 time=4.040 ms
64 bytes from 192.168.1.1: icmp_seq=17 ttl=64 time=4.059 ms
64 bytes from 192.168.1.1: icmp_seq=18 ttl=64 time=4.233 ms
64 bytes from 192.168.1.1: icmp_seq=19 ttl=64 time=1.642 ms
64 bytes from 192.168.1.1: icmp_seq=20 ttl=64 time=1.593 ms
64 bytes from 192.168.1.1: icmp_seq=21 ttl=64 time=4.049 ms
64 bytes from 192.168.1.1: icmp_seq=22 ttl=64 time=4.223 ms
64 bytes from 192.168.1.1: icmp_seq=23 ttl=64 time=4.136 ms
64 bytes from 192.168.1.1: icmp_seq=24 ttl=64 time=1.277 ms
64 bytes from 192.168.1.1: icmp_seq=25 ttl=64 time=3.088 ms
64 bytes from 192.168.1.1: icmp_seq=26 ttl=64 time=4.268 ms
64 bytes from 192.168.1.1: icmp_seq=27 ttl=64 time=13.463 ms
64 bytes from 192.168.1.1: icmp_seq=28 ttl=64 time=4.167 ms
64 bytes from 192.168.1.1: icmp_seq=29 ttl=64 time=3.606 ms
64 bytes from 192.168.1.1: icmp_seq=30 ttl=64 time=2.931 ms
64 bytes from 192.168.1.1: icmp_seq=31 ttl=64 time=4.184 ms
64 bytes from 192.168.1.1: icmp_seq=32 ttl=64 time=4.071 ms
64 bytes from 192.168.1.1: icmp_seq=33 ttl=64 time=201.332 ms
64 bytes from 192.168.1.1: icmp_seq=34 ttl=64 time=218.367 ms
64 bytes from 192.168.1.1: icmp_seq=35 ttl=64 time=247.544 ms
64 bytes from 192.168.1.1: icmp_seq=36 ttl=64 time=57.321 ms
64 bytes from 192.168.1.1: icmp_seq=37 ttl=64 time=13.694 ms
64 bytes from 192.168.1.1: icmp_seq=38 ttl=64 time=3.918 ms
64 bytes from 192.168.1.1: icmp_seq=39 ttl=64 time=2.748 ms
64 bytes from 192.168.1.1: icmp_seq=40 ttl=64 time=1.839 ms
64 bytes from 192.168.1.1: icmp_seq=41 ttl=64 time=4.141 ms
64 bytes from 192.168.1.1: icmp_seq=42 ttl=64 time=3.919 ms
64 bytes from 192.168.1.1: icmp_seq=43 ttl=64 time=4.114 ms
64 bytes from 192.168.1.1: icmp_seq=44 ttl=64 time=1.316 ms
64 bytes from 192.168.1.1: icmp_seq=45 ttl=64 time=2.634 ms
64 bytes from 192.168.1.1: icmp_seq=46 ttl=64 time=10.943 ms
64 bytes from 192.168.1.1: icmp_seq=47 ttl=64 time=144.553 ms
64 bytes from 192.168.1.1: icmp_seq=48 ttl=64 time=158.767 ms
64 bytes from 192.168.1.1: icmp_seq=49 ttl=64 time=865.861 ms
64 bytes from 192.168.1.1: icmp_seq=50 ttl=64 time=1.009 ms
64 bytes from 192.168.1.1: icmp_seq=51 ttl=64 time=1.281 ms
64 bytes from 192.168.1.1: icmp_seq=52 ttl=64 time=1.199 ms
64 bytes from 192.168.1.1: icmp_seq=53 ttl=64 time=4.212 ms
64 bytes from 192.168.1.1: icmp_seq=54 ttl=64 time=1.714 ms
64 bytes from 192.168.1.1: icmp_seq=55 ttl=64 time=4.053 ms
64 bytes from 192.168.1.1: icmp_seq=56 ttl=64 time=21.046 ms
64 bytes from 192.168.1.1: icmp_seq=57 ttl=64 time=13.619 ms
64 bytes from 192.168.1.1: icmp_seq=58 ttl=64 time=14.630 ms
64 bytes from 192.168.1.1: icmp_seq=59 ttl=64 time=3.883 ms
64 bytes from 192.168.1.1: icmp_seq=60 ttl=64 time=4.119 ms
64 bytes from 192.168.1.1: icmp_seq=61 ttl=64 time=1.196 ms
64 bytes from 192.168.1.1: icmp_seq=62 ttl=64 time=4.048 ms
64 bytes from 192.168.1.1: icmp_seq=63 ttl=64 time=1.028 ms
64 bytes from 192.168.1.1: icmp_seq=64 ttl=64 time=1.116 ms
64 bytes from 192.168.1.1: icmp_seq=65 ttl=64 time=4.039 ms
64 bytes from 192.168.1.1: icmp_seq=66 ttl=64 time=16.272 ms
64 bytes from 192.168.1.1: icmp_seq=67 ttl=64 time=9.359 ms
64 bytes from 192.168.1.1: icmp_seq=68 ttl=64 time=29.070 ms
64 bytes from 192.168.1.1: icmp_seq=69 ttl=64 time=1.125 ms
64 bytes from 192.168.1.1: icmp_seq=70 ttl=64 time=3.871 ms
64 bytes from 192.168.1.1: icmp_seq=71 ttl=64 time=110.853 ms
64 bytes from 192.168.1.1: icmp_seq=72 ttl=64 time=131.584 ms
64 bytes from 192.168.1.1: icmp_seq=73 ttl=64 time=154.010 ms
64 bytes from 192.168.1.1: icmp_seq=74 ttl=64 time=1.178 ms
64 bytes from 192.168.1.1: icmp_seq=75 ttl=64 time=4.243 ms
64 bytes from 192.168.1.1: icmp_seq=76 ttl=64 time=9.988 ms
64 bytes from 192.168.1.1: icmp_seq=77 ttl=64 time=5.705 ms
64 bytes from 192.168.1.1: icmp_seq=78 ttl=64 time=19.701 ms
64 bytes from 192.168.1.1: icmp_seq=79 ttl=64 time=18.000 ms
64 bytes from 192.168.1.1: icmp_seq=80 ttl=64 time=3.954 ms
64 bytes from 192.168.1.1: icmp_seq=81 ttl=64 time=4.209 ms
64 bytes from 192.168.1.1: icmp_seq=82 ttl=64 time=1.173 ms
64 bytes from 192.168.1.1: icmp_seq=83 ttl=64 time=4.098 ms
64 bytes from 192.168.1.1: icmp_seq=84 ttl=64 time=3.956 ms
64 bytes from 192.168.1.1: icmp_seq=85 ttl=64 time=4.100 ms
64 bytes from 192.168.1.1: icmp_seq=86 ttl=64 time=16.471 ms
64 bytes from 192.168.1.1: icmp_seq=87 ttl=64 time=1.033 ms
64 bytes from 192.168.1.1: icmp_seq=88 ttl=64 time=4.681 ms
64 bytes from 192.168.1.1: icmp_seq=89 ttl=64 time=3.924 ms
64 bytes from 192.168.1.1: icmp_seq=90 ttl=64 time=4.040 ms
64 bytes from 192.168.1.1: icmp_seq=91 ttl=64 time=1.603 ms
64 bytes from 192.168.1.1: icmp_seq=92 ttl=64 time=1.626 ms
64 bytes from 192.168.1.1: icmp_seq=93 ttl=64 time=4.064 ms
64 bytes from 192.168.1.1: icmp_seq=94 ttl=64 time=3.708 ms
64 bytes from 192.168.1.1: icmp_seq=95 ttl=64 time=46.434 ms
Request timeout for icmp_seq 96
64 bytes from 192.168.1.1: icmp_seq=96 ttl=64 time=1104.146 ms
64 bytes from 192.168.1.1: icmp_seq=97 ttl=64 time=794.081 ms
64 bytes from 192.168.1.1: icmp_seq=98 ttl=64 time=1.135 ms
64 bytes from 192.168.1.1: icmp_seq=99 ttl=64 time=3.810 ms
64 bytes from 192.168.1.1: icmp_seq=100 ttl=64 time=3.683 ms
64 bytes from 192.168.1.1: icmp_seq=101 ttl=64 time=4.350 ms
64 bytes from 192.168.1.1: icmp_seq=102 ttl=64 time=4.148 ms
64 bytes from 192.168.1.1: icmp_seq=103 ttl=64 time=3.907 ms
64 bytes from 192.168.1.1: icmp_seq=104 ttl=64 time=3.768 ms
64 bytes from 192.168.1.1: icmp_seq=105 ttl=64 time=1.644 ms
64 bytes from 192.168.1.1: icmp_seq=106 ttl=64 time=7.536 ms
64 bytes from 192.168.1.1: icmp_seq=107 ttl=64 time=7.881 ms
64 bytes from 192.168.1.1: icmp_seq=108 ttl=64 time=3.987 ms
64 bytes from 192.168.1.1: icmp_seq=109 ttl=64 time=1.364 ms
64 bytes from 192.168.1.1: icmp_seq=110 ttl=64 time=1.251 ms
64 bytes from 192.168.1.1: icmp_seq=111 ttl=64 time=1.632 ms
64 bytes from 192.168.1.1: icmp_seq=112 ttl=64 time=4.191 ms
64 bytes from 192.168.1.1: icmp_seq=113 ttl=64 time=4.285 ms
64 bytes from 192.168.1.1: icmp_seq=114 ttl=64 time=3.966 ms
64 bytes from 192.168.1.1: icmp_seq=115 ttl=64 time=1.419 ms
64 bytes from 192.168.1.1: icmp_seq=116 ttl=64 time=108.544 ms
64 bytes from 192.168.1.1: icmp_seq=117 ttl=64 time=52.418 ms
64 bytes from 192.168.1.1: icmp_seq=118 ttl=64 time=3.854 ms
64 bytes from 192.168.1.1: icmp_seq=119 ttl=64 time=486.287 ms

--- 192.168.1.1 ping statistics ---
120 packets transmitted, 120 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 1.009/52.774/1104.146/159.580 ms

Every 10-20 seconds or so, the connection degrades horribly. The ping times can go above 1000ms (and there is often packet loss), and the bandwidth goes from over 70 MB/s to a crawl of a few hundred KB/s, or sometimes even 0 (tested with iperf3 using TCP and UDP).

I tried everything. I tried setting the 5GHz access point to 802.11ac-only and the 2.4GHz access point to 802.11n-only. I tried every channel and channel width for both access points. I tried disabling authentication. I tried installing the newest firmware, and I tried installing DD-WRT. Nothing made any difference.

It occurred to me that it might be outside interference. I tried connecting my MacBook to my phone with wireless hotspot enabled. The connection degraded regularly just like when connecting to the router. I have also tried connecting to my neighbor's wireless (2.4GHz) (with their permission of course) and the same happens there.

I have also confirmed all this using my brother’s Windows PC, so it's not the fault of my MacBook. For good measure I also tried shutting down everything in my apartment, including my own router, my TV, my wireless headset and all PCs. I also pulled the plug on my microwave and TV. It made no difference.

Does anybody have any idea what could be going on? It doesn't seem to matter which device is connecting to which other device, the same wireless connection degradation always happens. What kind of household equipment could cause this? What can I do to find out?

Hubro

Posted 2015-09-26T16:21:47.790

Reputation: 4 846

Can you rule out localized interference by trying the same router and computer combination but in a different location (preferably far away)? – Nate Barbettini – 2015-09-26T16:51:11.530

1Baby monitor? Cordless phone? Neighbors' Wi-Fi networks? – DavidPostill – 2015-09-26T16:52:23.980

Also microwaves and similar equipments – ρss – 2015-09-26T16:56:34.637

@DavidPostill I just don't see how/why a baby monitor, cordless phone or neighbor's Wi-Fi would disrupt all channels of both 2.4Ghz and 5Ghz spectrum every 7-15 seconds – Hubro – 2015-09-26T20:56:49.350

Is 192.168.1.1 the address of the new RT-AC66U, or is it the address of an upstream gateway? If you plug in via Ethernet to a LAN port of the RT-AC66U and ping the same address, does the same problem happen? Oh, hey, maybe the 5GHz slowing you've seen was a different issue…try turning the 2.4GHz interface of the RT-AC66U completely off so interference on 2.4GHz can't screw with your RT-AC66U, and so you only join 5GHz, and run the same ping test. Do you get the same result? – Spiff – 2015-09-26T23:13:17.837

By the way, that ping actually shows no packet loss, and ping time fluctuations can be caused by 802.11 Power Save mode (without being indicative of actual network problems). In order to keep the radio from going into 802.11 power save mode, you need to ping at least once per beacon interval, which is typically a tenth of a second: sudo ping -i 0.1 192.168.1.1. – Spiff – 2015-09-26T23:24:49.873

@Spiff I tried pinging 10 times per second, and the problem persists. Also, would 802.11 go into Power Save mode in the middle of a high speed file transfer? I have tested with iperf3, transferring 70 MB/s over 5Ghz using UDP, and the speed slows to a crawl at the same times the ping spikes. The problem does not happen when connected with a cable, it only affects the wireless access points. 192.168.1.1 is the IP address of the Asus router. I have also already tried disabling one access point at a time, and it made no difference.

– Hubro – 2015-09-26T23:48:27.747

@Spiff I have now disabled 2.4Ghz, and for good measure I'm pinging with 0.05s intervals: http://pastebin.com/raw.php?i=dW757mJW

– Hubro – 2015-09-27T00:01:28.230

@Hubro Thanks for the updates. Yes, ping latency spikes aligned with file transfer problems rules out 802.11 power save mode. It seems like you've eliminated everything except for RF interference, but interference hitting both bands still seems unlikely. It would have to be pretty high powered to be hitting both bands. Unless someone has a malfunctioning Wi-Fi scanner that's spamming both brands. – Spiff – 2015-09-27T00:24:36.090

Let us continue this discussion in chat.

– Spiff – 2015-09-27T00:24:41.530

As you've discussed in chat this looks like wide spectrum interference. Are you near to any Taxi companys or similar that might operate a large transmitter? – Linef4ult – 2015-09-27T23:05:30.483

@Linef4ult Not that I know of, but whatever it is, it still degrades Wi-Fi connections ~30 meters away from my house. That's as far as I've tested so far. – Hubro – 2015-09-27T23:07:42.977

2.4 and 5Ghz are unregulated, BUT the space around them are usually licensed spectrum. Might be time to query it with the communication regulator in your country. – Linef4ult – 2015-09-27T23:11:53.450

No answers