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!

hard decision - cake or flexqos ?
 
Hey Dave! Just one little thing I've noticed. When using ipv6, it isn't getting custom names (which we define on clientlist)

Awesome work!!!! Testing right now pal
 
i think i broke something, im having the same gui issue that QuikSilver did and also im getting this error in the logs, i uninstalled fresh jr qos first, before installing the script, and even after un installing yours and re installing the same bug happens

This is the output from chrome dev tools:
user3.asp:1300 Uncaught TypeError: Cannot read property 'toString' of undefined
at set_FlexQoS_mod_vars (user3.asp:1300)
at initial (user3.asp:562)
at onload (user3.asp:1519)

Log error:
Jun 25 17:28:29 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 25 17:28:29 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=9265) called with 2 args: -start eth0
Jun 25 17:28:29 FlexQoS: Applying iptables static rules
Jun 25 17:28:29 FlexQoS: TC Modification delayed for 0 seconds
Jun 25 17:28:29 FlexQoS: Applying AppDB static rules
Jun 25 17:28:29 FlexQoS: Applying custom bandwidth rates
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
 
Another things I noticed:
The appdb rules are only applied when we press "Apply". When we made some changes on router settings that causes QoS to restart (for example applying ipv6 configs), it seems they don't stick. For example, I created a appdb rule to sent DoT to Net control packets. After qos restart, it starts going again to web traffic.
- app DB doesn't support wildcard rules. When I entered 14**** it throws a red box (meaning that it is wrong, which it isn't because the hard coded rules mostly have wildcards)
 
Well something odd happened.
I uninstalled flexqos and installed again.

Now the flexqos Gui doesn't show anything.

If it matters, I have ipv6 enabled.

Edit: added a screenshot from terminal
Edit2: found the culprit!!! It was sat between my chair and my computer. Adaptive QoS was disabled :p
 

Attachments

  • Screenshot_20200625-090457340.png
    Screenshot_20200625-090457340.png
    65.2 KB · Views: 290
  • Screenshot_20200625-090625051.png
    Screenshot_20200625-090625051.png
    143 KB · Views: 287
Last edited:
I may have to tape a $20 bill to my forehead to get the attention of the Cake users... :p
Sorry, this is mainly a cross-post from the old FreshJR thread. Firstly, THANK YOU for taking this on :D

I'm one of those testing Cake, but whilst it's amazing at managing the queues, I still think there could be a future where Cake is configured with 4 or 8 "tins" using the traffic marking from adaptive QoS and your script. My reasoning is that cake shares everything fairly, whereas I had issues yesterday with multiple people viewing Premier League football being interrupted due to my bandwidth being way over subscribed, but cake trying to share it fairly. What I needed was for the low priority traffic (a large download someone else was running) to back off and only get a much reduced share of the bandwidth. Cake has a mode called "diffserv" which splits the traffic into up to 8 "tins" (essentially priority queues) but it's built in identification seems to put almost all of my traffic into it's default tin.

Whilst testing cake I haven't withdrawn my consent from Trend Micro (as per the advice on their thread) as I wanted to keep using other features including the bandwidth monitor and app analysis. I'm not bothered about memory use etc as long as my router runs fine, and I have to say that cake and Trend are living happily together.

The icing on the cake would be a collaboration between the 2 projects to get the cake benefits enhanced by traffic prioritisation. I understand that focus will currently be on polishing FlexQoS, but wanted to put my thoughts out there for future consideration.

Thanks again @dave14305
 
Using openvpn to connect to home and all traffic is correctly cathegorized (Microsoft teams that I'm using). However it's all counting as File Transfer uploads...

Don't know if the problem persists in lan, as I'm out of home
 
i think i broke something, im having the same gui issue that QuikSilver did and also im getting this error in the logs, i uninstalled fresh jr qos first, before installing the script, and even after un installing yours and re installing the same bug happens

This is the output from chrome dev tools:
user3.asp:1300 Uncaught TypeError: Cannot read property 'toString' of undefined
at set_FlexQoS_mod_vars (user3.asp:1300)
at initial (user3.asp:562)
at onload (user3.asp:1519)

Log error:
Jun 25 17:28:29 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 25 17:28:29 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=9265) called with 2 args: -start eth0
Jun 25 17:28:29 FlexQoS: Applying iptables static rules
Jun 25 17:28:29 FlexQoS: TC Modification delayed for 0 seconds
Jun 25 17:28:29 FlexQoS: Applying AppDB static rules
Jun 25 17:28:29 FlexQoS: Applying custom bandwidth rates
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
Jun 25 17:28:29 FlexQoS: "rate" is required.
I didn’t properly setup defaults on a fresh install. I was over-focused on migration from FreshJR. So if you install FreshJR, then install FlexQoS, it should work better. I will fix that today.
 
How much space does a typical iptables rule use in custom_settings.txt? It looks like that's where you're saving the rules now, is that right? I'm just conscious that that file has an 8kb limit
126 chars if every field is filled to the max in a rule, which is very unlikely. It worst case will be 2999 bytes (API limit). I will start monitoring the size of the variable and the size of the full custom_settings to see how it’s growing for a user.
 
I didn’t properly setup defaults on a fresh install. I was over-focused on migration from FreshJR. So if you install FreshJR, then install FlexQoS, it should work better. I will fix that today.
Ohh all good I thought broke something lol here I am thinking my old age is setting in lol.

But thank you for that it works now, GUI shows up, I did the migration but the "rate" error is still appearing in the logs is there anything I can do on my end to fix it?

My AX88U doesn't have the work from home or learn form home yet so I wonder if that's the issue.
 
Last edited:
Hey Dave! Just one little thing I've noticed. When using ipv6, it isn't getting custom names (which we define on clientlist)

Awesome work!!!! Testing right now pal
IPv6 client list is very ephemeral in the firmware IPv6 log, at least on my network. Looking for ideas...
Another things I noticed:
The appdb rules are only applied when we press "Apply". When we made some changes on router settings that causes QoS to restart (for example applying ipv6 configs), it seems they don't stick. For example, I created a appdb rule to sent DoT to Net control packets. After qos restart, it starts going again to web traffic.
- app DB doesn't support wildcard rules. When I entered 14**** it throws a red box (meaning that it is wrong, which it isn't because the hard coded rules mostly have wildcards)
If you run flexqos -check it should reapply the rules, much like the cronjob would at 3:30am. I will look into the AppDB mark issue. My last change there was to prevent an empty rule. I will look into it.
 
I'm opting for flexqos since I think adaptive qos can work with hardware acceleration, cake can't.
what impacts in real analysis, not theoretical, you feel for hardware acceleration? any comparisons or guidelines? just for info
 
what impacts in real analysis, not theoretical, you feel for hardware acceleration? any comparisons or guidelines? just for info
In simple terms, lack of hardware acceleration means that you cannot go any faster than 300Mbps on a ac86u or ax88u.

So if your internet speed is under 200Mbps (for safety) and you have a ac86u or ax88u, then cake may be preferable as a set and forget solution.

Any faster internet speeds, different router models, or someone with specific traffic shaping requirements should stick with fq_codel and FlexQoS.
 
I'm opting for flexqos since I think adaptive qos can work with hardware acceleration, cake can't.

Both require runner being disabled, although I'm not quite sure if Flow Cache also needs to be disabled for Cake as per the current implementation. Will need to do some investigation on that front.

In any case its great to see Dave officially revive this project, its served users well for many years!
 
Both require runner being disabled, although I'm not quite sure if Flow Cache also needs to be disabled for Cake as per the current implementation. Will need to do some investigation on that front.

In any case its great to see Dave officially revive this project, its served users well for many years!
i hit my 370mbps with adaptive, i havent put cake through its paces but user reports seem to suggest that you would typically see slower speeds
 
I'm can't wait to see the day that cake is added to adaptive QoS and become a native implementation of it.
 
so is felxqos even in the beta better than the reguald freshjr script ?, does it also work well with steam and cs go implements ?
are there any options to add 95% rule /hardcoded?
 

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