FlexQoS FlexQoS 1.0 - Flexible QoS Enhancement Script for Adaptive QoS

  • ATTENTION! You'll notice a Prefix dropdown when you create a thread. If your post applies to one of the topics listed, please use that Prefix for your post. When browsing the thread list you can use the Prefix to filter the view.
  • ATTENTION! As of November 1, 2020, you are not able to reply to threads 6 months after the thread is opened if there are more than 500 posts in the thread.
    Threads will not be locked, so posts may still be edited by their authors.
    Just start a new thread on the topic to post if you get an error message when trying to reply to a thread.

dave14305

Part of the Furniture
I've attached the System Log.

Thanks for your help.
I would speculate that you’re seeing issues because your 2.4G channel is set to Auto and changing frequently. Try setting to a quiet channel (using Site Survey page).
 

Sinner

Senior Member
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
It almost doesnt matter alot the priorities.. if you have the max up/dl set correctly and your "gaming" devices arent needed more than the minimum reserved% then they are garenteed to have the same ping as anything else on the network that also isnt trying to use more than they're fair share of minimum reserved bandwidth.

i still stand by:

others
voip/work from home
web browsing
gaming
video etc
downloads

you could swap gaming and web browsing if theres alot of browsing and data spikes in that category but otherwise shouldnt make much of a difference if like i said max ul/dl and min reserved are set correctly for your connection and needs.
 

JohnSmith

Regular Contributor
If any 386.1 alpha 2 users with an AX router are also running FlexQoS (or even if you're using stock Adaptive QoS), please run this test for me to see if the above-mentioned tc filter issue is resolved on the 386 branch.
Bash:
tc filter show dev br0 | grep -c flowid
service restart_qos
sleep 60
tc filter show dev br0 | grep -c flowid
The counts from the first command to the last command should not be doubling each time you do this. That is the test. Doubling = bad.

If you're actually running FlexQoS, reinstate the custom rules afterward by running flexqos check

Thanking you in advance.

Hi Dave:

Currently still on V384.19 as per my signature, but having an RT-AX88U and FlexQOS V1.05 at the time (Was at 47 Days, 10 hours uptime), when running your command
Code:
tc filter show dev br0 | grep -c flowid

It showed "688", and with FlexQOS on my Ookla Speedtests were getting really slow, so hard rebooted the router (uptime contest gone :( ), and it went to "58", but now after 18 Days, 16 hours of uptime, with V384.19 and V1.06 Hotfix, when running the command
Code:
tc filter show dev br0 | grep -c flowid

it showed "188", and now after turning FlexQOS off, and then back on, after waiting the appropriate time frame, that command now shows "222", and the Ookla Speedtest has gotten even slower.

Is this an affect from FlexQOS over time, or the V384.19 firmware for an RT-AX88U HND Router?
 

dave14305

Part of the Furniture
Is this an affect from FlexQOS over time, or the V384.19 firmware for an RT-AX88U HND Router?
This is a deficiency in the Asus/Trend Micro modules as best I can tell (I don’t experience this first-hand). Perhaps this is one reason they changed their approach in 386.

If you run these commands it should reset things back to normal one time.
Bash:
tc qdisc del root dev br0
tc qdisc del root dev eth0
service restart_qos
 

Sinner

Senior Member
im dying to get the latest one but theres soo much new features and experimenting lol. We have a semi stable version yet? I really just care about default going into others and the dns etc going to netcontrol.. rest is pretty much ok where they are for me
 

JohnSmith

Regular Contributor
This is a deficiency in the Asus/Trend Micro modules as best I can tell (I don’t experience this first-hand). Perhaps this is one reason they changed their approach in 386.

If you run these commands it should reset things back to normal one time.
Bash:
tc qdisc del root dev br0
tc qdisc del root dev eth0
service restart_qos

I ran these commands, and the results were:

Code:
[email protected]:/tmp/home/root# tc filter show dev br0 | grep -c flowid
222
[email protected]:/tmp/home/root# tc qdisc del root dev br0
[email protected]:/tmp/home/root# tc qdisc del root dev eth0
[email protected]:/tmp/home/root# service restart_qos

Done.
[email protected]:/tmp/home/root# tc filter show dev br0 | grep -c flowid
263

Also, System Log showed (only have my log level to notice or above):

Code:
Nov 29 10:48:34 kernel: Cpuidle Host Clock divider is disabled
Nov 29 10:48:36 kernel: The For ALL DEVICES flag of Prof 1 has been set to ENABLE
Nov 29 10:48:39 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=22824) called with 1 args: -start
Nov 29 10:48:40 FlexQoS: Applying iptables static rules
Nov 29 10:48:40 FlexQoS: Applying iptables custom rules
Nov 29 10:48:40 FlexQoS: Flushing conntrack table
Nov 29 10:48:40 FlexQoS: No TC modifications necessary

Unfortunately that did not work. Any other commands you want me to run Dave before I hard reboot my router?
 

solstyce

Occasional Visitor
Just wanted to say a HUGE thank you to @dave14305 for FlexQoS.

I spent a lot of time getting my home network working in March (with more help from Dave, Merlin, and several others) including getting FreshJR QoS running. I've been putting off upgrading my AC68U to the latest firmware and FlexQoS because I was scared of potential problems with the changes ASUS made to QoS. But I bit the bullet over the weekend, and updated firmware and switched to FlexQoS. It was a painless process. I had to re-enter my custom iptables rules for my service-specific network ranges, e.g. anything 192.168.2.9-11 is VOIP and should be "Work From Home" (my top priority), but otherwise, no issues. It just works!

Thanks again for all your help back in March, and for taking on FlexQoS. Works great, and enjoy the new UI. Thank you!
 

Kanji-San

Regular Contributor
No, I think from earlier feedback that this is fixed in 386.1. Just have to wait it out and maybe reboot when you know QoS has been restarted (Sig updates, rule changes, etc.).
@JohnSmith : I have been seeing the same issues with QoS since I changed to the RT-AX88U running 384.19. As @dave14035 mentioned, the best way to deal with it, is to reboot after any QoS-related changes.

However, there is one more thing you can do, so you do not have to reboot every time there is an automatic signature update: comment out (with #) the wrs and sig_check lines in the /jffs/scripts/service-event-end file.
 

dave14305

Part of the Furniture
Fresh meat on the develop branch. Before I started working on the charts below, I was trying to cleanup the shell script code and add a lot of documentation, so some things have changed from the previous version.
  • Separate FlexQoS iptables chain for rules instead of being in POSTROUTING table.
  • Addition of upload/download graphs to replace the pie charts. I want to see how it works for other people before I lean on @Jack Yaz to help me cleanup the new code.
  • Many internal code rewrites (e.g. convert all echo statements to printf).
If you're ready to party, run flexqos develop
If this test version treats you badly, revert to v1.0.6 with flexqos stable

Feedback appreciated!

1606774334204.png
 

Jack Yaz

Part of the Furniture
Fresh meat on the develop branch. Before I started working on the charts below, I was trying to cleanup the shell script code and add a lot of documentation, so some things have changed from the previous version.
  • Separate FlexQoS iptables chain for rules instead of being in POSTROUTING table.
  • Addition of upload/download graphs to replace the pie charts. I want to see how it works for other people before I lean on @Jack Yaz to help me cleanup the new code.
  • Many internal code rewrites (e.g. convert all echo statements to printf).
If you're ready to party, run flexqos develop
If this test version treats you badly, revert to v1.0.6 with flexqos stable

Feedback appreciated!

View attachment 28097
LGTM. I'm a big fan of writing loops to generate things so you may wish to use a function or otherwise to generate your data ( lineData datasets ) in a compact loop but if it works, optimisation can come later :)
 

andresmorago

Senior Member
Fresh meat on the develop branch. Before I started working on the charts below, I was trying to cleanup the shell script code and add a lot of documentation, so some things have changed from the previous version.
  • Separate FlexQoS iptables chain for rules instead of being in POSTROUTING table.
  • Addition of upload/download graphs to replace the pie charts. I want to see how it works for other people before I lean on @Jack Yaz to help me cleanup the new code.
  • Many internal code rewrites (e.g. convert all echo statements to printf).
If you're ready to party, run flexqos develop
If this test version treats you badly, revert to v1.0.6 with flexqos stable

Feedback appreciated!

View attachment 28097
thanks dave. i really like the new graphs.
i will test and report accordingly
 

QuikSilver

Very Senior Member
Fresh meat on the develop branch. Before I started working on the charts below, I was trying to cleanup the shell script code and add a lot of documentation, so some things have changed from the previous version.
  • Separate FlexQoS iptables chain for rules instead of being in POSTROUTING table.
  • Addition of upload/download graphs to replace the pie charts. I want to see how it works for other people before I lean on @Jack Yaz to help me cleanup the new code.
  • Many internal code rewrites (e.g. convert all echo statements to printf).
If you're ready to party, run flexqos develop
If this test version treats you badly, revert to v1.0.6 with flexqos stable

Feedback appreciated!

View attachment 28097
Trying out the develop branch once again and I'm liking the graphs. Definitely sets itself apart. Liking the color and line plots as well. On a side note....anyone else remember when all he scripts used to be CLI and not pretty little graph and tables filled with data? You all have come a long way and I am enjoying the ride!
 

dave14305

Part of the Furniture
On a side note....anyone else remember when all he scripts used to be CLI and not pretty little graph and tables filled with data? You all have come a long way and I am enjoying the ride!
It’s been a fun time for me since the Addon API was released by RMerlin in February. By February 13 I had created my first UI for Unbound, and once the pandemic shut things down, there was plenty of time to dig deeper. In early June I started playing with FreshJR_QOS. And here I am today.

I am truly impressed by how extensible the Merlin firmware is. It’s quite ingenious how all the “hooks” are designed and how well they work for most use cases.
 

Latest threads

Sign Up For SNBForums Daily Digest

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