What's new

[Fork] FlexQoS - Flexible QoS Enhancement Script for Adaptive QoS

dave14305

Part of the Furniture
Just what I've been wanting Dave. You might want to show the limit by having part of the bar gray and on over subscription show the color lighter.
Thank you for overestimating my skills. :)

Looks cool actually but will it really make sense?

Cos if the higher priority categories are not being used, then file transferring can take all of it up, and go past its ceiling (>100%), right? (Not 100% on the terminology).

Does it need to be more like the resource meter bar?
View attachment 25102

Edit: Idea! Maybe draw a 100% vertical line in as well, and it can go past it, then we can see that its gone over and beyond!
Right now, it’s going to use hard-coded Upload and Download bandwidth from the QoS settings while I see how hard it is to calculate per-class ceilings on the fly since it hasn’t been needed in the webui before.

I don’t think an additive bar will convey much meaning in the context of QoS, since it’s focused on limiting a particular class within its ceiling (no class will ever exceed its ceiling by definition). In your example, file transferring can exceed its rate (guaranteed bw) and borrow bandwidth up to its ceiling.

What I find so far is that because tc’s rate measurement is smoothed out, you may not feel like the meters reflect what you see in real-time. Even so, I find it more interesting than packets per second, which it replaces.
 

brummygit

Senior Member
This is a mock-up of new meters that will show how much of the allocated bandwidth per class is in use. It will be the rate as shown in the Rate column as a percentage of the ceiling (the max download or upload bandwidth). I'd love any developer hints on how to mark the rate value (i.e. minimum bandwidth per class) with a vertical line perhaps to show when each class is exceeding its guaranteed bandwidth.

Each meter is 100px wide. I'd really like to draw a vertical bar at the pixel that represents the minimum bandwidth. So for Work-From-Home, I have 20% minimum bandwidth, so at pixel 20 I want to draw a white vertical bar that is visible as the bar may go above or beyond that 20% value. Not sure how to do it yet since I just stole this code from Merlin. The commit is in the develop branch for anyone with ideas.

View attachment 25100
That looks great and with the addition of a marker for the guaranteed minimums it will be very useful.
 

Phil Outram

Regular Contributor
Are the AppDB rules working? I changed Origin and Steam to Game Downloads and yet they both still show up as File downloads.
 

randomName

Very Senior Member
Is the categorization still based off of Trend Micro?
 

dave14305

Part of the Furniture
Are the AppDB rules working? I changed Origin and Steam to Game Downloads and yet they both still show up as File downloads.
My AppDB rules are working. Can't comment on yours without seeing some data.
  1. flexqos debug
  2. tc -s filter show dev br0 | grep -i x800800 -B1
  3. Screenprint of the connection list showing Origin and Steam connections colored as File Downloads
 

tmcb82

Occasional Visitor
This is a mock-up of new meters that will show how much of the allocated bandwidth per class is in use. It will be the rate as shown in the Rate column as a percentage of the ceiling (the max download or upload bandwidth). I'd love any developer hints on how to mark the rate value (i.e. minimum bandwidth per class) with a vertical line perhaps to show when each class is exceeding its guaranteed bandwidth.

Each meter is 100px wide. I'd really like to draw a vertical bar at the pixel that represents the minimum bandwidth. So for Work-From-Home, I have 20% minimum bandwidth, so at pixel 20 I want to draw a white vertical bar that is visible as the bar may go above or beyond that 20% value. Not sure how to do it yet since I just stole this code from Merlin. The commit is in the develop branch for anyone with ideas.

View attachment 25100
I appreciate all your hard work and I think your doing a phenomenal job but in the particular case I feel this feature is adding unneeded complexity to the script with relatively little benefit to the average user. I certainly do not want to sound negative or ungrateful (because your my hero for saving this project) but I think it's important to keep the script as lean and efficient as possible to simplify support in the future as the firmware changes. Honestly, I really just don't want you to get overwhelmed and disappear like Fresh did (does that sound selfish?).

edit: fixed my improper wording thanks L&LD
 
Last edited:

L&LD

Part of the Furniture
@tmcb82, while it may be that @dave14305 may function as a pronoun, I too think he's doing a phenomenal job! :)
 

dave14305

Part of the Furniture
I appreciate all your hard work and I think your doing a phenomenal job but in the particular case I feel this feature is adding unneeded complexity to the script with relatively little benefit to the average user. I certainly do not want to sound negative or ungrateful (because your my hero for saving this project) but I think it's important to keep the script as lean and efficient as possible to simplify support in the future as the firmware changes. Honestly, I really just don't want you to get overwhelmed and disappear like Fresh did (does that sound selfish?).
If this proves worthwhile, it will be a step toward visualizing what QoS is doing. The feature itself isn't complex as it stands now. If the UI ends up looking complex, I'm open to feedback.

While I believe your intent was kind, I also resist being "handled" or "managed" (my word choice). Besides, I'm already weeks into planning and scheduling my unplanned and unscheduled disappearance from the forums. :cool:
 

tmcb82

Occasional Visitor
If this proves worthwhile, it will be a step toward visualizing what QoS is doing. The feature itself isn't complex as it stands now. If the UI ends up looking complex, I'm open to feedback.

While I believe your intent was kind, I also resist being "handled" or "managed" (my word choice). Besides, I'm already weeks into planning and scheduling my unplanned and unscheduled disappearance from the forums. :cool:
I promise it was intended as a compliment and a genuine concern of us overworking you. ;-) I apologize if I made you feel “handled” or “managed”. I/We (I think I can safely say) don’t want to lose you or any of the other wonderful developers in this forum. You had to go all double negative huh? Lol.
 
Last edited:

Yiannis

Occasional Visitor
Is it possible to get a visual representation of how much BW a specific client consumes categorized per class? Right now, I can see either how much BW each class consumes, or if I go to Bandwidth Monitor page, I can see statistics per client and the apps their using. There it would be great if each app had the class category color...
 

Morris

Regular Contributor
Is it possible to get a visual representation of how much BW a specific client consumes categorized per class? Right now, I can see either how much BW each class consumes, or if I go to Bandwidth Monitor page, I can see statistics per client and the apps their using. There it would be great if each app had the class category color...
This has similar goal to what I suggested a while back. Turn the colored class bars into buttons. When you click them they show the flows that make it up listing as the traffic is in the filter connections table.
 

Smokey613

Senior Member
Olay, I know I jump around a lot on the “extras” I have installed on my router, but I have gone back to FlexQoS. It just simply allows more granular traffic control. My one question is, I am not sure how accurate the Traffic Classification bandwidth meter is. It reports about half of what I expect it to when running bandwidth tests. It does not match what is reported by various BW testers.
 

Smokey613

Senior Member
I just checked and the results displayed in the Bandwidth Monitor tab does display the correct bandwidth rate. To get more interesting, I got this “error” on the Traffic Classification tab when running a test.
 

Attachments

Smokey613

Senior Member
I now get the above error anytime I run any type of bandwidth test. I never remember seeing that before, ever.
 

dave14305

Part of the Furniture
I now get the above error anytime I run any type of bandwidth test. I never remember seeing that before, ever.
It means that there are more than 750 connections in your tracked connections list. Your network must be busier than you’ve seen it before, ever. :D

The bandwidth reported on Traffic Classification (whether Merlin or FlexQoS) comes from the output of the tc -s class show dev br0 / eth0 commands (Rate). It’s not the same as a true bandwidth monitor. The Bandwidth Monitor page gets its traffic from a closed-source component and calculates the difference between measurements.

Try it: http://router.asus.com/getTraffic.asp

Per-device App traffic: http://router.asus.com/getTraffic.asp?client=00:00:00:00:00:00 (use a real MAC from your client list).

None of this uses the tc stats (as best we know since it‘s closed source). So disparities are inevitable. But we keep trying.

The rates shown in Traffic Classification are actually 10-second averages per the htb manual: http://luxik.cdi.cz/~devik/qos/htb/manual/userg.htm
 
Last edited:

Smokey613

Senior Member
Thanks for the information. Now I need to determine what is so “chatty” on my network. I only have 28 devices.
 

HugoGTM

Occasional Visitor
Hello,

Thanks for your work, just installed this and its working good so far in an RT-AC68, I just have two questions.

The first one is on persistence, after reboot the FlexQOS tab doesnt show.. i use the below code to force it, is it possible to make it load after reboot without this?

Code:
sh /jffs/addons/flexqos/flexqos.sh check
Second, is on the WhatsApp & Facebook video call, they are both showing in the Web Surfing category, this happens when calling from a mobile and from the laptop. Is this something I need to setup?
 

dave14305

Part of the Furniture
The first one is on persistence, after reboot the FlexQOS tab doesnt show.. i use the below code to force it, is it possible to make it load after reboot without this?
It should load during boot as the firewall starts. Check the syslog for hints. Do you have more than 10 addon pages installed?
 

Morris

Regular Contributor
Hello,

Thanks for your work, just installed this and its working good so far in an RT-AC68, I just have two questions.

The first one is on persistence, after reboot the FlexQOS tab doesnt show.. i use the below code to force it, is it possible to make it load after reboot without this?

Code:
sh /jffs/addons/flexqos/flexqos.sh check
Second, is on the WhatsApp & Facebook video call, they are both showing in the Web Surfing category, this happens when calling from a mobile and from the laptop. Is this something I need to setup?
Asus dose not classify Facebook video or calls differently from the web traffic. If there is stuttering your best bet would be to change the class of all Facebook traffic to "Streaming" or "Work-From-Home" in the AppDB Redirection Rules. Enter Facebook under application and the form will fill out most of the rest. Use the drop down to chose the class you want. The same is probably true for WhatsApp.

Morris
 

Vexira

Part of the Furniture
Hello,

Thanks for your work, just installed this and its working good so far in an RT-AC68, I just have two questions.

The first one is on persistence, after reboot the FlexQOS tab doesnt show.. i use the below code to force it, is it possible to make it load after reboot without this?

Code:
sh /jffs/addons/flexqos/flexqos.sh check
Second, is on the WhatsApp & Facebook video call, they are both showing in the Web Surfing category, this happens when calling from a mobile and from the laptop. Is this something I need to setup?
Now that you've mentioned it I'll have to check it now I've always wondered why my FB video calls at times have been wonky in the past.
 

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