What's new

FlexQoS FlexQoS 1.4.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!

It gets better... 👍🏽
 

Attachments

  • RDT_20240907_230646644938261499762671.png
    RDT_20240907_230646644938261499762671.png
    139.3 KB · Views: 146
FlexQos is a lifesaver. Why would you say its usefulness is declining? Thank you for making it happen and supporting it.
A few months ago...there was an update to the Trend Micro signature that temporarily messed up the traffic classification. This was later fixed by another update and FlexQoS has been working flawlessly since.

Post in thread 'FlexQoS 1.4.3 - Flexible QoS Enhancement Script for Adaptive QoS' https://www.snbforums.com/threads/f...ent-script-for-adaptive-qos.90645/post-914449

I agree with you 100% on FlexQoS being a lifesaver for my setup as well.
 
Just curious if anyone running custom iptables rules with Flow Cache Control set to "Auto" noticed that the Flow Cache now remains enabled under Tools?

I can set FC control to "On" under FlexQoS tab but just curious if anyone else is seeing the same thing?

It might be my USB is going bad since I had a separate issue with it. I do have a replacement ssd coming my way to replace my USB but I was wondering if anyone has noticed this?

Thanks!
 
Last edited:
Just curious if anyone running custom iptables rules with Flow Cache Control set to "Auto" noticed that the Flow Cache now remains enabled under Tools?
What are your defined upload/download bandwidths? If either is above 400 Mbit, FC won’t be turned off in auto mode.
 
What are your defined upload/download bandwidths? If either is above 400 Mbit, FC won’t be turned off in auto mode.
Thanks for the reply back and additional info...my defined speeds are only 100/10 Mbps.

I believe the recent fw update might have changed something (possibly QoS related) but I can't confirm this. The new SSD is up and running and the same thing is going on.

Thanks again!
 
See if something else has disabled flow cache during boot. Auto only works if this value is 0.
Code:
nvram get fc_disable

I switched FC control mode from On to Auto while using iptables rules and FC went from Disabled to Enabled. I than ran the command and got the following output:
Code:
ASUSWRT-Merlin GT-AX11000_PRO 3004.388.8_4 Sun Nov 17 19:18:02 UTC 2024
@GT-AX11000_Pro-40E0:/tmp/home/root# nvram get fc_disable
0
@GT-AX11000_Pro-40E0:/tmp/home/root# flexqos -debug
[SPOILER="FlexQoS Debug"][CODE]

FlexQoS v1.4.3 released 2024-06-18

Debug date      : 2024-11-26 08:37:41-0500
Router Model    : GT-AX11000_Pro
Firmware Ver    : 388.8_4
DPI/Sig Ver     : 2.0.3 / 2.430
WAN iface       : eth0
tc WAN iface    : eth0
IPv6            : disabled
Undf Prio       : 2
Down Band       : 87040
Up Band         : 10445
*****************
Net Control     : 1:10
Work-From-Home  : 1:15
Gaming          : 1:11
Others          : 1:13
Web Surfing     : 1:14
Streaming       : 1:12
File Transfers  : 1:16
Learn-From-Home : 1:17
*****************
Downrates       :    4352,   13056,   26112,    8704,    8704,   17408,    4352,    4352
Downceils       :   87040,   87040,   87040,   87040,   87040,   87040,   87040,   87040
Uprates         :     522,    1566,    1044,    3133,    1044,    2089,     522,     522
Upceils         :   10445,   10445,   10445,   10445,   10445,   10445,   10445,   10445
*****************
iptables settings: <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>5<192.168.1.32/31>>tcp>>80,443>!04****>2<192.168.1.100/28>>tcp>>80,443>!04****>2<192.168.1.16/28>>both>>!80,443>000000>1
-A FlexQoS_down -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p udp -m multiport --dports 16384:16415 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --sports 16384:16415 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x4003ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x4003ffff/0xc03fffff
-A FlexQoS_down -d 192.168.1.32/31 -p tcp -m multiport --sports 80,443 -m mark ! --mark 0x80040000/0xc03f0000 -j MARK --set-mark 0x8004ffff/0xc03fffff
-A FlexQoS_up -s 192.168.1.32/31 -p tcp -m multiport --dports 80,443 -m mark ! --mark 0x40040000/0xc03f0000 -j MARK --set-mark 0x4004ffff/0xc03fffff
-A FlexQoS_down -d 192.168.1.100/28 -p tcp -m multiport --sports 80,443 -m mark ! --mark 0x80040000/0xc03f0000 -j MARK --set-mark 0x8004ffff/0xc03fffff
-A FlexQoS_up -s 192.168.1.100/28 -p tcp -m multiport --dports 80,443 -m mark ! --mark 0x40040000/0xc03f0000 -j MARK --set-mark 0x4004ffff/0xc03fffff
-A FlexQoS_down -d 192.168.1.16/28 -p tcp -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8008ffff/0xc03fffff
-A FlexQoS_up -s 192.168.1.16/28 -p tcp -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4008ffff/0xc03fffff
-A FlexQoS_down -d 192.168.1.16/28 -p udp -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8008ffff/0xc03fffff
-A FlexQoS_up -s 192.168.1.16/28 -p udp -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4008ffff/0xc03fffff
*****************
appdb rules: <000000>6<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<1400AC>3<13****>4<14****>4
filter change dev br0 prio 2 protocol all handle 828::800 u32 flowid 1:13
filter change dev eth0 prio 2 protocol all handle 828::800 u32 flowid 1:13
filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:13
filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:13
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:16
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 add dev br0 protocol all prio 22 u32 match mark 0x801400AC 0xc03fffff flowid 1:15
filter add dev eth0 protocol all prio 22 u32 match mark 0x401400AC 0xc03fffff flowid 1:15
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
class change dev br0 parent 1:1 classid 1:10 htb overhead 18 linklayer ethernet prio 0 rate 4352Kbit ceil 87040Kbit burst 10880b cburst 108800b quantum 54400
class change dev eth0 parent 1:1 classid 1:10 htb overhead 18 linklayer ethernet prio 0 rate 522Kbit ceil 10445Kbit burst 1749b cburst 12800b quantum 6525class change dev br0 parent 1:1 classid 1:11 htb overhead 18 linklayer ethernet prio 1 rate 13056Kbit ceil 87040Kbit burst 10880b cburst 108800b quantum 163200
class change dev eth0 parent 1:1 classid 1:11 htb overhead 18 linklayer ethernet prio 1 rate 1566Kbit ceil 10445Kbit burst 1749b cburst 12800b quantum 19575
class change dev br0 parent 1:1 classid 1:12 htb overhead 18 linklayer ethernet prio 2 rate 26112Kbit ceil 87040Kbit burst 10880b cburst 108800b quantum 326400
class change dev eth0 parent 1:1 classid 1:12 htb overhead 18 linklayer ethernet prio 2 rate 1044Kbit ceil 10445Kbit burst 1749b cburst 12800b quantum 13050
class change dev br0 parent 1:1 classid 1:13 htb overhead 18 linklayer ethernet prio 3 rate 8704Kbit ceil 87040Kbit burst 10880b cburst 108800b quantum 108800
class change dev eth0 parent 1:1 classid 1:13 htb overhead 18 linklayer ethernet prio 3 rate 3133Kbit ceil 10445Kbit burst 1749b cburst 12800b quantum 39162
class change dev br0 parent 1:1 classid 1:14 htb overhead 18 linklayer ethernet prio 4 rate 8704Kbit ceil 87040Kbit burst 10880b cburst 108800b quantum 108800
class change dev eth0 parent 1:1 classid 1:14 htb overhead 18 linklayer ethernet prio 4 rate 1044Kbit ceil 10445Kbit burst 1749b cburst 12800b quantum 13050
class change dev br0 parent 1:1 classid 1:15 htb overhead 18 linklayer ethernet prio 5 rate 17408Kbit ceil 87040Kbit burst 10880b cburst 108800b quantum 217600
class change dev eth0 parent 1:1 classid 1:15 htb overhead 18 linklayer ethernet prio 5 rate 2089Kbit ceil 10445Kbit burst 1749b cburst 12800b quantum 26112
class change dev br0 parent 1:1 classid 1:16 htb overhead 18 linklayer ethernet prio 6 rate 4352Kbit ceil 87040Kbit burst 10880b cburst 108800b quantum 54400
class change dev eth0 parent 1:1 classid 1:16 htb overhead 18 linklayer ethernet prio 6 rate 522Kbit ceil 10445Kbit burst 1749b cburst 12800b quantum 6525class change dev br0 parent 1:1 classid 1:17 htb overhead 18 linklayer ethernet prio 7 rate 4352Kbit ceil 87040Kbit burst 10880b cburst 108800b quantum 54400
class change dev eth0 parent 1:1 classid 1:17 htb overhead 18 linklayer ethernet prio 7 rate 522Kbit ceil 10445Kbit burst 1749b cburst 12800b quantum 6525
[/SPOILER]
 
Is there any FlexQoS message in the system log during that restart?

Also what’s the status of /bin/fc status before and after?
This is the status with FC control mode set to Auto mode:

Code:
ASUSWRT-Merlin GT-AX11000_PRO 3004.388.8_4 Sun Nov 17 19:18:02 UTC 2024
@GT-AX11000_Pro-40E0:/tmp/home/root# /bin/fc status
        Flow Timer Interval = 10000 millisecs
        Pkt-HW Activate Deferral rate = 1
        Pkt-HW Idle Deactivate = 0
        Pkt-SW Activate Deferral count = 0
        Flow Low Pkt Rate = 10
        Acceleration Mode: <L2 & L3>
        MCast Acceleration IPv4<Enabled> IPv6<Enabled>
        IPv6 Learning <Enabled>
        L2TP Learning <Enabled>
        GRE Learning <Enabled>
        4o6 Fragmentation <Enabled>
        TCP Ack Prioritization <Enabled>
        ToS Multi Flow <Enabled>
        Notify Processing Mode <Hybrid>
        OVS Flow Learning <Disabled>
        HW Acceleration <Enabled>
        Flow Ucast Learning Enabled  : Max<16383>, Active<166>, Cumulative [ 33447 - 33281 ]
        Flow Mcast Learning Enabled  : Max<1152>, Active<0>, Cumulative [ 0 - 0 ]

I did a restart of FlexQoS also with FC mode set on Auto:

Code:
Nov 26 08:52:18 rc_service: service 4604:notify_rc restart_qos;restart_firewall
Nov 26 08:52:18 custom_script: Running /jffs/scripts/service-event (args: restart qos)
Nov 26 08:52:21 BWDPI: fun bitmap = 4bf
Nov 26 08:52:21 A.QoS: qos_count=0, qos_check=0
Nov 26 08:52:24 kernel: htb: htb qdisc 15: is non-work-conserving?
Nov 26 08:52:24 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Nov 26 08:52:24 custom_script: Running /jffs/scripts/service-event (args: restart firewall)
Nov 26 08:52:24 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Nov 26 08:52:25 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Nov 26 08:52:25 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=5788) called in unattended mode with 1 args: -start
Nov 26 08:52:25 FlexQoS: Applying iptables static rules
Nov 26 08:52:25 FlexQoS: Applying iptables custom rules
Nov 26 08:52:25 FlexQoS: Flushing conntrack table
Nov 26 08:52:27 FlexQoS: Applying AppDB rules and TC rates
Nov 26 08:57:00 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=11625) called in unattended mode with 1 args: -check
Nov 26 08:57:01 FlexQoS: No TC modifications necessary
 
Last edited:
After QoS restart status shows:

Code:
ASUSWRT-Merlin GT-AX11000_PRO 3004.388.8_4 Sun Nov 17 19:18:02 UTC 2024
@GT-AX11000_Pro-40E0:/tmp/home/root# /bin/fc status
        Flow Timer Interval = 10000 millisecs
        Pkt-HW Activate Deferral rate = 1
        Pkt-HW Idle Deactivate = 0
        Pkt-SW Activate Deferral count = 0
        Flow Low Pkt Rate = 10
        Acceleration Mode: <L2 & L3>
        MCast Acceleration IPv4<Enabled> IPv6<Enabled>
        IPv6 Learning <Enabled>
        L2TP Learning <Enabled>
        GRE Learning <Enabled>
        4o6 Fragmentation <Enabled>
        TCP Ack Prioritization <Enabled>
        ToS Multi Flow <Enabled>
        Notify Processing Mode <Hybrid>
        OVS Flow Learning <Disabled>
        HW Acceleration <Enabled>
        Flow Ucast Learning Enabled  : Max<16383>, Active<112>, Cumulative [ 33932 - 33820 ]
        Flow Mcast Learning Enabled  : Max<1152>, Active<0>, Cumulative [ 0 - 0 ]
 

Attachments

  • Screenshot_20241126_085901_Samsung Internet.jpg
    Screenshot_20241126_085901_Samsung Internet.jpg
    36.2 KB · Views: 13
Next command, please:
Code:
uname -r
Here you go:

Code:
ASUSWRT-Merlin GT-AX11000_PRO 3004.388.8_4 Sun Nov 17 19:18:02 UTC 2024
@GT-AX11000_Pro-40E0:/tmp/home/root# uname -r
4.19.183
@GT-AX11000_Pro-40E0:/tmp/home/root#
 
Last edited:
This is so goofy, but can you run:
Code:
grep flex /jffs/addons/custom_settings.txt
Hope this helps haha

Code:
ASUSWRT-Merlin GT-AX11000_PRO 3004.388.8_4 Sun Nov 17 19:18:02 UTC 2024
@GT-AX11000_Pro-40E0:/tmp/home/root# grep flex /jffs/addons/custom_settings.txt
flexqos_ver 1.4.3
flexqos_iptables <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>5<192.168.1.32/31>>tcp>>80,443>!04****>2<192.168.1.100/28>>tcp>>80,443>!04****>2<192.168.1.16/28>>both>>!80,443>000000>1
flexqos_iptables_names <WiFi%20Calling<Facetime<Usenet<Game%20Downloads<SmartTVs<Firestick_Streams<Gaming%20Rule
flexqos_appdb <000000>6<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<1400AC>3<13****>4<14****>4
flexqos_fccontrol 2
@GT-AX11000_Pro-40E0:/tmp/home/root#
 
Any error messages if you run flexqos check from the command line?
Error below:

Code:
ASUSWRT-Merlin GT-AX11000_PRO 3004.388.8_4 Sun Nov 17 19:18:02 UTC 2024
@GT-AX11000_Pro-40E0:/tmp/home/root# flexqos check
[: 10444.8: bad number
@GT-AX11000_Pro-40E0:/tmp/home/root#
 
Error below:

Code:
ASUSWRT-Merlin GT-AX11000_PRO 3004.388.8_4 Sun Nov 17 19:18:02 UTC 2024
@GT-AX11000_Pro-40E0:/tmp/home/root# flexqos check
[: 10444.8: bad number
@GT-AX11000_Pro-40E0:/tmp/home/root#
Your quick fix is:
Code:
nvram set qos_ibw=87040
nvram set qos_obw=10445
nvram commit
flexqos restart
 
Your quick fix is:
Code:
nvram set qos_ibw=87040
nvram set qos_obw=10445
nvram commit
flexqos restart


Just ran these commands and all is working again with FC mode set to Auto.

FC shows disabled under Tools.

Code:
ASUSWRT-Merlin GT-AX11000_PRO 3004.388.8_4 Sun Nov 17 19:18:02 UTC 2024
@GT-AX11000_Pro-40E0:/tmp/home/root# flexqos check
Broadcom Packet Flow Cache learning via BLOG disabled.
Broadcom Packet Flow Cache flushing the flows


@GT-AX11000_Pro-40E0:/tmp/home/root# /bin/fc status
        Flow Timer Interval = 10000 millisecs
        Pkt-HW Activate Deferral rate = 1
        Pkt-HW Idle Deactivate = 0
        Pkt-SW Activate Deferral count = 0
        Flow Low Pkt Rate = 10
        Acceleration Mode: <L2 & L3>
        MCast Acceleration IPv4<Enabled> IPv6<Enabled>
        IPv6 Learning <Enabled>
        L2TP Learning <Enabled>
        GRE Learning <Enabled>
        4o6 Fragmentation <Enabled>
        TCP Ack Prioritization <Enabled>
        ToS Multi Flow <Enabled>
        Notify Processing Mode <Hybrid>
        OVS Flow Learning <Disabled>
        HW Acceleration <Enabled>
        Flow Ucast Learning Disabled  : Max<16383>, Active<0>, Cumulative [ 44371 - 44371 ]
        Flow Mcast Learning Disabled  : Max<1152>, Active<0>, Cumulative [ 0 - 0 ]

Thanks again for the continued support with FlexQoS.

May I ask what might have changed?

I think eventually with all the future/upcoming fw changes, I will need to switch to CAKES-QOS but in the meantime I really do appreciate the assistance!!!
 
Last edited:
May I ask what might have changed?
The QoS page multiplies and divides by 1024 when you change the bandwidth numbers. It can result in a decimal value, which shell scripting doesn’t like.
 

Latest threads

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