R7800 terrible WiFi Latency

So I bought a used Netgear R7800 on ebay to replace my Archer C7.

Ethernet works great, I get 400Mbps (which is the limit of my ISP) and <1ms ping to the router.

2.4GHz Wifi is okay (pinging the router from my laptop):

 ping -c 20 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=8.84 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=32.6 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=57.9 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=1.26 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=5.17 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=1.41 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=4.24 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=20.9 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=64 time=1.42 ms
64 bytes from 192.168.1.1: icmp_seq=10 ttl=64 time=12.1 ms
64 bytes from 192.168.1.1: icmp_seq=11 ttl=64 time=1.50 ms
64 bytes from 192.168.1.1: icmp_seq=12 ttl=64 time=37.5 ms
64 bytes from 192.168.1.1: icmp_seq=13 ttl=64 time=79.9 ms
64 bytes from 192.168.1.1: icmp_seq=14 ttl=64 time=103 ms
64 bytes from 192.168.1.1: icmp_seq=15 ttl=64 time=1.80 ms
64 bytes from 192.168.1.1: icmp_seq=16 ttl=64 time=2.38 ms
64 bytes from 192.168.1.1: icmp_seq=17 ttl=64 time=2.00 ms
64 bytes from 192.168.1.1: icmp_seq=18 ttl=64 time=15.2 ms
64 bytes from 192.168.1.1: icmp_seq=19 ttl=64 time=73.4 ms
64 bytes from 192.168.1.1: icmp_seq=20 ttl=64 time=35.8 ms

--- 192.168.1.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19025ms
rtt min/avg/max/mdev = 1.257/24.928/103.175/30.044 ms

5GHz wifi performance is terrible:

root@laptop:~$ ping -c 20 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=88.0 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=111 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=3.06 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=7.66 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=1.11 ms
64 bytes from 192.168.1.1: icmp_seq=6 ttl=64 time=1.13 ms
64 bytes from 192.168.1.1: icmp_seq=7 ttl=64 time=2.04 ms
64 bytes from 192.168.1.1: icmp_seq=8 ttl=64 time=1.25 ms
64 bytes from 192.168.1.1: icmp_seq=9 ttl=64 time=1.82 ms
64 bytes from 192.168.1.1: icmp_seq=10 ttl=64 time=97.1 ms
64 bytes from 192.168.1.1: icmp_seq=11 ttl=64 time=111 ms
64 bytes from 192.168.1.1: icmp_seq=12 ttl=64 time=1.04 ms
64 bytes from 192.168.1.1: icmp_seq=13 ttl=64 time=1.67 ms
64 bytes from 192.168.1.1: icmp_seq=14 ttl=64 time=2.01 ms
64 bytes from 192.168.1.1: icmp_seq=15 ttl=64 time=1.61 ms
64 bytes from 192.168.1.1: icmp_seq=16 ttl=64 time=17.6 ms
64 bytes from 192.168.1.1: icmp_seq=17 ttl=64 time=40.2 ms
64 bytes from 192.168.1.1: icmp_seq=18 ttl=64 time=1.95 ms
64 bytes from 192.168.1.1: icmp_seq=19 ttl=64 time=1.23 ms
64 bytes from 192.168.1.1: icmp_seq=20 ttl=64 time=109 ms

--- 192.168.1.1 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19026ms
rtt min/avg/max/mdev = 1.043/30.084/111.469/43.397 ms

This is with stock firmware (OpenWrt 19.07.7 r11306-c4a6851c72), both Wifi channels on auto, no encryption.

For comparison here's the ping to my Archer C7 (5GHz):

root@laptop:~# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=2.31 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=64 time=0.753 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=64 time=7.67 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=64 time=0.769 ms
64 bytes from 192.168.1.2: icmp_seq=5 ttl=64 time=1.06 ms
64 bytes from 192.168.1.2: icmp_seq=6 ttl=64 time=0.771 ms
64 bytes from 192.168.1.2: icmp_seq=7 ttl=64 time=9.45 ms
64 bytes from 192.168.1.2: icmp_seq=8 ttl=64 time=31.7 ms
64 bytes from 192.168.1.2: icmp_seq=9 ttl=64 time=53.9 ms
64 bytes from 192.168.1.2: icmp_seq=10 ttl=64 time=0.771 ms
64 bytes from 192.168.1.2: icmp_seq=11 ttl=64 time=88.5 ms
64 bytes from 192.168.1.2: icmp_seq=12 ttl=64 time=97.2 ms
64 bytes from 192.168.1.2: icmp_seq=13 ttl=64 time=0.749 ms
64 bytes from 192.168.1.2: icmp_seq=14 ttl=64 time=0.687 ms
64 bytes from 192.168.1.2: icmp_seq=15 ttl=64 time=0.800 ms
64 bytes from 192.168.1.2: icmp_seq=16 ttl=64 time=0.748 ms
64 bytes from 192.168.1.2: icmp_seq=17 ttl=64 time=0.761 ms
64 bytes from 192.168.1.2: icmp_seq=18 ttl=64 time=0.676 ms
64 bytes from 192.168.1.2: icmp_seq=19 ttl=64 time=0.770 ms
64 bytes from 192.168.1.2: icmp_seq=20 ttl=64 time=0.755 ms
64 bytes from 192.168.1.2: icmp_seq=21 ttl=64 time=0.782 ms
64 bytes from 192.168.1.2: icmp_seq=22 ttl=64 time=0.745 ms
^C
--- 192.168.1.2 ping statistics ---
22 packets transmitted, 22 received, 0% packet loss, time 21295ms
rtt min/avg/max/mdev = 0.676/13.736/97.176/27.951 ms

Any ideas how to fix that?

Oh I noticed the latency only happens on one of my laptops (both have an Wireless-AC 9560 chipset).

root@laptop:~$ sudo lshw -C network
  *-network                 
       description: Wireless interface
       product: Cannon Point-LP CNVi [Wireless-AC]
       vendor: Intel Corporation
       physical id: 14.3
       bus info: pci@0000:00:14.3
       logical name: wlo1
       version: 30
       serial: dc:71:96:5d:34:1e
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=iwlwifi driverversion=5.4.0-29-generic firmware=46.6bf1df06.0 ip=192.168.1.224 latency=0 link=yes multicast=yes wireless=IEEE 802.11
       resources: irq:16 memory:cc31c000-cc31ffff

on your laptops do check you power management settings
I'd just put them to high performance while testing
& do check the driver versions
antivirus & firewalls all so change things

1 Like

I checked power management is set to off:


wlo1      IEEE 802.11  ESSID:"OpenWrtLegacy"  
          Mode:Managed  Frequency:2.437 GHz  Access Point: B0:B9:8A:73:78:31   
          Bit Rate=144.4 Mb/s   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=70/70  Signal level=-16 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:818   Missed beacon:0

I think there's something wrong with my laptop through (Dell Latitude 7400 running Ubuntu 20.04). Tried a different one (Thinkpad T490s, running Fedora 33) without issues.

I tried upgrading to Ubuntu 20.10 but that didn't make a difference.

Will replace the WiFi chip and see if that helps.

Is your situation similar to the one I described here?

If so, and if you are using the ath10k-ct drivers (I believe these are the default), switching to the ath10k drivers.

1 Like

Thanks for the reply:

I ran

opkg remove ath10k-firmware-qca9984-ct kmod-ath10k-ct
opkg install ath10k-firmware-qca9984 kmod-ath10k
reboot

But the issue with 5Ghz is still there and seems actually worse:

64 bytes from 192.168.1.1: icmp_seq=327 ttl=64 time=1938 ms
64 bytes from 192.168.1.1: icmp_seq=328 ttl=64 time=934 ms
64 bytes from 192.168.1.1: icmp_seq=329 ttl=64 time=1.42 ms
64 bytes from 192.168.1.1: icmp_seq=330 ttl=64 time=115 ms
64 bytes from 192.168.1.1: icmp_seq=331 ttl=64 time=1.70 ms
64 bytes from 192.168.1.1: icmp_seq=332 ttl=64 time=1.58 ms
no answer yet for icmp_seq=333
no answer yet for icmp_seq=334
no answer yet for icmp_seq=335
no answer yet for icmp_seq=336
no answer yet for icmp_seq=337
no answer yet for icmp_seq=338
no answer yet for icmp_seq=339
no answer yet for icmp_seq=340
no answer yet for icmp_seq=341
64 bytes from 192.168.1.1: icmp_seq=333 ttl=64 time=9680 ms
64 bytes from 192.168.1.1: icmp_seq=334 ttl=64 time=8673 ms
64 bytes from 192.168.1.1: icmp_seq=335 ttl=64 time=7653 ms
64 bytes from 192.168.1.1: icmp_seq=336 ttl=64 time=6631 ms
64 bytes from 192.168.1.1: icmp_seq=337 ttl=64 time=5604 ms
64 bytes from 192.168.1.1: icmp_seq=338 ttl=64 time=4582 ms
64 bytes from 192.168.1.1: icmp_seq=339 ttl=64 time=3563 ms
64 bytes from 192.168.1.1: icmp_seq=340 ttl=64 time=2543 ms
64 bytes from 192.168.1.1: icmp_seq=341 ttl=64 time=1515 ms
64 bytes from 192.168.1.1: icmp_seq=342 ttl=64 time=491 ms
64 bytes from 192.168.1.1: icmp_seq=343 ttl=64 time=4.75 ms
64 bytes from 192.168.1.1: icmp_seq=344 ttl=64 time=2.05 ms
64 bytes from 192.168.1.1: icmp_seq=345 ttl=64 time=1.86 ms
64 bytes from 192.168.1.1: icmp_seq=346 ttl=64 time=904 ms
64 bytes from 192.168.1.1: icmp_seq=347 ttl=64 time=891 ms

2.4GHz works perfectly fine around 4ms avg ping.

Not the answer you’ll like, but WiFi is a shared medium, and you therefore are subject to other people using the same wavelengths, and interference.
I also have an r7800 and at times 2.4 bands are better, other times 5ghz is better. I ended up making the ssid different so I could choose which radio I’m connecting to at any given time

Makes sense. But why does it work so much better on my Thinkpad then? Both laptops are in the same location and the frequency band didn't change.

Some laptop WiFi devices are better than others . Some also have better drivers than others. Make sure your client devices are all upgraded to latest driver versions.

To get consistent wifi results you need a quiet network and you need to do a quick wifi survey to make sure you don’t have any neighbor interference.

I’d:

  1. select a channel that is the most free of interference (not auto channel)
  2. use a separate SSID for 5ghz and 2.4ghz
  3. use at a minimum wpa2 encryption when testing to get more real world data
  4. set your cpu to more aggressive ondemand governor settings or use the performance governor to get steady results

Feel free to post your wifi settings

1 Like

Also make sure to stay within common channel allocations (ch 3, 6 or 11, see wikipedia for 5 GHz), as only those are independent channels; partial overlap is worse than fully overlapping BSSIDs.

Replaced my laptop's wifi chip now with this one and the issues are gone: https://www.amazon.com/dp/B07SH6GV5S?psc=1&ref=ppx_yo2_dt_b_product_details

Might have been some hardware issue.

Thanks for all your help!