800 Mbit/s Over Wi-Fi At Home Now!

Image: Link speed between AP and repeaterOver the years I kept upgrading my VDSL line and also my Wi-Fi network setup to benefit from increasing data rates offered by my fixed line carrier. With 802.11ac, I get around 350 Mbit/s in the downlink direction and 200 Mbit/s in the uplink direction with my Lenovo X250 notebook at my desk. When I move closer to the access point, I can get around 600 Mbit/s out of the link. But since I don’t work close to the access point, that’s more of a theoretical value for me. Now one could argue that this speed is more than enough for my Internet access. That’s true but since I also run a number of servers at home and occasionally transfer very large files or VM images, more is better and useful. So at some point it was time again to see if I could improve my Wi-Fi setup to get more than the 350 Mbit/s. 1 Gbit/s is the value to beat as that’s what I would get over Ethernet or fiber. Beyond that and I would have to upgrade my servers. As you can see in the title of this post, I could push my setup to a sustainable 800 Mbit/s at my desk.

This is of course a significant speed boost and almost 70% of what I would get over a Gbit/s Ethernet link. The only way to obviously increase the speed beyond the 350 Mbit/s at my desk is to improve signal strength and reduce interference. As I can’t move my Wi-Fi access point to another location I started experimenting with a Wi-Fi repeater. To get the most out of the channel, I chose a Fritzbox 3000 Wi-Fi repeater as it has 3 radio modules. One for the 2.4 GHz range, which is not very interesting for my scenario at all, one 5 GHz radio to connect to my VDSL/Wi-Fi router (a Fritzbox 7590) and another 5 GHz radio for spanning a separate 5 GHz Wi-Fi network around the location of the repeater. To get the maximum speed out of the setup, I connected my PC via 1 Gbit/s Ethernet to the repeater, so I would only have to go over Wi-Fi once. Unlike my notebook that only supports 802.11ac with 2×2 MIMO, the Fritzbox 7590 and the repeater support 4×4 MIMO.

The result of this setup was quite breathtaking as I can now reach a sustained downlink data rate of over 800 Mbit/s and more than 600 Mbit/s in the uplink direction, measured with iperf3 between my notebook and a server at my home. This is likely due to the 4×4 MIMO use over an 80 MHz 5G channel. The router indicates a link speed of 1.3 Gbit/s which can be reached with 3 MIMO streams and 256QAM modulation or 4 MIMO streams and 64QAM modulation. When positioning the repeater at other locations, the link speed changes as well to other values in the modulation and coding table of 802.11ac. So I’m pretty sure the Wi-Fi AP and repeater use either 3 or 4 MIMO streams. What I’m not quite sure is why the speed does not go beyond 800 Mbit/s. With a link layer speed of 1.3 Gbit/s, more should be possible.

So anyway, I won’t complain at this point, 800 Mbit/s in downlink and over 600 Mbit/s in the reverse direction is fantastic. Connecting my notebook over Ethernet to the repeater also significantly decreases transfer times when I exchange large files with other computers in the household over Wi-Fi. The main benefit here is that the data only has to go over the air once instead of twice. Unless, of course, the other device is connected to the Wi-Fi AP instead of the repeater.

And here is the iperf3 output for the downlink and uplink for a closer look:

# Downlink
################
Reverse mode, remote host xx.xx.xx.xx is sending                                                               
[  4] local 192.168.42.72 port 53022 connected to... 
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  85.8 MBytes   720 Mbits/sec                  
[  4]   1.00-2.00   sec   102 MBytes   853 Mbits/sec                  
[  4]   2.00-3.00   sec  98.3 MBytes   825 Mbits/sec                  
[  4]   3.00-4.00   sec   101 MBytes   844 Mbits/sec                  
[  4]   4.00-5.00   sec  98.2 MBytes   824 Mbits/sec                  
[  4]   5.00-6.00   sec   100 MBytes   843 Mbits/sec                  
[  4]   6.00-7.00   sec  96.3 MBytes   808 Mbits/sec                  
[  4]   7.00-8.00   sec  97.6 MBytes   819 Mbits/sec                  
[  4]   8.00-9.00   sec  95.4 MBytes   801 Mbits/sec                  
[  4]   9.00-10.00  sec  99.2 MBytes   832 Mbits/sec                  
[  4]  10.00-11.00  sec  98.9 MBytes   830 Mbits/sec                  
[  4]  11.00-12.00  sec  97.2 MBytes   816 Mbits/sec                  
[  4]  12.00-13.00  sec  98.9 MBytes   830 Mbits/sec                  
[  4]  13.00-14.00  sec  98.0 MBytes   822 Mbits/sec  

# Uplink
#################
[ 4] local xx.xx.xx.xx port 53576 connected to xx.xx.xx.xx port 1234
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 65.9 MBytes 553 Mbits/sec 18 308 KBytes 
[ 4] 1.00-2.00 sec 67.3 MBytes 564 Mbits/sec 18 317 KBytes 
[ 4] 2.00-3.00 sec 67.2 MBytes 564 Mbits/sec 13 329 KBytes 
[ 4] 3.00-4.00 sec 72.1 MBytes 604 Mbits/sec 0 452 KBytes 
[ 4] 4.00-5.00 sec 75.5 MBytes 633 Mbits/sec 40 399 KBytes 
[ 4] 5.00-6.00 sec 75.0 MBytes 629 Mbits/sec 0 510 KBytes 
[ 4] 6.00-7.00 sec 73.9 MBytes 620 Mbits/sec 42 452 KBytes 
[ 4] 7.00-8.00 sec 68.3 MBytes 573 Mbits/sec 28 308 KBytes 
[ 4] 8.00-9.00 sec 69.2 MBytes 581 Mbits/sec 3 308 KBytes 
[ 4] 9.00-10.00 sec 70.6 MBytes 592 Mbits/sec 0 436 KBytes 
[ 4] 10.00-11.00 sec 70.0 MBytes 588 Mbits/sec 10 426 KBytes 
[ 4] 11.00-12.00 sec 76.1 MBytes 638 Mbits/sec 0 529 KBytes 
[ 4] 12.00-13.00 sec 74.2 MBytes 622 Mbits/sec 10 482 KBytes 
[ 4] 13.00-14.00 sec 78.2 MBytes 656 Mbits/sec 4 407 KBytes 
[ 4] 14.00-15.00 sec 74.0 MBytes 621 Mbits/sec 0 516 KBytes 
[ 4] 15.00-16.00 sec 73.6 MBytes 618 Mbits/sec 13 468 KBytes 
[ 4] 16.00-17.00 sec 79.7 MBytes 669 Mbits/sec 0 573 KBytes