Optimized build for the D-Link DIR-860L

Yes, 2.4G is only a half speed of the previous version. I tested on my wndr3800ch and wndr3700 v4.

With minstrel patch on wndr3800ch:

              best   ____________rate__________    ________statistics________    _____last____    ______sum-of________
mode guard #  rate  [name   idx airtime  max_tp]  [avg(tp) avg(prob) sd(prob)]  [retry|suc|att]  [#success | #attempts]
CCK    LP  1          1.0M  120   10548     0.0       0.0      99.1      5.6       0     3 3         10711   11661    
CCK    LP  1          2.0M  121    5476     0.0       0.0       0.0      0.0       0     0 0             0   0        
CCK    LP  1          5.5M  122    2411     2.4       0.0       0.0      0.0       0     0 0             0   0        
CCK    LP  1         11.0M  123    1535     4.8       0.0       0.0      0.0       0     0 0             0   0        
CCK    SP  1          2.0M  125    5380     0.0       0.0       0.0      0.0       0     0 0             0   0        
CCK    SP  1          5.5M  126    2315     2.4       0.0       0.0      0.0       0     0 0             0   0        
CCK    SP  1         11.0M  127    1439     4.8       0.0       0.0      0.0       0     0 0             0   0        
HT20  LGI  1         MCS0     0    1477     4.8       4.8     100.0      0.0       1     0 0             1   1        
HT20  LGI  1         MCS1     1     738     9.7       9.7     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS2     2     492    14.6      14.6     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS3     3     369    19.5      19.5     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS4     4     246    29.2      29.2     100.0      0.0       5     0 0             1   1        
HT20  LGI  1         MCS5     5     185    36.6      36.6      95.5     20.4       0     0 0            34   40       
HT20  LGI  1         MCS6     6     164    39.0      39.0     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS7     7     148    43.9      43.9     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS0    60     711     9.7       9.7     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS1    61     356    19.5      19.5     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS2    62     237    29.2      29.2     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS3    63     178    36.6      36.6     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS4    64     119    51.2      51.2     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS5    65      89    61.0      61.0     100.0      0.0       6     0 0             1   1        
HT40  LGI  1     D   MCS6    66      79    65.9      65.9      98.1     12.1       5     0 0           145   255      
HT40  LGI  1   B     MCS7    67      71    70.8      70.8      99.9      0.0       5     0 0          5257   5769     
HT40  SGI  1         MCS0    90     640    12.2      12.2     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS1    91     320    21.9      21.9     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS2    92     214    31.7      31.7     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS3    93     160    41.5      41.5     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS4    94     107    53.7      53.7     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS5    95      80    65.9      65.9      95.2     19.9       5     0 0           707   833      
HT40  SGI  1    C    MCS6    96      71    70.8      70.8      95.4     18.9       5     0 0          3986   4533     
HT40  SGI  1  A   P  MCS7    97      64    75.6      75.6      97.3      2.2       6    87 87       487390   513133   

Total packet count::    ideal 496366      lookaround 11920
Average # of aggregated frames per A-MPDU: 2.8

Without minstrel patch on wndr3800ch:

              best   ____________rate__________    ________statistics________    _____last____    ______sum-of________
mode guard #  rate  [name   idx airtime  max_tp]  [avg(tp) avg(prob) sd(prob)]  [retry|suc|att]  [#success | #attempts]
CCK    LP  1          1.0M  120   10548     0.0       0.0      79.7     25.2       0     0 0            76   87       
CCK    LP  1          2.0M  121    5476     0.0       0.0     100.0      0.0       0     0 0             1   1        
CCK    LP  1          5.5M  122    2411     2.4       2.4     100.0      0.0       0     0 0             1   1        
CCK    LP  1         11.0M  123    1535     4.8       4.8     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS0     0    1477     4.8       4.8     100.0      0.0       1     0 0             1   1        
HT20  LGI  1         MCS1     1     739     9.7       9.7      95.5     14.4       0     0 0            39   42       
HT20  LGI  1         MCS2     2     493    17.0      17.0     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS3     3     369    21.9      21.9     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS4     4     246    34.1      34.1     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS5     5     185    43.9      43.9     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS6     6     164    48.8      48.8     100.0      0.0       0     0 0             1   1        
HT20  LGI  1         MCS7     7     148    56.1      56.1     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS0    60     711    12.2      12.2     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS1    61     356    24.4      24.4     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS2    62     237    34.1      34.1     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS3    63     178    46.3      46.3     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS4    64     119    68.3      68.3     100.0      0.0       0     0 0             1   1        
HT40  LGI  1         MCS5    65      89    87.8      87.8     100.0      0.0       0     0 0             1   1        
HT40  LGI  1     D   MCS6    66      79    97.6      97.6      99.5      0.0       5     0 0           221   224      
HT40  LGI  1   B     MCS7    67      71   107.4     107.4      99.2      3.1       5     0 0          4322   4810     
HT40  SGI  1         MCS0    90     640    12.2      12.2     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS1    91     320    26.8      26.8     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS2    92     214    39.0      39.0     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS3    93     160    51.2      51.2     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS4    94     107    73.2      73.2     100.0      0.0       0     0 0             1   1        
HT40  SGI  1         MCS5    95      80    97.6      97.6      95.4     20.4       5     0 0           213   219      
HT40  SGI  1    C    MCS6    96      71   107.4     107.4      95.7     12.5       5     0 0          2029   2315     
HT40  SGI  1  A   P  MCS7    97      64   117.1     117.1      96.0      3.4       5   369 370     1027261   1107439  

Total packet count::    ideal 1033663      lookaround 559
Average # of aggregated frames per A-MPDU: 9.2

Testing wireless performance on r6302 with iperf3 running for 60 seconds yields the following results:

2.4 GHz band connecting at 144 Mbps:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-60.00 sec 418 MBytes 58.4 Mbits/sec sender
[ 4] 0.00-60.00 sec 418 MBytes 58.4 Mbits/sec receiver

5 GHz band connecting at 866.7 Mbps:
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-60.00 sec 657 MBytes 91.8 Mbits/sec sender
[ 4] 0.00-60.00 sec 657 MBytes 91.8 Mbits/sec receiver

Compared to other builds:

Build Band (GHz) Speed (Mbits/sec)
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

To keep it short, 2.4 GHz performance seems unchanged but down from r5442. 5 GHz performs worse then on previous build (r6150) but performs better then previous builds.

Since there have been more mac80211 commits what is the build number of the build you are testing?

@nbd Another person reporting a roughly 50% speed cut with the Minstrel patches. Yet @Bartvz reports unchanged performance. Perhaps it is client dependent? Is there anything else we can do to help pinpoint the issue further?

It's my custom build with the latest master source (2018-02-25).
I applied the fast path patch and some small modification.
Please refer my github repository, use the master-custbuild branch:

@sotux
Hi,I'm interesting to test your custom build for fast patch
so I just select kmod-ipt-offload then put "iptables -D FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j FLOWOFFLOAD" to firewall.user ? is that right ?

thank you

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