What's new

FlexQoS FlexQoS 1.0 - 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!

Test of a silly but useful new feature...

Code:
FlexQoS v0.9.2 released 07/xx/2020
Development channel

Debug:

tc WAN iface: eth0
Undf Prio: 2
Undf FlowID: 1:13
Classes Present: 8
Down Band: 322560
Up Band : 23552
***********
Net Control = 1:10
Work-From-Home = 1:11
Gaming = 1:16
Others = 1:13
Web Surfing = 1:14
Streaming = 1:12
Downloads = 1:15
Defaults = 1:17
***********
Downrates -- 16128, 64512, 96768, 32256, 64512, 16128, 16128, 16128
Downceils -- 322560, 322560, 322560, 322560, 322560, 322560, 322560, 322560
Downbursts -- 19192b, 79978b, 39977b, 19192b, 15982b, 11194b, 7995b, 3195b
DownCbursts -- 403200b, 403200b, 403200b, 403200b, 403200b, 403200b, 403200b, 403200b
DownQuantums -- 201600, 806400, 1209600, 403200, 806400, 201600, 201600, 201600
***********
Uprates -- 1177, 4710, 2355, 7065, 2355, 1177, 1177, 1177
Upceils -- 23552, 23552, 23552, 23552, 23552, 23552, 23552, 23552
Upbursts -- 3198b, 4798b, 3198b, 3197b, 3198b, 3198b, 3198b, 3198b
UpCbursts -- 28789b, 28789b, 28789b, 28789b, 28789b, 28789b, 28789b, 28789b
UpQuantums -- 14712, 58875, 29437, 88312, 29437, 14712, 14712, 14712
iptables settings: <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>udp>>3478:3481>000000>3<>>udp>>8801:8810>000000>3<>>udp>>2408,1701>>4<192.168.1.141>>both>>>>2
iptables -D POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p udp --sport 3478:3481 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp --sport 3478:3481 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp --dport 3478:3481 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp --dport 3478:3481 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p udp --sport 8801:8810 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp --sport 8801:8810 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp --dport 8801:8810 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp --dport 8801:8810 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 2408,1701 -j MARK --set-mark 0x80180001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 2408,1701 -j MARK --set-mark 0x80180001
iptables -D POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 2408,1701 -j MARK --set-mark 0x40180001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 2408,1701 -j MARK --set-mark 0x40180001
iptables -D POSTROUTING -t mangle -o br0 -d 192.168.1.141 -j MARK --set-mark 0x80040001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -d 192.168.1.141 -j MARK --set-mark 0x80040001
iptables -D POSTROUTING -t mangle -o eth0 -s 192.168.1.141 -j MARK --set-mark 0x40040001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -s 192.168.1.141 -j MARK --set-mark 0x40040001
appdb rules: <000000>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<04000A>5<1400C5>0<13****>4<14****>4
realtc filter change dev br0 prio 2 protocol all handle 827::800 u32 flowid 1:13
realtc filter change dev eth0 prio 2 protocol all handle 827::800 u32 flowid 1:13
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
realtc filter add dev br0 protocol all prio 6 u32 match mark 0x8004000A 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 6 u32 match mark 0x4004000A 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x801400C5 0xc03fffff flowid 1:10
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x401400C5 0xc03fffff flowid 1:10
realtc filter change dev br0 prio 22 protocol all handle 802::800 u32 flowid 1:14
realtc filter change dev eth0 prio 22 protocol all handle 802::800 u32 flowid 1:14
realtc filter change dev br0 prio 23 protocol all handle 804::800 u32 flowid 1:14
realtc filter change dev eth0 prio 23 protocol all handle 804::800 u32 flowid 1:14
realtc class change dev br0 parent 1:1 classid 1:10 htb overhead 18 linklayer ethernet prio 0 rate 16128Kbit ceil 322560Kbit burst 19192b cburst 403200b quantum 201600
realtc class change dev br0 parent 1:1 classid 1:11 htb overhead 18 linklayer ethernet prio 1 rate 64512Kbit ceil 322560Kbit burst 79978b cburst 403200b quantum 806400
realtc class change dev br0 parent 1:1 classid 1:12 htb overhead 18 linklayer ethernet prio 2 rate 96768Kbit ceil 322560Kbit burst 39977b cburst 403200b quantum 1209600
realtc class change dev br0 parent 1:1 classid 1:13 htb overhead 18 linklayer ethernet prio 3 rate 32256Kbit ceil 322560Kbit burst 19192b cburst 403200b quantum 403200
realtc class change dev br0 parent 1:1 classid 1:14 htb overhead 18 linklayer ethernet prio 4 rate 64512Kbit ceil 322560Kbit burst 15982b cburst 403200b quantum 806400
realtc class change dev br0 parent 1:1 classid 1:15 htb overhead 18 linklayer ethernet prio 5 rate 16128Kbit ceil 322560Kbit burst 11194b cburst 403200b quantum 201600
realtc class change dev br0 parent 1:1 classid 1:16 htb overhead 18 linklayer ethernet prio 6 rate 16128Kbit ceil 322560Kbit burst 7995b cburst 403200b quantum 201600
realtc class change dev br0 parent 1:1 classid 1:17 htb overhead 18 linklayer ethernet prio 7 rate 16128Kbit ceil 322560Kbit burst 3195b cburst 403200b quantum 201600
realtc class change dev eth0 parent 1:1 classid 1:10 htb overhead 18 linklayer ethernet prio 0 rate 1177Kbit ceil 23552Kbit burst 3198b cburst 28789b quantum 14712
realtc class change dev eth0 parent 1:1 classid 1:11 htb overhead 18 linklayer ethernet prio 1 rate 4710Kbit ceil 23552Kbit burst 4798b cburst 28789b quantum 58875
realtc class change dev eth0 parent 1:1 classid 1:12 htb overhead 18 linklayer ethernet prio 2 rate 2355Kbit ceil 23552Kbit burst 3198b cburst 28789b quantum 29437
realtc class change dev eth0 parent 1:1 classid 1:13 htb overhead 18 linklayer ethernet prio 3 rate 7065Kbit ceil 23552Kbit burst 3197b cburst 28789b quantum 88312
realtc class change dev eth0 parent 1:1 classid 1:14 htb overhead 18 linklayer ethernet prio 4 rate 2355Kbit ceil 23552Kbit burst 3198b cburst 28789b quantum 29437
realtc class change dev eth0 parent 1:1 classid 1:15 htb overhead 18 linklayer ethernet prio 5 rate 1177Kbit ceil 23552Kbit burst 3198b cburst 28789b quantum 14712
realtc class change dev eth0 parent 1:1 classid 1:16 htb overhead 18 linklayer ethernet prio 6 rate 1177Kbit ceil 23552Kbit burst 3198b cburst 28789b quantum 14712
realtc class change dev eth0 parent 1:1 classid 1:17 htb overhead 18 linklayer ethernet prio 7 rate 1177Kbit ceil 23552Kbit burst 3198b cburst 28789b quantum 14712

The debug command will soon wrap the output in SPOILER and CODE tags for easier posting on the forum. :p
 
Last edited:
The backup file would need to exist and there would need to be no flexqos settings in /jffs/addons/custom_settings.txt. I'm curious if those conditions are met in your case after an uninstall.

upload_2020-7-8_18-13-12.png
 
upload_2020-7-8_18-14-52.png

@maghuro , I'm gonna assume the "invalid command" is the restore portion?o_O
 
i've set my qos UL limit at 80% of my UL measured speed.
still, when i do a test with fast.com, on a wifi connected PC, i see that the UL speed goes up above the limit, but also that loaded latency goes up from 10ms to 400ms (on a otherwise quiet router).
Is this expected? i was hoping that by staying below my UL bandwidth limit, qos would prevent latency spikes?
anyone else with similar results?
 
Last edited:
i've set my qos UL limit at 80% of my UL measured speed.
still, when i do a test with fast.com, on a wifi connected PC, i see that the UL speed goes up above the limit, but also that loaded latency goes up from 10ms to 400ms (on a otherwise quiet router).
Is this expected? i was hoping that by staying below my UL bandwidth limit, qos would prevent latency spikes?
anyone else with similar results?
Some AX users say upload is broken in Asus’ firmware. I can’t confirm. Is this a guest network client?
 
Some AX users say upload is broken in Asus’ firmware. I can’t confirm. Is this a guest network client?
not guest. regular wifi.
it only happens on the UL, indeed. bummer. maybe fixed on 384.20 :)
i take it then that you don't see it on your router?
 
You’ve double-pasted the curl command when you installed, so it received “-installcurl” as a parameter that is truly invalid.
Doh! :oops: Still no restore portion though.
 
@dave14305
Few updates back when adding directories issue aroused, i had problem of all appdb showing undefined, uninstalling & installing fixed version removed the issue, since yesterday i noticed undefined issue arose after reboot Everytime, tried again with 0.91.0 with complete fresh install as deleted backup, uninstalled flex, rebooted and installed again, it was showing fine in gui until a reboot again and following appeared again
Screenshot_20200709-045747.jpg
 
@dave14305
Few updates back when adding directories issue aroused, i had problem of all appdb showing undefined, uninstalling & installing fixed version removed the issue, since yesterday i noticed undefined issue arose after reboot Everytime, tried again with 0.91.0 with complete fresh install as deleted backup, uninstalled flex, rebooted and installed again, it was showing fine in gui until a reboot again and following appeared again
View attachment 24598
A workaround is to run this:
Code:
rm /www/ext/flexqos/flexqos_arrays.js
sh /jffs/addons/flexqos/flexqos.sh check
Then hit F5 in the browser to reload.
 
FlexQOS has been working great, and I really appreciate the additional space for iptables rules!

However, yesterday using FlexQOS v9.0 I noticed something I did not recall seeing previously. That is, I was downloading a game update from Ubisoft. The 'Tracked Connections' section showed several connections with Ubisoft shaded as 'Game Transferring' (Mark 0800DE), which is what I expected. However, the pie chart at the top showed the traffic in the much higher priority 'Gaming' bucket, which is not what I want!

I have added some IP table rules, but nothing that should affect Ubisoft, and nothing that would change the class to Gaming. There is also a rule (I think it was from FreshJR?) to map TCP traffic with Mark 08**** to Game Downloads.

So everything I can see suggests that Ubisoft (0800DE) should be treated as Game Downloads/Transferring.

And yet, the pie chart shows it as Gaming. Which should I believe, the pie chart of the Tracked Connections?

But more importantly, any idea what might be causing this?

Thanks!
Paul
 
FlexQOS has been working great, and I really appreciate the additional space for iptables rules!

However, yesterday using FlexQOS v9.0 I noticed something I did not recall seeing previously. That is, I was downloading a game update from Ubisoft. The 'Tracked Connections' section showed several connections with Ubisoft shaded as 'Game Transferring' (Mark 0800DE), which is what I expected. However, the pie chart at the top showed the traffic in the much higher priority 'Gaming' bucket, which is not what I want!

I have added some IP table rules, but nothing that should affect Ubisoft, and nothing that would change the class to Gaming. There is also a rule (I think it was from FreshJR?) to map TCP traffic with Mark 08**** to Game Downloads.

So everything I can see suggests that Ubisoft (0800DE) should be treated as Game Downloads/Transferring.

And yet, the pie chart shows it as Gaming. Which should I believe, the pie chart of the Tracked Connections?

But more importantly, any idea what might be causing this?

Thanks!
Paul
Was the download occuring over ports 80 or 443? Need to see your other rules to see if anything overrode them.
 

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