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!

Of course you can always comment out these 2 lines from /jffs/scripts/service-event-end:
Code:
if [ "$1" = "restart" ] && [ "$2" = "wrs" ]; then { sh /jffs/addons/flexqos/flexqos.sh -check & } ; fi # FlexQoS Addition
if [ "$1" = "start" ] && [ "$2" = "sig_check" ]; then { sh /jffs/addons/flexqos/flexqos.sh -check & } ; fi # FlexQoS Addition
You would only need to repeat this after a FlexQoS version update.
Thanks, Dave, I'll try this.
 
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.
 
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.
RT-AX88U, Merlin 386 Alpha 2
Code:
TheS1R@RT-AX88U-BE50:/jffs/scripts# tc filter show dev br0 | grep -c flowid
56
TheS1R@RT-AX88U-BE50:/jffs/scripts# service restart_qos

Done.
TheS1R@RT-AX88U-BE50:/jffs/scripts# sleep 60
TheS1R@RT-AX88U-BE50:/jffs/scripts# tc filter show dev br0 | grep -c flowid
41
TheS1R@RT-AX88U-BE50:/jffs/scripts# tc filter show dev br0 | grep -c flowid
41
TheS1R@RT-AX88U-BE50:/jffs/scripts# service restart_qos

Done.
TheS1R@RT-AX88U-BE50:/jffs/scripts# sleep 60

TheS1R@RT-AX88U-BE50:/jffs/scripts# tc filter show dev br0 | grep -c flowid
41
 
RT-AX88U, Merlin 386 Alpha 2
Code:
TheS1R@RT-AX88U-BE50:/jffs/scripts# tc filter show dev br0 | grep -c flowid
56
TheS1R@RT-AX88U-BE50:/jffs/scripts# service restart_qos

Done.
TheS1R@RT-AX88U-BE50:/jffs/scripts# sleep 60
TheS1R@RT-AX88U-BE50:/jffs/scripts# tc filter show dev br0 | grep -c flowid
41
TheS1R@RT-AX88U-BE50:/jffs/scripts# tc filter show dev br0 | grep -c flowid
41
TheS1R@RT-AX88U-BE50:/jffs/scripts# service restart_qos

Done.
TheS1R@RT-AX88U-BE50:/jffs/scripts# sleep 60

TheS1R@RT-AX88U-BE50:/jffs/scripts# tc filter show dev br0 | grep -c flowid
41
This is encouraging :)
Why does the count go down the first time?
 
@dave14305 I finally got around to trying FlexQoS properly on my RT-AX88U with 386.1 Alpha 2 installed (and stable for the last five days or so).

I ran the commands in post-1623 above and I got 54 and 40 after the restart. Is this significant?

I don't know what magic is happening here, but I am getting my full 1Gbps up/down speeds on my wired desktop with 2ms unloaded and 6ms loaded latency. Even if the router's built-in speed test is showing about 200Mbps slower for both up/down.

Page loading when browsing has been improved too, particularly on heavy pages like Lenovo.com (when configuring a laptop), but is even noticeable just logging into the router GUI too. Magnificent work here!

An observation: I guess the Customize button in the QoS tab isn't meant to be used now. It just resets itself to its defaults no matter how I adjust the priorities (and hit Save, of course).

A question I can't seem to search easily; can I reorder the priorities at all (via drag and drop)?

My preferred order would be:
  • Web Surfing
  • Video and Audio Streaming
  • Others
  • File Transfers
  • (all others at the bottom here)
  • Gaming last (always).
I know the interface is much more customizable than what I'm asking, but at the same time, it is daunting too. :)

No matter, the defaults are doing a great job of giving me an even smoother online experience along with all the other scripts I run too.

Thank you!
 
An observation: I guess the Customize button in the QoS tab isn't meant to be used now. It just resets itself to its defaults no matter how I adjust the priorities (and hit Save, of course).
Try setting one of the other pre-sets first (e.g. Web Surfing) and hitting Apply. Then try using Customize again.
 
Thanks for the quick response @dave14305, that worked!

What a great way to start the week! :)
 
@dave14305 I was looking at the Bandwidth utilization and I realized something strange so I would welcome your view on that. My understanding is that if you have a Minimum bandwidth of a high priority Class (e.g "Other" in the attached) set to X% a lower priority class (e.g. "Streaming" in the attached) should not be be able to utilize more than 100%-X% of the bandwidth as long as there is an active connection of "Other" Class but as you could see in the attached this is not the case. Streaming is using 79% of the bandwidth whilst "Other" Class has 30% Min reserved but only uses currently less than 30%. My understanding was that Streaming in the attached example shall not be able to use more that 70% of the bandwidth assuming there is nothing else active other than "Other" Class. Is that correct or does my understanding on how ASUS QoS works is not correct?

Many thanks in advance.
 

Attachments

  • Picture1.png
    Picture1.png
    82.7 KB · Views: 116
@dave14305 I was looking at the Bandwidth utilization and I realized something strange so I would welcome your view on that. My understanding is that if you have a Minimum bandwidth of a high priority Class (e.g "Other" in the attached) set to X% a lower priority class (e.g. "Streaming" in the attached) should not be be able to utilize more than 100%-X% of the bandwidth as long as there is an active connection of "Other" Class but as you could see in the attached this is not the case. Streaming is using 79% of the bandwidth whilst "Other" Class has 30% Min reserved but only uses currently less than 30%. My understanding was that Streaming in the attached example shall not be able to use more that 70% of the bandwidth assuming there is nothing else active other than "Other" Class. Is that correct or does my understanding on how ASUS QoS works is not correct?

Many thanks in advance.
The way Hierarchical Token Bucket (HTB) works — this is the underlying qdisc that sets up the different classes — the minimum rate is guaranteed to a class if needed, but if not needed the remaining available bandwidth is available to lower priority classes up until they hit their maximum (or ceiling).

I think your belief was very prevalent around here, but I’m pretty sure it’s not correct based on my research into HTB as I worked on FlexQoS.
 
The way Hierarchical Token Bucket (HTB) works — this is the underlying qdisc that sets up the different classes — the minimum rate is guaranteed to a class if needed, but if not needed the remaining available bandwidth is available to lower priority classes up until they hit their maximum (or ceiling).

I think your belief was very prevalent around here, but I’m pretty sure it’s not correct based on my research into HTB as I worked on FlexQoS.
Many thanks for the prompt response and the clarification which makes perfect sense. My confusion is coming from how ASUS explained it in the Traditional QoS settings here: https://www.asus.com/uk/support/FAQ/1010951/
 
@dave14305 I can't switch to the developer branch. I restarted my router and the flexqos tab disappeared so I reset the router completely and did the install again via AMTM. It shows the script is installed until I type in the command to switch to the dev branch then it returns -sh: flexqos : not found

I tried to uninstall it now with a message (FlexQos is not installed correctly. Please update or reinstall )
 
I tried to uninstall it now with a message (FlexQos is not installed correctly. Please update or reinstall )
This is a flaw in the logic during uninstall since the script should obviously no longer be installed correctly after an uninstall.

If you don’t have entware and you haven’t logged out since installing, the shortcut to FlexQoS won’t exist yet, so you can run sh /jffs/addons/flexqos/flexqos.sh develop

There’s nothing exciting in develop at the moment. :)
 
This is a flaw in the logic during uninstall since the script should obviously no longer be installed correctly after an uninstall.

If you don’t have entware and you haven’t logged out since installing, the shortcut to FlexQoS won’t exist yet, so you can run sh /jffs/addons/flexqos/flexqos.sh develop

There’s nothing exciting in develop at the moment. :)
Dave14305.PNG

1. AMTM shows flexqos installed
2. No tab in GUI
3. All 4 CPU cores are spiking
 
Run sh -x /jffs/addons/flexqos/flexqos.sh check and post the output, please.
Dave.PNG

Have this about 200x more times

Edit :I suspect that something got corrupted today because my UPnP doesn't function correctly either
 

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!

Staff online

Top