What's new

FlexQoS FlexQoS 1.2.4 - Flexible QoS Enhancement Script for Adaptive QoS

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

AX86U on beta 4. Having tried develop over the weekend, noticed I've had strange results with packet loss and high ping during some online multiplayer gaming sessions. When it happened tonight, it occurred when my wife was on zoom. My ping was spiking between 80-120ms and packet loss running between 3% and 12%. I switched QoS off whilst in-game and it resolved the issue. I switched back to stable after the game and then turned QoS back on and found no issues with ping or packet loss in the next game.

Also noticed pings during SpdMerlin tests have spiked to just over 100ms yesterday. Can't say I've really noticed any other differences, certainly no improvements over the stable version.


@dave14305 Wanted to give some graphical representation to underline the testing of FlexQoS develop branch... Just found checking through ping history on Conmon, that on the 16th you can see the high ping spikes as previously mentioned. It's been stable since going back to the develop branch and I've also changed the ping server to my ISP's which is giving a more accurate representation of my latency. Jitter is the best it has been for a long time.
 

Attachments

  • Screenshot 2021-01-22 at 15.50.36.png
    Screenshot 2021-01-22 at 15.50.36.png
    70.1 KB · Views: 27
  • Screenshot 2021-01-22 at 15.58.35.png
    Screenshot 2021-01-22 at 15.58.35.png
    97.5 KB · Views: 28
It seems that fq_codel still works under latest 386 beta. Nice to have the ability to still set it :

Code:
FlexQoS v1.1.1 released 2021-01-07
 Development channel

Debug date    : 2021-01-22 21:47:33+0100
Router Model  : RT-AX88U
Firmware Ver  : 386.1_beta4
DPI/Sig Ver   : 2.0.1 / 2.212
WAN iface     : eth0
tc WAN iface  : eth0
IPv6          : disabled
Undf Prio     : 2
Down Band     : 972800
Up Band       : 97280
***********
Net Control   : 1:10
Work-From-Home: 1:11
Gaming        : 1:13
Others        : 1:16
Web Surfing   : 1:14
Streaming     : 1:12
File Downloads: 1:15
Game Downloads: 1:17
***********
Downrates     :   48640,   97280,  145920,  194560,   97280,  291840,   48640,   48640
Downceils     :  972800,  972800,  972800,  972800,  972800,  972800,  972800,  972800
Uprates       :    4864,   29184,   14592,   19456,    9728,    9728,    4864,    4864
Upceils       :   97280,   97280,   97280,   97280,   97280,   97280,   97280,   97280
***********
iptables settings: <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7<192.168.1.249>>both>>>>3<>62.168.116.130>both>>>000000>2<>92.223.24.0/24>both>>>000000>1<>92.223.20.0/20>both>>>000000>1<>>udp>>3478:3481>000000>3<>51.195.88.50>both>>>>5<>92.223.97.97>both>>>>7<>>tcp>>4244,5222,5223,5228,5242,50318,5923>000000>3<>>udp>>34784,45395,50318,59234,43808>000000>3<>62.168.116.130>both>>>13005E>2
-o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x8006ffff/0xc03fffff
-o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x4006ffff/0xc03fffff
-o br0 -p udp -m multiport --dports 16384:16415 -j MARK --set-mark 0x8006ffff/0xc03fffff
-o eth0 -p udp -m multiport --sports 16384:16415 -j MARK --set-mark 0x4006ffff/0xc03fffff
-o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x8003ffff/0xc03fffff
-o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x4003ffff/0xc03fffff
-o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803fffff/0xc03fffff
-o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403fffff/0xc03fffff
-o br0 -d 192.168.1.249 -j MARK --set-mark 0x8006ffff/0xc03fffff
-o eth0 -s 192.168.1.249 -j MARK --set-mark 0x4006ffff/0xc03fffff
-o br0 -s 62.168.116.130 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8004ffff/0xc03fffff
-o eth0 -d 62.168.116.130 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4004ffff/0xc03fffff
-o br0 -s 92.223.24.0/24 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8008ffff/0xc03fffff
-o eth0 -d 92.223.24.0/24 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4008ffff/0xc03fffff
-o br0 -s 92.223.20.0/20 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8008ffff/0xc03fffff
-o eth0 -d 92.223.20.0/20 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4008ffff/0xc03fffff
-o br0 -p udp -m multiport --sports 3478:3481 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8006ffff/0xc03fffff
-o eth0 -p udp -m multiport --dports 3478:3481 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4006ffff/0xc03fffff
-o br0 -s 51.195.88.50 -j MARK --set-mark 0x8003ffff/0xc03fffff
-o eth0 -d 51.195.88.50 -j MARK --set-mark 0x4003ffff/0xc03fffff
-o br0 -s 92.223.97.97 -j MARK --set-mark 0x803fffff/0xc03fffff
-o eth0 -d 92.223.97.97 -j MARK --set-mark 0x403fffff/0xc03fffff
-o br0 -p tcp -m multiport --sports 4244,5222,5223,5228,5242,50318,5923 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8006ffff/0xc03fffff
-o eth0 -p tcp -m multiport --dports 4244,5222,5223,5228,5242,50318,5923 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4006ffff/0xc03fffff
-o br0 -p udp -m multiport --sports 34784,45395,50318,59234,43808 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8006ffff/0xc03fffff
-o eth0 -p udp -m multiport --dports 34784,45395,50318,59234,43808 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4006ffff/0xc03fffff
-o br0 -s 62.168.116.130 -m mark --mark 0x8013005E/0xc03fffff -j MARK --set-mark 0x8004ffff/0xc03fffff
-o eth0 -d 62.168.116.130 -m mark --mark 0x4013005E/0xc03fffff -j MARK --set-mark 0x4004ffff/0xc03fffff
***********
appdb rules: <000000>6<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<13****>4<14****>4<1A****>5
filter change dev br0 prio 2 protocol all handle 828::800 u32 flowid 1:16
filter change dev eth0 prio 2 protocol all handle 828::800 u32 flowid 1:16
filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:15
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:15
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:15
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:15
filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:15
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:15
filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
filter change dev br0 prio 22 protocol all handle 802::800 u32 flowid 1:14
filter change dev eth0 prio 22 protocol all handle 802::800 u32 flowid 1:14
filter change dev br0 prio 23 protocol all handle 804::800 u32 flowid 1:14
filter change dev eth0 prio 23 protocol all handle 804::800 u32 flowid 1:14
filter change dev br0 prio 2 protocol all handle 828::802 u32 flowid 1:15
filter change dev eth0 prio 2 protocol all handle 828::802 u32 flowid 1:15
class change dev br0 parent 1:1 classid 1:10 htb overhead 4 linklayer ethernet prio 0 rate 48640Kbit ceil 972800Kbit burst 121600b cburst 1216000b quantum 608000
class change dev eth0 parent 1:1 classid 1:10 htb overhead 4 linklayer ethernet prio 0 rate 4864Kbit ceil 97280Kbit burst 12160b cburst 121600b quantum 60800
class change dev br0 parent 1:1 classid 1:11 htb overhead 4 linklayer ethernet prio 1 rate 97280Kbit ceil 972800Kbit burst 121600b cburst 1216000b quantum 1216000
class change dev eth0 parent 1:1 classid 1:11 htb overhead 4 linklayer ethernet prio 1 rate 29184Kbit ceil 97280Kbit burst 12160b cburst 121600b quantum 364800
class change dev br0 parent 1:1 classid 1:12 htb overhead 4 linklayer ethernet prio 2 rate 145920Kbit ceil 972800Kbit burst 121600b cburst 1216000b quantum 1824000
class change dev eth0 parent 1:1 classid 1:12 htb overhead 4 linklayer ethernet prio 2 rate 14592Kbit ceil 97280Kbit burst 12160b cburst 121600b quantum 182400
class change dev br0 parent 1:1 classid 1:13 htb overhead 4 linklayer ethernet prio 3 rate 194560Kbit ceil 972800Kbit burst 121600b cburst 1216000b quantum 2432000
class change dev eth0 parent 1:1 classid 1:13 htb overhead 4 linklayer ethernet prio 3 rate 19456Kbit ceil 97280Kbit burst 12160b cburst 121600b quantum 243200
class change dev br0 parent 1:1 classid 1:14 htb overhead 4 linklayer ethernet prio 4 rate 97280Kbit ceil 972800Kbit burst 121600b cburst 1216000b quantum 1216000
class change dev eth0 parent 1:1 classid 1:14 htb overhead 4 linklayer ethernet prio 4 rate 9728Kbit ceil 97280Kbit burst 12160b cburst 121600b quantum 121600
class change dev br0 parent 1:1 classid 1:15 htb overhead 4 linklayer ethernet prio 5 rate 291840Kbit ceil 972800Kbit burst 121600b cburst 1216000b quantum 3648000
class change dev eth0 parent 1:1 classid 1:15 htb overhead 4 linklayer ethernet prio 5 rate 9728Kbit ceil 97280Kbit burst 12160b cburst 121600b quantum 121600
class change dev br0 parent 1:1 classid 1:16 htb overhead 4 linklayer ethernet prio 6 rate 48640Kbit ceil 972800Kbit burst 121600b cburst 1216000b quantum 608000
class change dev eth0 parent 1:1 classid 1:16 htb overhead 4 linklayer ethernet prio 6 rate 4864Kbit ceil 97280Kbit burst 12160b cburst 121600b quantum 60800
class change dev br0 parent 1:1 classid 1:17 htb overhead 4 linklayer ethernet prio 7 rate 48640Kbit ceil 972800Kbit burst 121600b cburst 1216000b quantum 608000
class change dev eth0 parent 1:1 classid 1:17 htb overhead 4 linklayer ethernet prio 7 rate 4864Kbit ceil 97280Kbit burst 12160b cburst 121600b quantum 60800
qdisc replace dev br0 parent 1:2 fq_codel limit 1024
qdisc replace dev eth0 parent 1:2 fq_codel limit 1024
qdisc replace dev br0 parent 1:10 fq_codel limit 1024
qdisc replace dev eth0 parent 1:10 fq_codel limit 1024
qdisc replace dev br0 parent 1:11 fq_codel limit 1024
qdisc replace dev eth0 parent 1:11 fq_codel limit 1024
qdisc replace dev br0 parent 1:12 fq_codel limit 1024
qdisc replace dev eth0 parent 1:12 fq_codel limit 1024
qdisc replace dev br0 parent 1:13 fq_codel limit 1024
qdisc replace dev eth0 parent 1:13 fq_codel limit 1024
qdisc replace dev br0 parent 1:14 fq_codel limit 1024
qdisc replace dev eth0 parent 1:14 fq_codel limit 1024
qdisc replace dev br0 parent 1:15 fq_codel limit 1024
qdisc replace dev eth0 parent 1:15 fq_codel limit 1024
qdisc replace dev br0 parent 1:16 fq_codel limit 1024
qdisc replace dev eth0 parent 1:16 fq_codel limit 1024
qdisc replace dev br0 parent 1:17 fq_codel limit 1024
qdisc replace dev eth0 parent 1:17 fq_codel limit 1024
 
My fq_codel option fundamentally changes the Adaptive QoS functionality because it removes the device-level hierarchy that is where a lot of the Adaptiveness happened.

I personally think this is a decent compromise. Identified traffic being put in the right App Category buckets (classes), and then being fairly transmitted within those classes.
To get a technical sense of what is removed, run these this command before and after enabling the new fq_codel option:
Code:
tc -g class show dev br0
Not enough room for the After output.
Code:
+---(17:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
|    +---(17:11) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:10) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:256) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:12) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:3) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:4) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:5) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:6) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:7) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:8) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(17:9) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|
+---(16:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
|    +---(16:11) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:10) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:256) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:12) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:3) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:4) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:5) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:6) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:7) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:8) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(16:9) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|
+---(15:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
|    +---(15:11) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:10) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:256) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:12) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:3) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:4) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:5) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:6) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:7) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:8) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(15:9) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|
+---(14:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
|    +---(14:11) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:10) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:256) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:12) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:3) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:4) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:5) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:6) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:7) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:8) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(14:9) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|
+---(13:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
|    +---(13:11) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:10) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:256) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:12) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:3) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:4) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:5) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:6) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:7) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:8) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(13:9) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|
+---(12:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
|    +---(12:3) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:4) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:5) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:6) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:7) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:8) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:9) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:11) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:256) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:10) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:12) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(12:324) htb prio 2 rate 1600Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|
+---(11:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
|    +---(11:11) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:10) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:256) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:12) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:3) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:4) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:5) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:6) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:7) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:8) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(11:9) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|
+---(10:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
|    +---(10:11) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:10) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:256) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:12) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:3) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:4) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:5) htb prio 3 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:6) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:7) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:8) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|    +---(10:9) htb prio 2 rate 16Kbit ceil 409600Kbit burst 3200b cburst 500Kb
|
+---(1:2) htb prio 0 rate 1Gbit ceil 1Gbit burst 1249375b cburst 1249375b
+---(1:1) htb rate 409600Kbit ceil 409600Kbit burst 500Kb cburst 500Kb
     +---(1:11) htb prio 1 rate 40960Kbit overhead 18 ceil 409600Kbit burst 50Kb cburst 500Kb
     +---(1:10) htb prio 0 rate 20480Kbit overhead 18 ceil 409600Kbit burst 50Kb cburst 500Kb
     +---(1:13) htb prio 3 rate 4096Kbit overhead 18 ceil 409600Kbit burst 50Kb cburst 500Kb
     +---(1:12) htb prio 2 rate 16384Kbit overhead 18 ceil 409600Kbit burst 50Kb cburst 500Kb
     +---(1:15) htb prio 5 rate 122880Kbit overhead 18 ceil 409600Kbit burst 51179b cburst 500Kb
     +---(1:14) htb prio 4 rate 81920Kbit overhead 18 ceil 409600Kbit burst 50Kb cburst 500Kb
     +---(1:17) htb prio 7 rate 40960Kbit overhead 18 ceil 409600Kbit burst 50Kb cburst 500Kb
     +---(1:16) htb prio 6 rate 81920Kbit overhead 18 ceil 409600Kbit burst 50Kb cburst 500Kb
 
@dave14305 how do I add the text from a code? keeps saying the message is too long.

Tried typing that text you had said to use in to my SSH console and its quite long...
 
Installed 1.1.1 beta from dev branch option on my AX88U (Rmerlin 386.1 Beta-4b). Also enabled fq_codel via Customise tab on the GUI. Bufferbloat before was B to C, now solid A's. Overall & Quality went from B/C to now A or A+ on dslreports testing. Web surfuriing via browser panels, more responsive/snapper. Can only assume these changes were FlexQoS and @dave14305 awesome work, then cable connection getting tweaked by cable company.
 
Updated to dev branch all looks ok except, and this could be a coincidence, dcd is crashing every 20 min. Using AC86u with merlin 386 beta 4b
 
Last edited:
sorry if this was asked (i searched) does gear accelerator - game device Prioritizing mess with FlexQos? can I leave it on? and if yes does it do anything when using FlexQos?

and here is the dcd crash log I'm having (don't know if it's related to FlexQos but started after I update to dev version)
Jan 22 16:26:40 router kernel: dcd[5720]: unhandled level 3 translation fault (11) at 0x00000000, esr 0x92000007
Jan 22 16:26:40 router kernel: pgd = ffffffc00755b000
Jan 22 16:26:40 router kernel: [00000000] *pgd=0000000007c1e003, *pud=0000000007c1e003, *pmd=0000000007e13003, *pte=0000000000000000
Jan 22 16:26:40 router kernel: CPU: 1 PID: 5720 Comm: dcd Tainted: P O 4.1.27 #2
Jan 22 16:26:40 router kernel: Hardware name: Broadcom-v8A (DT)
Jan 22 16:26:40 router kernel: task: ffffffc012b2c100 ti: ffffffc006244000 task.ti: ffffffc006244000
Jan 22 16:26:40 router kernel: PC is at 0xf74a3f44
Jan 22 16:26:40 router kernel: LR is at 0x1dd14
Jan 22 16:26:40 router kernel: pc : [<00000000f74a3f44>] lr : [<000000000001dd14>] pstate: 600f0010
Jan 22 16:26:40 router kernel: sp : 00000000ffc562e8
Jan 22 16:26:40 router kernel: x12: 00000000000a2050
Jan 22 16:26:40 router kernel: x11: 00000000f67ff024 x10: 00000000000a23c4
Jan 22 16:26:40 router kernel: x9 : 00000000f67ff934 x8 : 00000000000a287c
Jan 22 16:26:40 router kernel: x7 : 00000000f67ff96c x6 : 00000000000a2876
Jan 22 16:26:40 router kernel: x5 : 0000000000000000 x4 : 00000000f67ff918
Jan 22 16:26:40 router kernel: x3 : 0000000000000000 x2 : 00000000ffc562c4
Jan 22 16:26:40 router kernel: x1 : 000000000007d75a x0 : 0000000000000000
 
My fq_codel option fundamentally changes the Adaptive QoS functionality because it removes the device-level hierarchy that is where a lot of the Adaptiveness happened.

I personally think this is a decent compromise. Identified traffic being put in the right App Category buckets (classes), and then being fairly transmitted within those classes.
To get a technical sense of what is removed, run these this command before and after enabling the new fq_codel option:

Not enough room for the After output.
I'm using latest stable release for Merlin and FlexQoS on Ax88U
Things seem to be working very well, but your comment above brings up a question. In using FlexQoS, should I *not* prioritize the clients on the Bandwidth Monitor Screen (Red = Highest, Yellow = High, etc.)? QoS in general is very new and confusing to me, so apologies if the answer to my question is stupidly obvious. :)
 
This is interesting. Please post the output of flexqos debug and tc filter show dev eth0
One of your appdb rules is not correctly finding the existing filter handle correctly.
Sorry Dave,
I got called out of town and before I saw your reply for more data, I Hard Reset the router and did a manual configuration.
I've not seen this condition since that time, but I'll monitor and let you know. Sorry for burying and debug data you may have gotten from me.
 
@dave14305 Just a update on Beta5 and AX86. Still if you add a iptables rule, example
test2192.168.51.70BOTH040070Gaming
Under tracked connections it will show 192.168.51.70 youtube as gaming classification, but it will not show any traffic at all moving in the bandwidth charts. Adding the same rule without ip obviously to AppDB works as intended. This works on AC86u fine.
Rmerlin mentioned lastnight that everything between the 2 firmwares is the same except AX has a different trend micro engine. Ive been looking through all the scripts to the best of my ability (which doesnt go far with iptables). Maybe you can point me in the right
direction to debug this.
Thanks for all your work.
 
@dave14305 Just a update on Beta5 and AX86. Still if you add a iptables rule, example
test2192.168.51.70BOTH040070Gaming
Under tracked connections it will show 192.168.51.70 youtube as gaming classification, but it will not show any traffic at all moving in the bandwidth charts. Adding the same rule without ip obviously to AppDB works as intended. This works on AC86u fine.
Rmerlin mentioned lastnight that everything between the 2 firmwares is the same except AX has a different trend micro engine. Ive been looking through all the scripts to the best of my ability (which doesnt go far with iptables). Maybe you can point me in the right
direction to debug this.
Thanks for all your work.
Run these commands before and after playing a YouTube video. The traffic is going somewhere.
Bash:
iptables -t mangle -nvL
tc -s class show dev br0 parent 1:
Then add in a flexqos debug so I understand the lay of your land.
 
Wouldnt let me drop it all here for some reason. With the commands you gave me, and comparing output to my ac86u. It looks like its working? But not showing up in bandwidth stats. Ill try to use iftop

 
Last edited:
Wouldnt let me drop it all here for some reason. With the commands you gave me, and comparing output to my ac86u. It looks like its working? But not showing up in bandwidth stats. Ill try to use iftop

What's most striking about the output is that the only traffic logged in the download classes seems to be the traffic you explicitly mark with an iptables rule. All the other 1:10-15 and 1:17 classes have zero bytes, which seems very hard to do on a network. If you remove that last iptables rule and run the test again, does that traffic show up anywhere? Maybe the Trend marking engine is broken on the AX86U. Feels weird to me. Is anything else connected to this router right now?
 
I removed the rule , only one device on the router right now.
Just did some random crap using bandwidth.
class htb 1:1 root rate 27648Kbit ceil 27648Kbit burst 33595b cburst 33595b
Sent 68578173 bytes 74402 pkt (dropped 0, overlimits 0 requeues 0)
rate 12202Kbit 1248pps backlog 0b 0p requeues 0
lended: 40514 borrowed: 0 giants: 0
tokens: 115438 ctokens: 115438

class htb 1:2 root leaf 2: prio 0 rate 1Gbit ceil 1Gbit burst 1249375b cburst 1249375b
Sent 6959901 bytes 25044 pkt (dropped 0, overlimits 0 requeues 0)
rate 119480bit 163pps backlog 0b 0p requeues 0
lended: 23558 borrowed: 0 giants: 0
tokens: 156178 ctokens: 156178

class htb 1:13 parent 1:1 leaf 13: prio 3 rate 2764Kbit overhead 27 ceil 27648Kbit burst 3199b cburst 33595b
Sent 67518510 bytes 63911 pkt (dropped 0, overlimits 0 requeues 0)
rate 12144Kbit 1173pps backlog 0b 0p requeues 0
lended: 23468 borrowed: 40443 giants: 0
tokens: -43014 ctokens: 113851

class htb 1:12 parent 1:1 leaf 12: prio 2 rate 5529Kbit overhead 27 ceil 27648Kbit burst 6399b cburst 33595b
Sent 104156 bytes 1096 pkt (dropped 0, overlimits 0 requeues 0)
rate 16bit 0pps backlog 0b 0p requeues 0
lended: 1096 borrowed: 0 giants: 0
tokens: 141569 ctokens: 151571

class htb 1:15 parent 1:1 leaf 15: prio 5 rate 2764Kbit overhead 27 ceil 27648Kbit burst 3199b cburst 33595b
Sent 789486 bytes 9165 pkt (dropped 0, overlimits 0 requeues 0)
rate 45200bit 73pps backlog 0b 0p requeues 0
lended: 9165 borrowed: 0 giants: 0
tokens: 140135 ctokens: 151449

class htb 1:14 parent 1:1 leaf 14: prio 4 rate 1382Kbit overhead 27 ceil 27648Kbit burst 3199b cburst 33595b
Sent 141517 bytes 146 pkt (dropped 0, overlimits 0 requeues 0)
rate 12760bit 2pps backlog 0b 0p requeues 0
lended: 82 borrowed: 64 giants: 0
tokens: -43510 ctokens: 141285

class htb 1:17 parent 1:1 leaf 17: prio 7 rate 1382Kbit overhead 27 ceil 27648Kbit burst 3199b cburst 33595b
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: 1470578 ctokens: 151906

class htb 1:16 parent 1:1 leaf 16: prio 6 rate 4147Kbit overhead 27 ceil 27648Kbit burst 4799b cburst 33595b
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: 724625 ctokens: 151906
 

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top