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!

Hi Dave,
I'm running FlexQOS 1.06 on an AC3200 FW 384.13_10. I setup streaming as the priority, but when Flex QOS is enabled, it kills media streaming, iPlayer, Netflix, Amazon, just hang.

I did a speed test with QOS on and off:
QOS ON:
DL 43.34 Mb/s
UL 10.05 Mb/s

QOS OFF:
DL 60.39 Mb/s
UL 9.53 Mb/s

Code:
FlexQoS v1.0.6 released 2020-11-20

Debug date: 2020-11-22 12:59:58-0500
Router Model: RT-AC3200
Firmware Ver: 384.13_10
WAN iface: eth0
tc WAN iface: eth0
Undf Prio: 2
Down Band: 0
Up Band  : 0
***********
Net Control: 1:10
Work-From-Home: 1:12
Gaming: 1:13
Others: 1:16
Web Surfing: 1:14
Streaming: 1:11
File Downloads: 1:15
Game Downloads: 1:17
***********
Custom rates disabled with Automatic Bandwidth mode!
***********
iptables settings: <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7
-o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x8006ffff/0x3fffff
-o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x4006ffff/0x3fffff
-o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x8006ffff/0x3fffff
-o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x4006ffff/0x3fffff
-o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x8003ffff/0x3fffff
-o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x4003ffff/0x3fffff
-o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803fffff/0x3fffff
-o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403fffff/0x3fffff
***********
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 827::800 u32 flowid 1:16
filter change dev eth0 prio 2 protocol all handle 827::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 add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:15
filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:15
What am I missing?
I tried Automatic Bandwidth once and it broke my Internet so I quickly turned it off. Try using Manual Bandwidth mode.
 
On my router, I’ve never seen any evidence that setting device priorities on that page actually changes anything in iptables or tc, so my opinion is that it is broken or not intended to work with Adaptive QoS, or I’m not using it right.

From my experience these priorities update only the User-defined QoS rules in the Traditional QoS but not in Adaptive QoS so they should make no difference in FlexQoS.

Thanks! That clears it up for me :)
 
  • Like
Reactions: NGI
No still same issue, I’ll have to do some more playing since I’m also using x3mRouting
Yes, perhaps a MARK conflict. I've never used it before since I don't have a VPN, but if you post the output of iptables -t mangle -S I might be able to understand (but not solve) the conflict.
 
So if I want to specify a class for a specific device (like in traditional qos) I would add an iptables rule as follows?

"Device Name" -- "Local IP Address" -- (blank) -- BOTH -- (blank) -- (blank) -- (blank) -- Class

I'm assuming I can add multiple devices with various classes...

And from my understanding - I would want the most important device last on the list...

Is this correct?
 
So if I want to specify a class for a specific device (like in traditional qos) I would add an iptables rule as follows?

"Device Name" -- "Local IP Address" -- (blank) -- BOTH -- (blank) -- (blank) -- (blank) -- Class

I'm assuming I can add multiple devices with various classes...

And from my understanding - I would want the most important device last on the list...

Is this correct?
Yes, that is correct. You would want the device rules to be last to ensure no later rule could override your device rule. If you use one or more of these device rules, the order of them doesn't matter, as long as they all appear after the other rules.
 
Yes, that is correct. You would want the device rules to be last to ensure no later rule could override your device rule. If you use one or more of these device rules, the order of them doesn't matter, as long as they all appear after the other rules.

Thanks again :)
 
Any gamers here can recommend how you guys are setting your priority traffic w/Adaptive QoS settings (specifically for gaming only):



W-from-H
Others
Gaming
Web Surfing
Video/Audio Stream
File Transfer
L-from-H

or should Gaming or Others be in top:

Others
Gaming
W-from-H
Web Surfing
Video/Audio Stream
File Transfer
L-from-H

Or these should not matter too much? Any input is greatly appreciated!
 
Any gamers here can recommend how you guys are setting your priority traffic w/Adaptive QoS settings (specifically for gaming only):



W-from-H
Others
Gaming
Web Surfing
Video/Audio Stream
File Transfer
L-from-H

or should Gaming or Others be in top:

Others
Gaming
W-from-H
Web Surfing
Video/Audio Stream
File Transfer
L-from-H

Or these should not matter too much? Any input is greatly appreciated!


Having up to 3 Gamers in the house, plus Netflix, Work from Home, etc. potentially going on at the same time, what works for my household is, (especially when large game downloads are happening):

Gaming
W-from-H
Others
Web Surfing
Video/Audio Stream
L-from-H
File Transfer
 
Having up to 3 Gamers in the house, plus Netflix, Work from Home, etc. potentially going on at the same time, what works for my household is, (especially when large game downloads are happening):

Gaming
W-from-H
Others
Web Surfing
Video/Audio Stream
L-from-H
File Transfer
This is very good for all the gamers to share their "best practices" with each other since I'm not into gaming personally.

I will say that during all the stay-at-home activity for work and school, I would go ballistic if someone's gaming was taking priority over my work conference call or Zoom class for school. :mad:
 
This is very good for all the gamers to share their "best practices" with each other since I'm not into gaming personally.

I will say that during all the stay-at-home activity for work and school, I would go ballistic if someone's gaming was taking priority over my work conference call or Zoom class for school. :mad:
@dave14305, however, with Flex installed. Everything should run smoothly :)

I do use a VPN so I had to eventually upgrade from my AC68U to a AX88U when using both VPN and QoS enabled.
 
In July or so, I got an 86u, got merlin installed and then lastly installed this! I'd like to get all updated and want to make sure I do it right.
I put things in the order as recommended at the time added the gaming rule for my gaming PC IP....
!80,443
000000
Gaming

Oh on the QoS I did the Adaptive, manual, fq_codel and did a little limitings of my DL/UL to eliminate buffer bloat....

Please help me update to newest version and make any new tweaks you recommend. My family was watching Disney+ last night and I noticed my gaming was a little impacted. I rana speed test and it was like 25 vs the usual 400 I see.

I am open to making gaming priority as I only play at night anyway......
Thanks for all of your hard work!

EDIT:
Sorry should have tried harder the first time!
I opened SSH, logged in, then typed flexqos -update
I was able to update fine!
I guess at this point I'd still love to hear any tweaks I can do to the QoS settings etc!
 
Last edited:
In July or so, I got an 86u, got merlin installed and then lastly installed this! I'd like to get all updated and want to make sure I do it right.
I put things in the order as recommended at the time added the gaming rule for my gaming PC IP....
!80,443
000000
Gaming

Oh on the QoS I did the Adaptive, manual, fq_codel and did a little limitings of my DL/UL to eliminate buffer bloat....

Please help me update to newest version and make any new tweaks you recommend. My family was watching Disney+ last night and I noticed my gaming was a little impacted. I rana speed test and it was like 25 vs the usual 400 I see.

I am open to making gaming priority as I only play at night anyway......
THanks for all of your hard work!

EDIT:
Sorry should have tried harder the first time!
I oepned SSH, logged in, then typed flexqos -update
I was able to update fine!
I guess at this point I'd still love to hear any tweaks I can do to the QoS settings etc!

You may upgrade via amtm.

When you say your game was impacted by a litttle...are your gaming devices currently wired or connected via WIFI?
 
You may upgrade via amtm.

When you say your game was impacted by a litttle...are your gaming devices currently wired or connected via WIFI?
Shoot I didn't use amtm and just did putty with flexqos -update
Hopefully that ok!
It's my wired gaming PC. Was getting some packet loss in rocket league and pubg. Plus the DSL speed test was crazy low! Never seen it that low, but I don't usually run speed test with disney+ 4k HDR+ stream going . Gaming is above streaming in the QoS thingy .

Note that our TV running disney + is also wired.
 
Yes, perhaps a MARK conflict. I've never used it before since I don't have a VPN, but if you post the output of iptables -t mangle -S I might be able to understand (but not solve) the conflict.
Heres is what I get:

Code:
rhodess@RT-AC3200-4200:/tmp/home/root# iptables -t mangle -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N BWDPI_FILTER
-A PREROUTING -i tun13 -j MARK --set-xmark 0x1/0x7
-A PREROUTING -i eth0 -p udp -j BWDPI_FILTER
-A PREROUTING -i br0 -m set --match-set BBC_WEB3 dst -j MARK --set-xmark 0x4000/0x4000
-A FORWARD -p udp -m udp --dport 5060 -j MARK --set-xmark 0x1/0x7
-A FORWARD -p tcp -m tcp --dport 5060 -j MARK --set-xmark 0x1/0x7
-A FORWARD -s 10.0.1.0/24 -d 10.0.1.0/24 -o br0 -j MARK --set-xmark 0x1/0x7
-A OUTPUT -o eth0 -p udp -m multiport ! --dports 53,123 -j MARK --set-xmark 0x4003ffff/0xffffffff
-A OUTPUT -o eth0 -p tcp -m multiport ! --dports 53,123,853 -j MARK --set-xmark 0x4003ffff/0xffffffff
-A POSTROUTING -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-xmark 0x8006ffff/0x803fffff
-A POSTROUTING -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-xmark 0x4006ffff/0x403fffff
-A POSTROUTING -o br0 -p udp -m udp --dport 16384:16415 -j MARK --set-xmark 0x8006ffff/0x803fffff
-A POSTROUTING -o eth0 -p udp -m udp --sport 16384:16415 -j MARK --set-xmark 0x4006ffff/0x403fffff
-A POSTROUTING -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-xmark 0x8003ffff/0x803fffff
-A POSTROUTING -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-xmark 0x4003ffff/0x403fffff
-A POSTROUTING -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-xmark 0x803fffff/0x803fffff
-A POSTROUTING -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-xmark 0x403fffff/0x403fffff
-A BWDPI_FILTER -i eth0 -p udp -m udp --sport 68 --dport 67 -j DROP
-A BWDPI_FILTER -i eth0 -p udp -m udp --sport 67 --dport 68 -j DROP
 
@dave14305 : is it really needed to restart QOS every 30 mins ?
It is really annoying to start radio stream again and again ...
 
One thing that you may need to check is if you have spdMerlin with AutoBW enabled and scheduled speedtest every 30min. If this is the case this will restart your FlexQoS every 30min and this is working as designed. I also listen a lot a FLAC radio streams and if the above is the thing that causes your problem the way I set it up is to do few spdMerlin scheduled speedtest at night when they are most accurate since there is no other traffic to interfere and this will set your Down/Up QoS BW limits in NVRAM if you have AutoBW enabled. FYI if you do a manual speedtest this will not restart the QoS nor will reset your Down/Up QoS BW limits in NVRAM.
 
One thing that you may need to check is if you have spdMerlin with AutoBW enabled and scheduled speedtest every 30min. If this is the case this will restart your FlexQoS every 30min and this is working as designed. I also listen a lot a FLAC radio streams and if the above is the thing that causes your problem the way I set it up is to do few spdMerlin scheduled speedtest at night when they are most accurate since there is no other traffic to interfere and this will set your Down/Up QoS BW limits in NVRAM if you have AutoBW enabled. FYI if you do a manual speedtest this will not restart the QoS nor will reset your Down/Up QoS BW limits in NVRAM.

You hit the nail … This is the reason, thanks.
 
  • Like
Reactions: NGI

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