Optimized build for the D-Link DIR-860L

kmod-ipt-offload is for kernel 4.14, the fast path patch is

I use this patch on kernel 4.9 for my netgear wndr3800ch & wndr 3700v4 because ar71xx is on kernel 4.9 now.

@sotux
Hi,thanks for reply
Sorry I make a mistake,I should say"Netfilter Flow offload" instead of fast patch
So your custom build did not fit for kmod-ipt-offload ?

My custom build has included "netfilter flow offload" because the master branch include these commits. But I did not test it because I don't have these device relay on kernel 4.14. If you have the device that can run on kernel 4.14, then you can test it.

@sotux
OK,i got it
thank you for detailed explanation

@nbd, @Mushoz, @Bartvz
I made another test today with & without the minstrel patch, my test environment is:

Router: Netgear wndr3700v2 with my custom build OpenWrt (mentioned above)

Description Net Device IP OS
notebook Intel wireless 3160 192.168.3.170 KDE neon base on ubuntu 16.04
desktop Realtek 1Gb eth 192.168.3.38 Windows 10

Test tool is iperf3.

First test is download from desktop with 2.4G wifi

minstrel patched desktop command notebook command bandwidth
yes iperf3 -c 192.168.3.170 -i 1 -t 30 iperf3 -s 43.7 Mbits/sec
no iperf3 -c 192.168.3.170 -i 1 -t 30 iperf3 -s 71.4 Mbits/sec

Detail result:
with minstrel patched

Connecting to host 192.168.3.170, port 5201
[  4] local 192.168.3.38 port 50107 connected to 192.168.3.170 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.00   sec  5.12 MBytes  42.9 Mbits/sec                  
[  4]   1.00-2.02   sec  4.88 MBytes  40.4 Mbits/sec                  
[  4]   2.02-3.01   sec  2.12 MBytes  17.9 Mbits/sec                  
[  4]   3.01-4.01   sec  4.50 MBytes  37.9 Mbits/sec                  
[  4]   4.01-5.01   sec  4.75 MBytes  39.8 Mbits/sec                  
[  4]   5.01-6.01   sec  4.62 MBytes  38.8 Mbits/sec                  
[  4]   6.01-7.02   sec  4.62 MBytes  38.6 Mbits/sec                  
[  4]   7.02-8.02   sec  5.00 MBytes  41.9 Mbits/sec                  
[  4]   8.02-9.01   sec  9.88 MBytes  83.4 Mbits/sec                  
[  4]   9.01-10.01  sec  6.25 MBytes  52.6 Mbits/sec                  
[  4]  10.01-11.02  sec  5.25 MBytes  43.6 Mbits/sec                  
[  4]  11.02-12.02  sec  5.00 MBytes  41.9 Mbits/sec                  
[  4]  12.02-13.02  sec  5.12 MBytes  43.0 Mbits/sec                  
[  4]  13.02-14.02  sec  4.88 MBytes  40.9 Mbits/sec                  
[  4]  14.02-15.01  sec  5.12 MBytes  43.4 Mbits/sec                  
[  4]  15.01-16.02  sec  4.88 MBytes  40.5 Mbits/sec                  
[  4]  16.02-17.01  sec  4.62 MBytes  39.1 Mbits/sec                  
[  4]  17.01-18.01  sec  4.62 MBytes  38.7 Mbits/sec                  
[  4]  18.01-19.01  sec  5.00 MBytes  42.1 Mbits/sec                  
[  4]  19.01-20.00  sec  5.38 MBytes  45.2 Mbits/sec                  
[  4]  20.00-21.02  sec  5.00 MBytes  41.4 Mbits/sec                  
[  4]  21.02-22.02  sec  5.00 MBytes  41.9 Mbits/sec                  
[  4]  22.02-23.00  sec  5.25 MBytes  44.5 Mbits/sec                  
[  4]  23.00-24.00  sec  5.88 MBytes  49.3 Mbits/sec                  
[  4]  24.00-25.01  sec  9.00 MBytes  75.2 Mbits/sec                  
[  4]  25.01-26.00  sec  5.12 MBytes  43.3 Mbits/sec                  
[  4]  26.00-27.02  sec  4.88 MBytes  40.3 Mbits/sec                  
[  4]  27.02-28.01  sec  5.00 MBytes  42.2 Mbits/sec                  
[  4]  28.01-29.02  sec  4.88 MBytes  40.6 Mbits/sec                  
[  4]  29.02-30.01  sec  4.88 MBytes  41.1 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-30.01  sec   156 MBytes  43.7 Mbits/sec                  sender
[  4]   0.00-30.01  sec   156 MBytes  43.7 Mbits/sec                  receiver

iperf Done.

without minstrel patched

Connecting to host 192.168.3.170, port 5201
[  4] local 192.168.3.38 port 50066 connected to 192.168.3.170 port 5201
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-1.01   sec  8.62 MBytes  71.7 Mbits/sec                  
[  4]   1.01-2.01   sec  9.38 MBytes  78.5 Mbits/sec                  
[  4]   2.01-3.01   sec  9.50 MBytes  79.4 Mbits/sec                  
[  4]   3.01-4.01   sec  7.62 MBytes  64.0 Mbits/sec                  
[  4]   4.01-5.01   sec  4.25 MBytes  35.7 Mbits/sec                  
[  4]   5.01-6.01   sec  3.88 MBytes  32.5 Mbits/sec                  
[  4]   6.01-7.00   sec  6.38 MBytes  54.3 Mbits/sec                  
[  4]   7.00-8.00   sec  10.4 MBytes  86.9 Mbits/sec                  
[  4]   8.00-9.01   sec  10.2 MBytes  85.4 Mbits/sec                  
[  4]   9.01-10.01  sec  9.12 MBytes  76.2 Mbits/sec                  
[  4]  10.01-11.01  sec  8.88 MBytes  74.3 Mbits/sec                  
[  4]  11.01-12.00  sec  8.88 MBytes  75.3 Mbits/sec                  
[  4]  12.00-13.00  sec  9.00 MBytes  75.7 Mbits/sec                  
[  4]  13.00-14.00  sec  9.25 MBytes  77.5 Mbits/sec                  
[  4]  14.00-15.01  sec  8.62 MBytes  72.0 Mbits/sec                  
[  4]  15.01-16.00  sec  8.62 MBytes  72.7 Mbits/sec                  
[  4]  16.00-17.01  sec  10.0 MBytes  83.6 Mbits/sec                  
[  4]  17.01-18.00  sec  10.4 MBytes  87.3 Mbits/sec                  
[  4]  18.00-19.01  sec  8.38 MBytes  69.4 Mbits/sec                  
[  4]  19.01-20.01  sec  3.88 MBytes  32.5 Mbits/sec                  
[  4]  20.01-21.01  sec  4.38 MBytes  36.7 Mbits/sec                  
[  4]  21.01-22.01  sec  6.00 MBytes  50.7 Mbits/sec                  
[  4]  22.01-23.00  sec  10.1 MBytes  85.3 Mbits/sec                  
[  4]  23.00-24.00  sec  10.8 MBytes  90.3 Mbits/sec                  
[  4]  24.00-25.01  sec  10.6 MBytes  88.8 Mbits/sec                  
[  4]  25.01-26.01  sec  10.8 MBytes  89.6 Mbits/sec                  
[  4]  26.01-27.01  sec  9.62 MBytes  80.6 Mbits/sec                  
[  4]  27.01-28.02  sec  8.38 MBytes  70.2 Mbits/sec                  
[  4]  28.02-29.01  sec  9.38 MBytes  79.0 Mbits/sec                  
[  4]  29.01-30.01  sec  10.1 MBytes  85.3 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  4]   0.00-30.01  sec   255 MBytes  71.4 Mbits/sec                  sender
[  4]   0.00-30.01  sec   255 MBytes  71.4 Mbits/sec                  receiver

iperf Done.

Second test is upload to desktop with 2.4G wifi

minstrel patched desktop command notebook command bandwidth
yes iperf3 -s iperf3 -c 192.168.3.38 -i 1 -t 30 53.1 Mbits/sec
no iperf3 -s iperf3 -c 192.168.3.38 -i 1 -t 30 52.3 Mbits/sec

Detail result:
with minstrel patched

Connecting to host 192.168.3.38, port 5201
[  4] local 192.168.3.170 port 39652 connected to 192.168.3.38 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  8.56 MBytes  71.8 Mbits/sec    0   48.5 KBytes       
[  4]   1.00-2.00   sec  6.13 MBytes  51.4 Mbits/sec    0   48.5 KBytes       
[  4]   2.00-3.00   sec  7.35 MBytes  61.7 Mbits/sec    0   48.5 KBytes       
[  4]   3.00-4.00   sec  6.74 MBytes  56.5 Mbits/sec    0   48.5 KBytes       
[  4]   4.00-5.00   sec  7.35 MBytes  61.7 Mbits/sec    0   51.3 KBytes       
[  4]   5.00-6.00   sec  6.74 MBytes  56.5 Mbits/sec    0   48.5 KBytes       
[  4]   6.00-7.00   sec  6.74 MBytes  56.5 Mbits/sec    0   62.7 KBytes       
[  4]   7.00-8.00   sec  3.68 MBytes  30.8 Mbits/sec   37   42.8 KBytes       
[  4]   8.00-9.00   sec  6.13 MBytes  51.4 Mbits/sec    0   57.0 KBytes       
[  4]   9.00-10.00  sec  6.74 MBytes  56.5 Mbits/sec    0   5.70 KBytes       
[  4]  10.00-11.00  sec  6.74 MBytes  56.5 Mbits/sec    0   48.5 KBytes       
[  4]  11.00-12.00  sec  7.35 MBytes  61.7 Mbits/sec    0   62.7 KBytes       
[  4]  12.00-13.00  sec  6.74 MBytes  56.5 Mbits/sec    0   42.8 KBytes       
[  4]  13.00-14.00  sec  7.96 MBytes  66.8 Mbits/sec    0   57.0 KBytes       
[  4]  14.00-15.00  sec  6.80 MBytes  57.0 Mbits/sec    0   51.3 KBytes       
[  4]  15.00-16.00  sec  6.13 MBytes  51.4 Mbits/sec    0   48.5 KBytes       
[  4]  16.00-17.00  sec  5.51 MBytes  46.3 Mbits/sec    0   42.8 KBytes       
[  4]  17.00-18.00  sec  6.13 MBytes  51.4 Mbits/sec    0   48.5 KBytes       
[  4]  18.00-19.00  sec  6.13 MBytes  51.4 Mbits/sec    0   57.0 KBytes       
[  4]  19.00-20.00  sec  6.74 MBytes  56.5 Mbits/sec    0   39.9 KBytes       
[  4]  20.00-21.00  sec  7.35 MBytes  61.7 Mbits/sec    0   54.2 KBytes       
[  4]  21.00-22.00  sec  6.13 MBytes  51.4 Mbits/sec    0   42.8 KBytes       
[  4]  22.00-23.00  sec  5.51 MBytes  46.3 Mbits/sec    0   42.8 KBytes       
[  4]  23.00-24.00  sec  4.29 MBytes  36.0 Mbits/sec    0   42.8 KBytes       
[  4]  24.00-25.00  sec  5.51 MBytes  46.3 Mbits/sec    0   39.9 KBytes       
[  4]  25.00-26.00  sec  4.90 MBytes  41.1 Mbits/sec    0   34.2 KBytes       
[  4]  26.00-27.00  sec  6.13 MBytes  51.4 Mbits/sec    0   31.4 KBytes       
[  4]  27.00-28.00  sec  5.51 MBytes  46.3 Mbits/sec    0   39.9 KBytes       
[  4]  28.00-29.00  sec  6.74 MBytes  56.5 Mbits/sec    0   45.6 KBytes       
[  4]  29.00-30.00  sec  5.51 MBytes  46.3 Mbits/sec    0   39.9 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-30.00  sec   190 MBytes  53.1 Mbits/sec   37             sender
[  4]   0.00-30.00  sec   188 MBytes  52.7 Mbits/sec                  receiver

iperf Done.

without minstrel patched

Connecting to host 192.168.3.38, port 5201
[  4] local 192.168.3.170 port 39862 connected to 192.168.3.38 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  9.27 MBytes  77.7 Mbits/sec    0   77.0 KBytes       
[  4]   1.00-2.00   sec  7.96 MBytes  66.8 Mbits/sec    0   57.0 KBytes       
[  4]   2.00-3.00   sec  4.29 MBytes  36.0 Mbits/sec    0   45.6 KBytes       
[  4]   3.00-4.00   sec  3.06 MBytes  25.7 Mbits/sec    0   71.3 KBytes       
[  4]   4.00-5.00   sec  3.06 MBytes  25.7 Mbits/sec    0   54.2 KBytes       
[  4]   5.00-6.00   sec  6.86 MBytes  57.6 Mbits/sec    0   68.4 KBytes       
[  4]   6.00-7.00   sec  7.96 MBytes  66.8 Mbits/sec    0   59.9 KBytes       
[  4]   7.00-8.00   sec  4.90 MBytes  41.1 Mbits/sec   35   54.2 KBytes       
[  4]   8.00-9.00   sec  7.35 MBytes  61.7 Mbits/sec    0   68.4 KBytes       
[  4]   9.00-10.00  sec  7.35 MBytes  61.7 Mbits/sec    0   59.9 KBytes       
[  4]  10.00-11.00  sec  7.35 MBytes  61.7 Mbits/sec    0   59.9 KBytes       
[  4]  11.00-12.00  sec  6.74 MBytes  56.5 Mbits/sec    0   42.8 KBytes       
[  4]  12.00-13.00  sec  6.13 MBytes  51.4 Mbits/sec    0   51.3 KBytes       
[  4]  13.00-14.00  sec  7.96 MBytes  66.8 Mbits/sec    0   51.3 KBytes       
[  4]  14.00-15.00  sec  7.35 MBytes  61.7 Mbits/sec    0   45.6 KBytes       
[  4]  15.00-16.00  sec  3.68 MBytes  30.8 Mbits/sec    0   39.9 KBytes       
[  4]  16.00-17.00  sec  5.51 MBytes  46.3 Mbits/sec    0   45.6 KBytes       
[  4]  17.00-18.00  sec  7.35 MBytes  61.7 Mbits/sec    0   59.9 KBytes       
[  4]  18.00-19.00  sec  7.35 MBytes  61.7 Mbits/sec    0   51.3 KBytes       
[  4]  19.00-20.00  sec  7.96 MBytes  66.8 Mbits/sec    0   51.3 KBytes       
[  4]  20.00-21.00  sec  3.74 MBytes  31.3 Mbits/sec    0   51.3 KBytes       
[  4]  21.00-22.00  sec  3.06 MBytes  25.7 Mbits/sec    0   54.2 KBytes       
[  4]  22.00-23.00  sec  2.45 MBytes  20.6 Mbits/sec    0   61.3 KBytes       
[  4]  23.00-24.00  sec  7.35 MBytes  61.7 Mbits/sec    0   48.5 KBytes       
[  4]  24.00-25.00  sec  7.41 MBytes  62.2 Mbits/sec    0   59.9 KBytes       
[  4]  25.00-26.00  sec  6.74 MBytes  56.5 Mbits/sec    0   59.9 KBytes       
[  4]  26.00-27.00  sec  6.74 MBytes  56.5 Mbits/sec    0   42.8 KBytes       
[  4]  27.00-28.00  sec  6.13 MBytes  51.4 Mbits/sec    0   57.0 KBytes       
[  4]  28.00-29.00  sec  7.35 MBytes  61.7 Mbits/sec    0   45.6 KBytes       
[  4]  29.00-30.00  sec  6.74 MBytes  56.5 Mbits/sec    0   39.9 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-30.00  sec   187 MBytes  52.3 Mbits/sec   35             sender
[  4]   0.00-30.00  sec   186 MBytes  51.9 Mbits/sec                  receiver

iperf Done.

5G wifi seem's not affected no matter upload or download.

@sotux - is there any difference when targeting the router directly (there is already iperf3 there). This way will eliminate one of the computers.

OK. This time I ran iperf3 on the router directly and tested again.

Hardware Environment:

Description Net Device IP OS
notebook Intel wireless 3160 192.168.3.170 KDE neon base on Ubuntu 16.04
wndr3700v2 1Gb eth 192.168.3.254 My custom build OpenWrt (mentioned above)

Download test

minstrel patched router command notebook command bandwidth
yes iperf3 -c 192.168.3.170 -i 1 -t 30 iperf3 -s 18.1 Mbits/sec
no iperf3 -c 192.168.3.170 -i 1 -t 30 iperf3 -s 42.7 Mbits/sec

Detail result:
with minstrel patched

Connecting to host 192.168.3.170, port 5201
[  5] local 192.168.3.254 port 55516 connected to 192.168.3.170 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  2.66 MBytes  22.3 Mbits/sec    0   19.8 KBytes       
[  5]   1.00-2.00   sec  2.47 MBytes  20.7 Mbits/sec    0   19.8 KBytes       
[  5]   2.00-3.00   sec  2.34 MBytes  19.6 Mbits/sec    0   19.8 KBytes       
[  5]   3.00-4.00   sec  1.54 MBytes  12.9 Mbits/sec    0   17.0 KBytes       
[  5]   4.00-5.00   sec  1.77 MBytes  14.9 Mbits/sec    0   14.1 KBytes       
[  5]   5.00-6.00   sec  2.12 MBytes  17.8 Mbits/sec    0   19.8 KBytes       
[  5]   6.00-7.00   sec  2.15 MBytes  18.0 Mbits/sec    0   14.1 KBytes       
[  5]   7.00-8.00   sec  2.28 MBytes  19.1 Mbits/sec    0   17.0 KBytes       
[  5]   8.00-9.00   sec  2.27 MBytes  19.0 Mbits/sec    0   19.8 KBytes       
[  5]   9.00-10.00  sec  2.28 MBytes  19.1 Mbits/sec    0   14.1 KBytes       
[  5]  10.00-11.00  sec  2.33 MBytes  19.5 Mbits/sec    0   17.0 KBytes       
[  5]  11.00-12.00  sec  2.26 MBytes  19.0 Mbits/sec    0   17.0 KBytes       
[  5]  12.00-13.00  sec  2.94 MBytes  24.7 Mbits/sec    0   17.0 KBytes       
[  5]  13.00-14.00  sec  4.61 MBytes  38.6 Mbits/sec    0   22.6 KBytes       
[  5]  14.00-15.00  sec  2.33 MBytes  19.5 Mbits/sec    0   22.6 KBytes       
[  5]  15.00-16.00  sec  1.81 MBytes  15.2 Mbits/sec    0   19.8 KBytes       
[  5]  16.00-17.00  sec  1.97 MBytes  16.5 Mbits/sec    0   19.8 KBytes       
[  5]  17.00-18.00  sec  2.31 MBytes  19.4 Mbits/sec    0   19.8 KBytes       
[  5]  18.00-19.00  sec  1.92 MBytes  16.1 Mbits/sec    0   17.0 KBytes       
[  5]  19.00-20.00  sec  2.09 MBytes  17.5 Mbits/sec    0   17.0 KBytes       
[  5]  20.00-21.00  sec  1.01 MBytes  8.49 Mbits/sec    1   14.1 KBytes       
[  5]  21.00-22.00  sec   706 KBytes  5.78 Mbits/sec    0   17.0 KBytes       
[  5]  22.00-23.00  sec   745 KBytes  6.10 Mbits/sec    1   17.0 KBytes       
[  5]  23.00-24.00  sec  1.80 MBytes  15.1 Mbits/sec    0   17.0 KBytes       
[  5]  24.00-25.00  sec  2.22 MBytes  18.6 Mbits/sec    0   17.0 KBytes       
[  5]  25.00-26.00  sec  1.79 MBytes  15.0 Mbits/sec    0   14.1 KBytes       
[  5]  26.00-27.00  sec  1.99 MBytes  16.7 Mbits/sec    0   17.0 KBytes       
[  5]  27.00-28.00  sec  2.21 MBytes  18.5 Mbits/sec    0   22.6 KBytes       
[  5]  28.00-29.00  sec  2.02 MBytes  17.0 Mbits/sec    0   17.0 KBytes       
[  5]  29.00-30.00  sec  3.91 MBytes  32.8 Mbits/sec    0   19.8 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-30.00  sec  64.8 MBytes  18.1 Mbits/sec    2             sender
[  5]   0.00-30.00  sec  64.7 MBytes  18.1 Mbits/sec                  receiver

iperf Done.

without minstrel patched

Connecting to host 192.168.3.170, port 5201
[  5] local 192.168.3.254 port 52242 connected to 192.168.3.170 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  5.49 MBytes  46.1 Mbits/sec    0   17.0 KBytes       
[  5]   1.00-2.00   sec  3.87 MBytes  32.4 Mbits/sec    0   17.0 KBytes       
[  5]   2.00-3.00   sec  4.53 MBytes  38.0 Mbits/sec    0   14.1 KBytes       
[  5]   3.00-4.00   sec  4.33 MBytes  36.3 Mbits/sec    0   17.0 KBytes       
[  5]   4.00-5.00   sec  5.40 MBytes  45.3 Mbits/sec    0   17.0 KBytes       
[  5]   5.00-6.00   sec  4.88 MBytes  40.9 Mbits/sec    0   14.1 KBytes       
[  5]   6.00-7.00   sec  3.92 MBytes  32.9 Mbits/sec    0   17.0 KBytes       
[  5]   7.00-8.00   sec  4.99 MBytes  41.9 Mbits/sec    0   19.8 KBytes       
[  5]   8.00-9.00   sec  5.15 MBytes  43.2 Mbits/sec    0   17.0 KBytes       
[  5]   9.00-10.00  sec  5.21 MBytes  43.7 Mbits/sec    0   5.66 KBytes       
[  5]  10.00-11.00  sec  5.46 MBytes  45.8 Mbits/sec    0   17.0 KBytes       
[  5]  11.00-12.00  sec  4.80 MBytes  40.3 Mbits/sec    0   17.0 KBytes       
[  5]  12.00-13.00  sec  4.91 MBytes  41.2 Mbits/sec    0   17.0 KBytes       
[  5]  13.00-14.00  sec  4.86 MBytes  40.8 Mbits/sec    0   14.1 KBytes       
[  5]  14.00-15.00  sec  4.79 MBytes  40.2 Mbits/sec    0   14.1 KBytes       
[  5]  15.00-16.00  sec  5.40 MBytes  45.3 Mbits/sec    0   17.0 KBytes       
[  5]  16.00-17.00  sec  5.31 MBytes  44.5 Mbits/sec    0   19.8 KBytes       
[  5]  17.00-18.00  sec  5.32 MBytes  44.7 Mbits/sec    0   14.1 KBytes       
[  5]  18.00-19.00  sec  5.32 MBytes  44.6 Mbits/sec    0   17.0 KBytes       
[  5]  19.00-20.00  sec  5.05 MBytes  42.4 Mbits/sec    0   14.1 KBytes       
[  5]  20.00-21.00  sec  4.26 MBytes  35.8 Mbits/sec    0   19.8 KBytes       
[  5]  21.00-22.00  sec  6.17 MBytes  51.7 Mbits/sec    0   25.5 KBytes       
[  5]  22.00-23.00  sec  5.54 MBytes  46.5 Mbits/sec    0   22.6 KBytes       
[  5]  23.00-24.00  sec  3.26 MBytes  27.3 Mbits/sec    0   19.8 KBytes       
[  5]  24.00-25.00  sec  5.73 MBytes  48.0 Mbits/sec    0   19.8 KBytes       
[  5]  25.00-26.00  sec  4.82 MBytes  40.5 Mbits/sec    0   22.6 KBytes       
[  5]  26.00-27.00  sec  5.87 MBytes  49.3 Mbits/sec    0   22.6 KBytes       
[  5]  27.00-28.00  sec  5.84 MBytes  49.0 Mbits/sec    0   22.6 KBytes       
[  5]  28.00-29.00  sec  6.30 MBytes  52.9 Mbits/sec    0   19.8 KBytes       
[  5]  29.00-30.00  sec  6.04 MBytes  50.7 Mbits/sec    0   19.8 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-30.00  sec   153 MBytes  42.7 Mbits/sec    0             sender
[  5]   0.00-30.00  sec   153 MBytes  42.7 Mbits/sec                  receiver

iperf Done.

Upload test

minstrel patched router command notebook command bandwidth
yes iperf3 -s iperf3 -c 192.168.3.254 -i 1 -t 30 55.8 Mbits/sec
no iperf3 -s iperf3 -c 192.168.3.254 -i 1 -t 30 68.2 Mbits/sec

Detail result:
with minstrel patched

Connecting to host 192.168.3.254, port 5201
[  4] local 192.168.3.170 port 49964 connected to 192.168.3.254 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  6.36 MBytes  53.4 Mbits/sec    0   36.8 KBytes       
[  4]   1.00-2.00   sec  5.22 MBytes  43.8 Mbits/sec    0   87.7 KBytes       
[  4]   2.00-3.00   sec  2.98 MBytes  25.0 Mbits/sec    0   56.6 KBytes       
[  4]   3.00-4.00   sec  2.98 MBytes  25.0 Mbits/sec    0   70.7 KBytes       
[  4]   4.00-5.00   sec  3.73 MBytes  31.3 Mbits/sec    0   59.4 KBytes       
[  4]   5.00-6.00   sec  8.20 MBytes  68.8 Mbits/sec    0   56.6 KBytes       
[  4]   6.00-7.00   sec  8.95 MBytes  75.1 Mbits/sec    0   70.7 KBytes       
[  4]   7.00-8.00   sec  8.95 MBytes  75.1 Mbits/sec    0   50.9 KBytes       
[  4]   8.00-9.00   sec  7.46 MBytes  62.6 Mbits/sec    0   56.6 KBytes       
[  4]   9.00-10.00  sec  8.20 MBytes  68.8 Mbits/sec    0   48.1 KBytes       
[  4]  10.00-11.00  sec  6.71 MBytes  56.3 Mbits/sec    0   59.4 KBytes       
[  4]  11.00-12.00  sec  8.95 MBytes  75.1 Mbits/sec    0   73.5 KBytes       
[  4]  12.00-13.00  sec  9.69 MBytes  81.3 Mbits/sec    0   73.5 KBytes       
[  4]  13.00-14.00  sec  8.20 MBytes  68.8 Mbits/sec    0   87.7 KBytes       
[  4]  14.00-15.00  sec  6.71 MBytes  56.3 Mbits/sec    0   45.2 KBytes       
[  4]  15.00-16.00  sec  6.71 MBytes  56.3 Mbits/sec    0   48.1 KBytes       
[  4]  16.00-17.00  sec  5.97 MBytes  50.0 Mbits/sec    0   50.9 KBytes       
[  4]  17.00-18.00  sec  2.98 MBytes  25.0 Mbits/sec    0   70.7 KBytes       
[  4]  18.00-19.00  sec  2.98 MBytes  25.0 Mbits/sec    0   70.7 KBytes       
[  4]  19.00-20.00  sec  5.22 MBytes  43.8 Mbits/sec    0   62.2 KBytes       
[  4]  20.00-21.00  sec  6.71 MBytes  56.3 Mbits/sec    0   52.3 KBytes       
[  4]  21.00-22.00  sec  2.98 MBytes  25.0 Mbits/sec    1    127 KBytes       
[  4]  22.00-23.00  sec  7.46 MBytes  62.6 Mbits/sec    0   56.6 KBytes       
[  4]  23.00-24.00  sec  8.20 MBytes  68.8 Mbits/sec    0   56.6 KBytes       
[  4]  24.00-25.00  sec  7.46 MBytes  62.5 Mbits/sec    0   65.0 KBytes       
[  4]  25.00-26.00  sec  8.20 MBytes  68.8 Mbits/sec    0   70.7 KBytes       
[  4]  26.00-27.00  sec  7.46 MBytes  62.6 Mbits/sec    0   62.2 KBytes       
[  4]  27.00-28.00  sec  7.46 MBytes  62.6 Mbits/sec    0   50.9 KBytes       
[  4]  28.00-29.00  sec  8.20 MBytes  68.8 Mbits/sec    0   53.7 KBytes       
[  4]  29.00-30.00  sec  8.20 MBytes  68.8 Mbits/sec    0   48.1 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-30.00  sec   199 MBytes  55.8 Mbits/sec    1             sender
[  4]   0.00-30.00  sec   198 MBytes  55.2 Mbits/sec                  receiver

iperf Done.

without minstrel patched

Connecting to host 192.168.3.254, port 5201
[  4] local 192.168.3.170 port 50144 connected to 192.168.3.254 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  8.41 MBytes  70.5 Mbits/sec    0   62.2 KBytes       
[  4]   1.00-2.00   sec  8.08 MBytes  67.8 Mbits/sec    0   67.9 KBytes       
[  4]   2.00-3.00   sec  7.46 MBytes  62.6 Mbits/sec    0   56.6 KBytes       
[  4]   3.00-4.00   sec  8.70 MBytes  73.0 Mbits/sec    0   65.0 KBytes       
[  4]   4.00-5.00   sec  7.46 MBytes  62.6 Mbits/sec    0   56.6 KBytes       
[  4]   5.00-6.00   sec  7.46 MBytes  62.6 Mbits/sec    1   56.6 KBytes       
[  4]   6.00-7.00   sec  6.84 MBytes  57.3 Mbits/sec    1   62.2 KBytes       
[  4]   7.00-8.00   sec  9.32 MBytes  78.2 Mbits/sec    0   70.7 KBytes       
[  4]   8.00-9.00   sec  8.70 MBytes  73.0 Mbits/sec    0   70.7 KBytes       
[  4]   9.00-10.00  sec  7.46 MBytes  62.6 Mbits/sec    0   5.66 KBytes       
[  4]  10.00-11.00  sec  6.21 MBytes  52.1 Mbits/sec    0   42.4 KBytes       
[  4]  11.00-12.00  sec  8.76 MBytes  73.5 Mbits/sec    0   53.7 KBytes       
[  4]  12.00-13.00  sec  9.32 MBytes  78.2 Mbits/sec    0   48.1 KBytes       
[  4]  13.00-14.00  sec  8.08 MBytes  67.8 Mbits/sec    0   53.7 KBytes       
[  4]  14.00-15.00  sec  6.21 MBytes  52.1 Mbits/sec    0   48.1 KBytes       
[  4]  15.00-16.00  sec  8.08 MBytes  67.8 Mbits/sec    0   67.9 KBytes       
[  4]  16.00-17.00  sec  9.32 MBytes  78.2 Mbits/sec    0   42.4 KBytes       
[  4]  17.00-18.00  sec  9.32 MBytes  78.2 Mbits/sec    0   62.2 KBytes       
[  4]  18.00-19.00  sec  8.70 MBytes  73.0 Mbits/sec    0   53.7 KBytes       
[  4]  19.00-20.00  sec  8.70 MBytes  73.0 Mbits/sec    0   73.5 KBytes       
[  4]  20.00-21.00  sec  6.21 MBytes  52.1 Mbits/sec    0   56.6 KBytes       
[  4]  21.00-22.00  sec  8.08 MBytes  67.8 Mbits/sec    0   73.5 KBytes       
[  4]  22.00-23.00  sec  9.94 MBytes  83.4 Mbits/sec    0   70.7 KBytes       
[  4]  23.00-24.00  sec  10.0 MBytes  83.9 Mbits/sec    0   56.6 KBytes       
[  4]  24.00-25.00  sec  6.84 MBytes  57.3 Mbits/sec    0   48.1 KBytes       
[  4]  25.00-26.00  sec  7.46 MBytes  62.6 Mbits/sec    0   82.0 KBytes       
[  4]  26.00-27.00  sec  6.84 MBytes  57.3 Mbits/sec    0   48.1 KBytes       
[  4]  27.00-28.00  sec  8.70 MBytes  73.0 Mbits/sec    0   62.2 KBytes       
[  4]  28.00-29.00  sec  8.70 MBytes  73.0 Mbits/sec    0   56.6 KBytes       
[  4]  29.00-30.00  sec  8.70 MBytes  73.0 Mbits/sec    0   70.7 KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-30.00  sec   244 MBytes  68.2 Mbits/sec    2             sender
[  4]   0.00-30.00  sec   243 MBytes  67.8 Mbits/sec                  receiver

iperf Done.

Thanks for testing. Could you please also do the same test that @Mushoz did and delete the minstrel patches one by one in reverse order to figure out which one is having this impact?

OK. I tested again with each patches, below is the result:

Removed patch id Download speed Upload speed
329 19.9 Mbits/sec 66.3 Mbits/sec
329, 328 18.9 Mbits/sec 65.6 Mbits/sec
329, 328, 327 43.3 Mbits/sec 64.4 Mbits/sec
329, 328, 327, 326 42.7 Mbits/sec 68.2 Mbits/sec

So, I think the patch "327-mac80211-minstrel-merge-with-minstrel_ht-always-enab.patch" cause the problem of 2.4g wifi download speed.

My router's info:
Netgear wndr3700v2, SoC Atheros AR7161, 64M ram, 16m flash, kernel 4.9.82, target ar71xx-generic, ath9k,

1 Like

@sotux Thank you very much for your testing. @nbd , It seems to be the same patch that's affecting me. The only difference is that in my case my upload speed is also affected, as can be seen here: Optimized build for the D-Link DIR-860L

If I can help testing with potential solutions for this regression, please let me know :slight_smile:

Thanks for testing. After some more careful code reading, I was able to find the bug. I've pushed a fix to master, please test.

Compiling now. Will edit this post and report back. Thank you very much for looking into it :slight_smile:

Ditto!
r6336 flashed fine and I have update my table with the values I have found in my quick and dirty testing. As you can see there is definitely some change in 2.4 GHz WiFi performance. My DIR860L hits the theoretical maximum throughput while connecting at 144 Mbps. Also there seems to be a slight bump in 5 GHz WiFi performance (99 vs 92 Mbit/sec on r6302)

Build Band (GHz) Speed (Mbits/sec)
r6336 2.4 75.6
r6336 5 99.1
r6302 2.4 58.4
r6302 5 91.8
r6150 2.4 56.7
r6150 5 107
r6009 2.4 43.7
r6009 5 40.7
r5442 2.4 73.5
r5442 5 57.4

And now I just pushed some more minstrel fixes that should help on 2.4 GHz as well.

My build environment was dirty and was running into compilation errors, so I cleaned it and started anew with compilation, hence it is taking a while. Should I let the current compilation continue (without the latest commits) and test versus my previous tests in which I noticed the regression? Or should I abort the current compilation and pull the latest changes in?

For troubleshooting whether the previous regression was fixed, the current compilation should be fine, right? Since the bug fix was in commit: https://git.openwrt.org/?p=openwrt/openwrt.git;a=commit;h=55bd80f6d871d1c6c70101579524c42cdb73ed7d

So I guess we are a bit trigger happy in this thread :stuck_out_tongue:
Compiling again

//offtopic
It brings a smile on my face that there is such a great community.

The outcome of my quick and dirty testing is that the last 3 commits killed the 5GHz band WiFi performance. The 14.59 Mbits/sec number is an average number out of 3 test runs where I got the following numbers 4.75, 35.4 and 3.62 Mbits/sec. The 2.4 GHz performance is up a bit once again. While using the noscan '1' option, and connecting at 300 Mbps, I reach 105 Mbits/sec.

Updated numbers:

Build Band (GHz) Speed (Mbits/sec)
r6339 2.4 105
r6339 5 14.59
r6336 2.4 75.6
r6336 5 99.1
r6302 2.4 58.4
r6302 5 91.8
r6150 2.4 56.7
r6150 5 107
r6009 2.4 43.7
r6009 5 40.7
r5442 2.4 73.5
r5442 5 57.4

Channel 1 with 20mhz width: https://imgur.com/a/4U5D8

Channel 11 with 40mhz width: https://imgur.com/a/8OXFM

So it has definitely gotten a bit better, but I am still nowhere near the speed before the Minstrel patches. I will fetch the latest commits and redo my testing in a bit.

1 Like

Sorry about that, there was one more missing check that I needed to add. 5 GHz throughput should be back to normal now.