SQM and dslreports test

Hi there just got a question about SQM, I've been through the how to's and read a lot of other post about it and I've set mine up as i think it should be and im happy with how much it has helped my bufferbloat as it was quite bad at times. what i would like to know is if ive got it as good as it gets with my line or if it can be tuned more to keep it down more. I am with virgin media that uses fibre and my speeds without sqm are roughly 200/10 although can be a bit higher at times, i do all config through the gui and will post dslreports results both with sqm on and off, thanks for any answers.

sqm off

sqm on

would just like to add that most other tests ive done have had a+ bufferbloat.

I personally set dl/uprate at 80% because bufferbloat can go up if a lot is going on the isp side. For example late afternoon once everybody come home and start downloading stuff on each dsl/cable line. It can happen that they cant give you the full speed for a second or so. For more unstable line (like LTE) you can even try autorate-ingress.

Take a look over here: https://dl.lochnair.net/Bufferbloat/Cake/tc-cake.8.html

You can inform yourself over the overhead you need to set and all the additional option existing for your cable line. Do it without luci, since some options are not available or will overwrite those made by you. Use cli with nano/vim or uci instead.

To give you an idea of what is possible, here is my config for my vdsl2 line in germany:

config queue 'eth1'
	option debug_logging '0'
	option verbosity '5'
	option qdisc 'cake'
	option enabled '1'
	option download '75200'
	option upload '28000'
	option interface 'pppoe-wan'
	option qdisc_advanced '1'
	option squash_dscp '1'
	option ingress_ecn 'ECN'
	option qdisc_really_really_advanced '1'
	option iqdisc_opts 'pppoe-ptm ether-vlan diffserv4 nat dual-srchost ingress'
	option eqdisc_opts 'pppoe-ptm ether-vlan diffserv4 nat dual-dsthost'
	option squash_ingress '0'
	option egress_ecn 'ECN'
	option script 'layer_cake.qos'

Some ECN settings are experimental for my setup and you will probably wont need it.

I would recommend to kick-out those "pppoe-ptm ether-vlan" keywords and use:

        option qdisc_advanced '1'
        option qdisc_really_really_advanced '1'
        option linklayer 'ethernet'
        option overhead '34'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '64'
        option linklayer_adaptation_mechanism 'default'

instead, as pppoe-ptm does not set the mpu appropriately.

1 Like

Thanks for replies, what i was looking for was someone with the right knowledge to take a quick look at my reports and tell me if they think they are reasonable, ive never done cli config or anything so a bit hesitant to start. I know theres alot of variables settings, and if theres interest i can send pics of what ive done to Sqm tomorrow.

Well, CLI does not really need to be scary, see https://openwrt.org/docs/guide-quick-start/sshadministration
Then just issue the following commands and paste the output here:

cat /etc/config/sqm
tc -s qdisc
cat /proc/cpuinfo 
cat /etc/os-release 
2 Likes

will take a look tomorrow when ive got time, i take it that would be easier to have a look at than my report or just pics of what ive set up. I appreciate the help.

1 Like

Thank you. Its kinda hard to find all informations needed. Setting the mtu was the next step to look at for me.

So just install putty and then sign into router from there, then type those commands?

1 Like

Yes, please! That is type the command and then copy the output (best including the actual command line) into a new message in this thread. For a nicer display add a line with 3 backticks ` (I only show a single one here, other wise the forum will change the formatting) before and after the pasted data.

1 Like

Ok i will try and do it soon thanks.

Oh, MTU is fine the issue is the mpu or the minimal packet size that an interface will ever encounter, in the case of ethernet that that would be 84 bytes I believe (64 plus IFG and preamble) and for VDSL2 it probably is 68. But I note that most packets will exceed this size all by themselves (notorious exceptions are e.g. ARP packets, but these are rare on VDSL links as far as I can tell.)

Putty isnt recognizing my password for openwrt although i can log into the router on a browser with same password no problem.

Anyone any ideas why my password wouldnt be recognised using putty, thanks.

make sure to use ssh, putty have ssh and telnet.

FYI, I use a free utility called prettyping for a basic test of bufferbloat. It works on most BSD, LINUX, MAC OSX platforms.

Jasons-MBP:Downloads Jason$ ./prettyping 8.8.8.8
0 ▁ 10 ▂ 20 ▃ 30 ▄ 40 ▅ 50 ▆ 60 ▇ 70 █ 80 ▁ 90 ▂ 100 ▃ 110 ▄ 120 ▅ 130 ▆ 140 ▇ 150 █ 160 ▁ 170 ▂ 180 ▃ 190 ▄ 200 ▅ 210 ▆ 220 ▇ 230 █ ∞
PING 8.8.8.8 (8.8.8.8): 56 data bytes
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄^C
 0/ 69 ( 0%) lost;   35/  37/  39ms; last:   36ms
 0/ 60 ( 0%) lost;   35/  37/  38/   1ms (last 60)
--- 8.8.8.8 ping statistics ---
69 packets transmitted, 69 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 35.530/37.338/39.527/0.896 ms

Thanks i managed to sort out my problem using putty, simple question, how do i copy and paste the results to the commands you asked for in putty?

Should be just left click and drag a selection in putty. It should auto copy the selection to clipboard, then paste the results into your reply with triple backticks a line by themselves like this

type or paste code here

Thanks alot.

root@OpenWrt:~# cat /etc/config/sqm

config queue 'eth1'
        option debug_logging '0'
        option interface 'eth1.2'
        option verbosity '5'
        option upload '10800'
        option qdisc 'cake'
        option linklayer 'ethernet'
        option overhead '18'
        option qdisc_advanced '1'
        option squash_dscp '1'
        option squash_ingress '1'
        option ingress_ecn 'ECN'
        option egress_ecn 'NOECN'
        option qdisc_really_really_advanced '1'
        option iqdisc_opts 'nat dual-dsthost'
        option eqdisc_opts 'nat dual-srchost'
        option download '172000'
        option linklayer_advanced '1'
        option tcMTU '2047'
        option tcTSIZE '128'
        option tcMPU '64'
        option linklayer_adaptation_mechanism 'cake'
        option script 'piece_of_cake.qos'
        option enabled '1'
root@OpenWrt:~# 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 mq 0: dev eth1 root
 Sent 10154241909 bytes 100296025 pkt (dropped 0, overlimits 0 requeues 18)
 backlog 0b 0p requeues 18
qdisc fq_codel 0: dev eth1 parent :8 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth1 parent :7 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth1 parent :6 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth1 parent :5 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth1 parent :4 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth1 parent :3 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth1 parent :2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth1 parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
 Sent 10154241909 bytes 100296025 pkt (dropped 0, overlimits 0 requeues 18)
 backlog 0b 0p requeues 18
  maxpacket 1514 drop_overlimit 0 new_flow_count 5 ecn_mark 0
  new_flows_len 0 old_flows_len 0
qdisc mq 0: dev eth0 root
 Sent 54548006872 bytes 41638566 pkt (dropped 0, overlimits 0 requeues 322)
 backlog 0b 0p requeues 322
qdisc fq_codel 0: dev eth0 parent :8 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth0 parent :7 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth0 parent :6 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth0 parent :5 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth0 parent :4 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth0 parent :3 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth0 parent :2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev eth0 parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
 Sent 54548006872 bytes 41638566 pkt (dropped 0, overlimits 0 requeues 322)
 backlog 0b 0p requeues 322
  maxpacket 7570 drop_overlimit 0 new_flow_count 231 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 cake 8013: dev eth1.2 root refcnt 2 bandwidth 10800Kbit besteffort dual-srchost nat nowash no-ack-filter split-gso rtt 100.0ms noatm overhead 18 mpu 64
 Sent 4811708279 bytes 56157300 pkt (dropped 12106, overlimits 67131212 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 1655168b of 4Mb
 capacity estimate: 10800Kbit
 min/max network layer size:           28 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average network hdr offset:           14

                  Tin 0
  thresh      10800Kbit
  target          5.0ms
  interval      100.0ms
  pk_delay        552us
  av_delay         54us
  sp_delay          0us
  backlog            0b
  pkts         56169406
  bytes      4829767780
  way_inds      2139688
  way_miss       256049
  way_cols            0
  drops           12106
  marks               0
  ack_drop            0
  sp_flows            0
  bk_flows            1
  un_flows            0
  max_len         15774
  quantum           329

qdisc ingress ffff: dev eth1.2 parent ffff:fff1 ----------------
 Sent 203652070639 bytes 155213759 pkt (dropped 0, overlimits 0 requeues 0)
 backlog 0b 0p requeues 0
qdisc mq 0: dev wlan0 root
 Sent 62109115485 bytes 45515213 pkt (dropped 0, overlimits 0 requeues 1)
 backlog 0b 0p requeues 1
qdisc fq_codel 0: dev wlan0 parent :4 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev wlan0 parent :3 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
 Sent 62108616977 bytes 45513287 pkt (dropped 0, overlimits 0 requeues 1)
 backlog 0b 0p requeues 1
  maxpacket 3483 drop_overlimit 0 new_flow_count 91 ecn_mark 0
  new_flows_len 0 old_flows_len 1
qdisc fq_codel 0: dev wlan0 parent :2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb 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 fq_codel 0: dev wlan0 parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
 Sent 498508 bytes 1926 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 mq 0: dev wlan1 root
 Sent 191868196816 bytes 150255023 pkt (dropped 98, overlimits 0 requeues 11)
 backlog 0b 0p requeues 11
qdisc fq_codel 0: dev wlan1 parent :4 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
 Sent 89482591 bytes 233630 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 fq_codel 0: dev wlan1 parent :3 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
 Sent 191776466893 bytes 150017986 pkt (dropped 98, overlimits 0 requeues 11)
 backlog 0b 0p requeues 11
  maxpacket 3422 drop_overlimit 0 new_flow_count 508 ecn_mark 0
  new_flows_len 1 old_flows_len 4
qdisc fq_codel 0: dev wlan1 parent :2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
 Sent 1945101 bytes 1589 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 fq_codel 0: dev wlan1 parent :1 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms memory_limit 4Mb ecn
 Sent 302231 bytes 1818 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 cake 8014: dev ifb4eth1.2 root refcnt 2 bandwidth 172Mbit besteffort dual-dsthost nat wash no-ack-filter split-gso rtt 100.0ms noatm overhead 18 mpu 64
 Sent 208433917572 bytes 155209852 pkt (dropped 3907, overlimits 128349415 requeues 0)
 backlog 0b 0p requeues 0
 memory used: 2773220b of 8600000b
 capacity estimate: 172Mbit
 min/max network layer size:           46 /    1500
 min/max overhead-adjusted size:       64 /    1518
 average network hdr offset:           14

                  Tin 0
  thresh        172Mbit
  target          5.0ms
  interval      100.0ms
  pk_delay        6.0ms
  av_delay        4.5ms
  sp_delay          1us
  backlog            0b
  pkts        155213759
  bytes    208439744325
  way_inds      8451829
  way_miss       256553
  way_cols            0
  drops            3907
  marks               1
  ack_drop            0
  sp_flows            1
  bk_flows            1
  un_flows            0
  max_len         23804
  quantum          1514