Enabling SQM causes bufferfloat to go from B to C on a cable connection

I have followed the guide on lede wiki (as a new user I cannot link to it).

When enabling SQM, I get worse results, DSL Reports grade my bufferfloat as C whereas without SQM enabled, I got a B. Which seems quite puzzling.

What brand/model router do you have? D-Link DIR-860L

What version of LEDE are you using? 17.01.0 (release)

How do you connect to the internet? Cable (ISP UPC in the Czech Republic, the biggest cable provider in the country)

What's your nominal/expected/advertised download speed? 100 mbit/s
Upload speed? 10 mbit

If you turn off all QoS/management, what are your measured download/upload speeds? 91.4/9.58 Mbps http://www.dslreports.com/speedtest/11423316

What is the WAN "interface name" in the Network -> Interfaces page? eth0.2

What parameters do you see in the Network -> SQM-QoS values? The most important are:
Enable this SQM instance (should be checked) Checked
Interface name (should be the same as the "WAN interface name" from above) The same eth0.2
The number entered for Download Speed (in kbps) 80000
The number entered for Upload Speed (in kbps) 8500
Queue discipline (default is "piece of cake" if it's a new build, or fq_codel) cake and piece of cake
Set "Which Link Layer to account for:"
If you're on cable, should be "none" None
If you're using DSL/ADSL, should be "ATM", and Per-Packet Overhead (in the Link Adaptation tab) should be 44
If you're using VDSL2, should be Ethernet with overhead and Per-Packet Overhead should be 8

With bufferfloat enabled, I get this: http://www.dslreports.com/speedtest/11426272 - that is lower speed and a worse grade (C) from bufferfloat. But looking at the actuall graphs, the latencies seem to be lower, just the samples are higher. How can I interpret that, does SQM work in my case or not (I have not tried yet much in actual traffic but I never got problems with latencies that I noticed, but maybe I was only attributing them to my browser and not to my connection).

Can you install ethtool and issue this command:

# ethtool -K eth0 tso off gso off gro off

If you re-test after, what does it report?

Could you try the script simple and the qdisc fq_codel for a test with dslreports, please, also post the output of:
tc -d qdisc
tc -s qdisc
tc -s class show dev eth0.2
tc -s class show dev ifb4eth0.2

preferably before and importantly after the speedtest, please?
Also you should follow Borromini's advise...

Best Regards

Thanks for the suggestion, Borromini. That does not seem to change anything (the results semm to be the same: http://www.dslreports.com/speedtest/11532854 I will now try moeller0's suggestions.

Before:
tc -d qdisc

qdisc noqueue 0: dev lo root refcnt 2 
qdisc fq_codel 0: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn 
qdisc noqueue 0: dev br-lan root refcnt 2 
qdisc noqueue 0: dev eth0.1 root refcnt 2 
qdisc htb 1: dev eth0.2 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 1000
 linklayer ethernet overhead 28 
qdisc fq_codel 110: dev eth0.2 parent 1:11 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
qdisc fq_codel 120: dev eth0.2 parent 1:12 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
qdisc fq_codel 130: dev eth0.2 parent 1:13 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
qdisc ingress ffff: dev eth0.2 parent ffff:fff1 ---------------- 
qdisc htb 1: dev ifb4eth0.2 root refcnt 2 r2q 10 default 10 direct_packets_stat 0 ver 3.17 direct_qlen 32
 linklayer ethernet overhead 28 
qdisc fq_codel 110: dev ifb4eth0.2 parent 1:10 limit 1001p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn 
qdisc noqueue 0: dev wlan1 root refcnt 2 
qdisc noqueue 0: dev wlan0 root refcnt 2 

tc -s qdisc

qdisc noqueue 0: dev lo root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc fq_codel 0: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn 
 Sent 4468643 bytes 16408 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 1484 drop_overlimit 0 new_flow_count 21 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc noqueue 0: dev br-lan root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc noqueue 0: dev eth0.1 root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 1: dev eth0.2 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 1000
 Sent 1928106 bytes 10126 pkt (dropped 0, overlimits 1602 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc fq_codel 110: dev eth0.2 parent 1:11 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
 Sent 338992 bytes 2032 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 618 drop_overlimit 0 new_flow_count 1115 ecn_mark 0
  new_flows_len 1 old_flows_len 4
qdisc fq_codel 120: dev eth0.2 parent 1:12 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
 Sent 1589114 bytes 8094 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 8302 drop_overlimit 0 new_flow_count 1659 ecn_mark 0
  new_flows_len 1 old_flows_len 1
qdisc fq_codel 130: dev eth0.2 parent 1:13 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc ingress ffff: dev eth0.2 parent ffff:fff1 ---------------- 
 Sent 16468814 bytes 23411 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 1: dev ifb4eth0.2 root refcnt 2 r2q 10 default 10 direct_packets_stat 0 direct_qlen 32
 Sent 17447666 bytes 23411 pkt (dropped 0, overlimits 7573 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc fq_codel 110: dev ifb4eth0.2 parent 1:10 limit 1001p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn 
 Sent 17447666 bytes 23411 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 4378 drop_overlimit 0 new_flow_count 4091 ecn_mark 0
  new_flows_len 1 old_flows_len 3
qdisc noqueue 0: dev wlan1 root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc noqueue 0: dev wlan0 root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 

tc -s class show dev eth0.2

class htb 1:11 parent 1:1 leaf 110: prio 1 rate 128Kbit ceil 2333Kbit burst 1600b cburst 1599b 
Sent 347690 bytes 2083 pkt (dropped 0, overlimits 0 requeues 0) 
rate 0bit 0pps backlog 0b 0p requeues 0 
lended: 1621 borrowed: 462 giants: 0
tokens: 903316 ctokens: 53240

class htb 1:1 root rate 7Mbit ceil 7Mbit burst 1598b cburst 1598b 
Sent 2036930 bytes 10830 pkt (dropped 0, overlimits 0 requeues 0) 
rate 0bit 0pps backlog 0b 0p requeues 0 
lended: 1441 borrowed: 0 giants: 0
tokens: 25294 ctokens: 25294

class htb 1:13 parent 1:1 leaf 130: prio 3 rate 1166Kbit ceil 6984Kbit burst 1599b cburst 1599b 
Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
rate 0bit 0pps backlog 0b 0p requeues 0 
lended: 0 borrowed: 0 giants: 0
tokens: 171515 ctokens: 28625

class htb 1:12 parent 1:1 leaf 120: prio 2 rate 1166Kbit ceil 6984Kbit burst 1599b cburst 1599b 
Sent 1689240 bytes 8747 pkt (dropped 0, overlimits 0 requeues 0) 
rate 0bit 0pps backlog 0b 0p requeues 0 
lended: 7604 borrowed: 979 giants: 0
tokens: 151896 ctokens: 25349

class fq_codel 110:1b8 parent 110: 
(dropped 0, overlimits 0 requeues 0) 
backlog 0b 0p requeues 0 
deficit 101 count 0 lastcount 0 ldelay 4us
class fq_codel 110:26a parent 110: 
(dropped 0, overlimits 0 requeues 0) 
backlog 0b 0p requeues 0 
deficit 190 count 0 lastcount 0 ldelay 3us
class fq_codel 110:37d parent 110: 
(dropped 0, overlimits 0 requeues 0) 
backlog 0b 0p requeues 0 
deficit 268 count 0 lastcount 0 ldelay 5us
class fq_codel 110:3e6 parent 110: 
(dropped 0, overlimits 0 requeues 0) 
backlog 0b 0p requeues 0 
deficit -124 count 0 lastcount 0 ldelay 5us
class fq_codel 120:10 parent 120: 
(dropped 0, overlimits 0 requeues 0) 
backlog 0b 0p requeues 0 
deficit 117 count 0 lastcount 0 ldelay 7us
class fq_codel 120:1a7 parent 120: 
(dropped 0, overlimits 0 requeues 0) 
backlog 0b 0p requeues 0 
deficit 206 count 0 lastcount 0 ldelay 5us
class fq_codel 120:1b5 parent 120: 
(dropped 0, overlimits 0 requeues 0) 
backlog 0b 0p requeues 0 
deficit 112 count 0 lastcount 0 ldelay 5us
class fq_codel 120:240 parent 120: 
(dropped 0, overlimits 0 requeues 0) 
backlog 0b 0p requeues 0 
deficit 116 count 0 lastcount 0 ldelay 4us

tc -s class show dev ifb4eth0.2

class htb 1:10 parent 1:1 leaf 110: prio 0 rate 90Mbit ceil 90Mbit burst 5985b cburst 5985b     
 Sent 20328169 bytes 27774 pkt (dropped 0, overlimits 0 requeues 0)     
 rate 0bit 0pps backlog 0b 0p requeues 0     
 lended: 27659 borrowed: 0 giants: 0    
 tokens: 8205 ctokens: 8205    
    
class htb 1:1 root rate 90Mbit ceil 90Mbit burst 5985b cburst 5985b     
 Sent 20328169 bytes 27774 pkt (dropped 0, overlimits 0 requeues 0)     
 rate 0bit 0pps backlog 0b 0p requeues 0     
 lended: 0 borrowed: 0 giants: 0    
 tokens: 8205 ctokens: 8205    
    
class fq_codel 110:1a4 parent 110:     
 (dropped 0, overlimits 0 requeues 0)     
 backlog 0b 0p requeues 0     
  deficit 458 count 0 lastcount 0 ldelay 4us    
class fq_codel 110:228 parent 110:     
 (dropped 0, overlimits 0 requeues 0)     
 backlog 0b 0p requeues 0     
  deficit 923 count 0 lastcount 0 ldelay 5us    
class fq_codel 110:249 parent 110:     
 (dropped 0, overlimits 0 requeues 0)     
 backlog 0b 0p requeues 0     
  deficit 1330 count 0 lastcount 0 ldelay 7us

After:
tc -d qdisc

qdisc noqueue 0: dev lo root refcnt 2 
qdisc fq_codel 0: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn 
qdisc noqueue 0: dev br-lan root refcnt 2 
qdisc noqueue 0: dev eth0.1 root refcnt 2 
qdisc htb 1: dev eth0.2 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 ver 3.17 direct_qlen 1000
 linklayer ethernet overhead 28 
qdisc fq_codel 110: dev eth0.2 parent 1:11 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
qdisc fq_codel 120: dev eth0.2 parent 1:12 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
qdisc fq_codel 130: dev eth0.2 parent 1:13 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
qdisc ingress ffff: dev eth0.2 parent ffff:fff1 ---------------- 
qdisc htb 1: dev ifb4eth0.2 root refcnt 2 r2q 10 default 10 direct_packets_stat 0 ver 3.17 direct_qlen 32
 linklayer ethernet overhead 28 
qdisc fq_codel 110: dev ifb4eth0.2 parent 1:10 limit 1001p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn 
qdisc noqueue 0: dev wlan1 root refcnt 2 
qdisc noqueue 0: dev wlan0 root refcnt 2 

tc -s qdisc

qdisc noqueue 0: dev lo root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc fq_codel 0: dev eth0 root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn 
 Sent 314417881 bytes 361778 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 3028 drop_overlimit 0 new_flow_count 4880 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc noqueue 0: dev br-lan root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc noqueue 0: dev eth0.1 root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 1: dev eth0.2 root refcnt 2 r2q 10 default 12 direct_packets_stat 0 direct_qlen 1000
 Sent 49486142 bytes 153457 pkt (dropped 1100, overlimits 71813 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc fq_codel 110: dev eth0.2 parent 1:11 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
 Sent 427034 bytes 2615 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 618 drop_overlimit 0 new_flow_count 1475 ecn_mark 0
  new_flows_len 0 old_flows_len 1
qdisc fq_codel 120: dev eth0.2 parent 1:12 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
 Sent 49059108 bytes 150842 pkt (dropped 1100, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 10230 drop_overlimit 0 new_flow_count 71463 ecn_mark 0
  new_flows_len 1 old_flows_len 1
qdisc fq_codel 130: dev eth0.2 parent 1:13 limit 1001p flows 1024 quantum 300 target 5.0ms interval 100.0ms ecn 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc ingress ffff: dev eth0.2 parent ffff:fff1 ---------------- 
 Sent 285854283 bytes 236086 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc htb 1: dev ifb4eth0.2 root refcnt 2 r2q 10 default 10 direct_packets_stat 0 direct_qlen 32
 Sent 292520219 bytes 233990 pkt (dropped 2094, overlimits 331881 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc fq_codel 110: dev ifb4eth0.2 parent 1:10 limit 1001p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn 
 Sent 292520219 bytes 233990 pkt (dropped 2094, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  maxpacket 7334 drop_overlimit 0 new_flow_count 27544 ecn_mark 0
  new_flows_len 1 old_flows_len 2
qdisc noqueue 0: dev wlan1 root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
qdisc noqueue 0: dev wlan0 root refcnt 2 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 

tc -s class show dev eth0.2

class htb 1:11 parent 1:1 leaf 110: prio 1 rate 128Kbit ceil 2333Kbit burst 1600b cburst 1599b 
 Sent 427192 bytes 2616 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 2154 borrowed: 462 giants: 0
 tokens: 1408203 ctokens: 77252

class htb 1:1 root rate 7Mbit ceil 7Mbit burst 1598b cburst 1598b 
 Sent 49489076 bytes 153467 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 96950 borrowed: 0 giants: 0
 tokens: 25329 ctokens: 25329
                                                                                               [0/321]
class htb 1:13 parent 1:1 leaf 130: prio 3 rate 1166Kbit ceil 6984Kbit burst 1599b cburst 1599b 
 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 171515 ctokens: 28625

class htb 1:12 parent 1:1 leaf 120: prio 2 rate 1166Kbit ceil 6984Kbit burst 1599b cburst 1599b 
 Sent 49061884 bytes 150851 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 53017 borrowed: 96488 giants: 0
 tokens: 152111 ctokens: 25385

class fq_codel 110:366 parent 110: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  deficit -96 count 0 lastcount 0 ldelay 9us
class fq_codel 120:65 parent 120: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  deficit 119 count 0 lastcount 0 ldelay 7us
class fq_codel 120:1a7 parent 120: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  deficit -78 count 0 lastcount 0 ldelay 3us
class fq_codel 120:2c0 parent 120: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  deficit 211 count 0 lastcount 0 ldelay 6us

tc -s class show dev ifb4eth0.2

class htb 1:10 parent 1:1 leaf 110: prio 0 rate 90Mbit ceil 90Mbit burst 5985b cburst 5985b 
 Sent 292534658 bytes 234071 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 233506 borrowed: 0 giants: 0
 tokens: 8205 ctokens: 8205

class htb 1:1 root rate 90Mbit ceil 90Mbit burst 5985b cburst 5985b 
 Sent 292534658 bytes 234071 pkt (dropped 0, overlimits 0 requeues 0) 
 rate 0bit 0pps backlog 0b 0p requeues 0 
 lended: 0 borrowed: 0 giants: 0
 tokens: 8205 ctokens: 8205

class fq_codel 110:12d parent 110: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  deficit 195 count 0 lastcount 0 ldelay 10us
class fq_codel 110:147 parent 110: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  deficit 1420 count 0 lastcount 0 ldelay 5us
class fq_codel 110:1a4 parent 110: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  deficit 722 count 0 lastcount 0 ldelay 4us
class fq_codel 110:228 parent 110: 
 (dropped 0, overlimits 0 requeues 0) 
 backlog 0b 0p requeues 0 
  deficit 1017 count 0 lastcount 0 ldelay 3us

DSL report got worse to D: dsl reports speedtest number 11534325 (the forum prevents me from linking to the server)

I tested without the Borromini's suggestion though (without issueing the ethtool command).

Okay, your dslreports test show that upstream/egress shaping works pretty well, it is downstream shaping that does not work well at all. Do you by any chance have a router model that has its WAN port connected through a switch (like one of the WRT1200/1900/3200 models, others have reported issues with downstream shaping on those devices which we have not yet managed to fully understand)?

I also notice that you set simple.qos to 90/7 Mbps, instead of the the 80/8.5Mbps you mention above. Could you retry with 50/5 Mbps just for testing? And could you also re-try with @Borromini's recommendations and 50/5, please?

As hinted above I have a hunch that something is not working correctly but I can not put my finger on what is off...

Best Regards

I have D-Link DIR-860L - how would I find out if the WAN port is connected through a switch?

With cake and piece of cake, 50/5 (I am not sure why 90/7 was there, it must have changed somehow during the tests, I don't remember changing the values, maye switching the que disciplines changes those values? Or I am too scatterbrained:-)), the results are worse, an F: dslreports.com speedtest link 11574759 (still prevented from linking to that site, probably the forum thinks I am a spammer:-)).

With @Borromini's suggestion, it seems to be the same: dslreports speedtest link 11574828

Should I post the outputs of tc commands for both before and after with out without the suggestion at 50/5 speed?

I have D-Link DIR-860L - how would I find out if the WAN port is connected through a switch?

if the wan port has a name like eth1 or eth0 it's probably not going through a
switch (although on older versions of OpenWRT this could still be the case), if
it has a name like eth1.1 or eth0.3 then it is going through a switch.

David Lang

It's name is eth0.2, so I assume it is going through the switch,

Okay, again it is the ingress shaping that goes pear shaped. I bet setting the download shaper speed to 0 (which just disables the shaper for the ingress direction) you will get better results. Mind you that is just a work around, and does not really explain why ingress shaping does not seem to work for a number of routers that connect the wan port via a switch, but it should be better than no shaper at all (often the uplink's smaller bandwidth makes a shaper there even more important than on ingress).

Indeed, following your suggestion gives me an A bufferfloat result: dslreports speedtest 11638794

However, that only holds when I connect through 100 mbit ethernet cable. when I am on wifi, I get an F. Wifi is slower then cable, I get only about 45 mbits on download (and 10 mbit on upload, which is ISP-bound): dslreports speedtest 11638646 Is that expected?

Anyway, I am willing to test any improvements for my situation should you discover the cause of this:-).

Indeed, following your suggestion gives me an A bufferfloat result: dslreports speedtest 11638794

However, that only holds when I connect through 100 mbit ethernet cable. when
I am on wifi, I get an F. Wifi is slower then cable, I get only about 45 mbits
on download (and 10 mbit on upload, which is ISP-bound): dslreports speedtest
11638646 Is that expected?

45 Mb on wifi is actually pretty darn good (assuming you are sticking with 20MHz
wide channels)

wifi adds a lot of latency, and can be especially bad depending on the wifi
chipset in use (and it's drivers)

David Lang

Well, I am using 40 MHz channels (and 5Ghz). Both my Intel 6205 card in my laptop and the router say they should be able to transmit at a rate of about 300 mbits over the air. I researched that one can expect something around 1/3 to 1/2 of the theoretical maximal speed, which should still give something around 100 mbits over N standard. Maybe I would need to use two identical wifi adapters against each other to achieve such speeds?

And there I thought solving bufferfloat was mainly about making wifi latencies go down:-). (and they say here : https://wiki.openwrt.org/toh/recommended_routers that its mt76 is more open and so should be easier to modify:-)).

Could you repeat the speedtest via wifi and concurrently log into your router and watch/monitor the output of "top -d 1" on a ssh shell, please? Look at the idle and the sirq columns, if idle runs at around 0 then your router went out of CPU resources while handling wifi and firewalling/NAT. This is unlikely and your hardware should be able to push 100Mbps easily, but maybe something is not working as expected...

@felagund - thanks for all these reports. I have bumped you from "new user" to "basic user" so you can now post links. I also whitelisted dslreports.com so that it won't trip up other new people who report problems.

Welcome to LEDE!

1 Like

No, that does not seem to be an issue. Idle is at around 80 % and more and sirq below 20 % when running the test. (When I run it with ethernet, the cpu consumption seems to be about the same but the speed is double).

I dug a bit more and at first I was not sure I was using channel bonding, but when I set the channel width to 20 mghz, the speed went down to about 10-20 mbits. When using 40 mhz channel, I get this on my laptop:

$iw dev wlp3s0 link
Connected to 54:b8:0a:27:d2:6e (on wlp3s0)
    SSID: supi_hnizdo_5ghz
    freq: 5220
    RX: 158567738 bytes (135948 packets)
    TX: 51884606 bytes (78211 packets)
    signal: -35 dBm
    tx bitrate: 270.0 MBit/s MCS 15 40MHz

    bss flags:      short-preamble short-slot-time
    dtim period:    2
    beacon int:     100

But it sometimes reports full 300mbits and sometimes go to numbers around 130 - it sometime changes from second to second. The router shows in network/wireless for tx/rx column this:

300.0 Mbit/s, 40MHz, MCS 15, Short GI
270.0 Mbit/s, 40MHz, MCS 14, Short GI

or this (again it changes frequently and this reporting is more common:

6.0 Mbit/s, 20MHz
270.0 Mbit/s, 40MHz, MCS 14, Short GI

I am sitting one metre from the router with only air between it and my laptop. Also, I downloaded linssid and it shows I am one of the only two stations transmitting in 5ghz in my building the other signal being weak and using channels far from mine.

My non-expert hypothesis would be that somehow both antennas are not used effectively? My network card is intel 6205 B/G/A/N on my Thinkpad W530 laptop and I am running Ubuntu 16.04 (with intel drivers provided by the distribution).

Is my understanding correct that I should be getting speeds aroun 100 mbits even over wifi using N standard with this setup?

Thanks! You might also want to whitelist https://wiki.lede-project.org/ (at least in my first post, it said I only could post two links, so I removed thje link to wiki I originally wanted to point to, but maybe if dslreports are whitelisted, it won't be a problem).

Done. Thanks!