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!

Thanks! Can you just replace all instances of "eth0" with your "${wan}" variable, or is there more at play?
All 15 instances in the script relate to tc and no other command.
Code:
$ grep -c eth0 flexqos.sh && grep -c tc.*eth0 flexqos.sh
15
15
$ sed -i 's/eth0/\$\{wan\}/' flexqos.sh
Please test my attempt in v0.9.0.
 
Recheck works great (didn't report a need to restart on my AC68U - but it did the check) :D
 
Version 0.9.0
  • Remove custom table.js and tableValidator.js after learning how to customize the tableValidator objects within my own script
  • Added wan interface detection for tc commands to account for routers that do not use eth0 (e.g. AX58U)
  • Added cronjob 5 minutes after startup to ensure nothing reset QoS tc environment after script execution
  • Added Reset to defaults option to iptables and AppDB rules tables in webUI
Code:
sh /jffs/addons/flexqos/flexqos.sh update
Noticed this when updating...Not sure if its anything or not though.
Code:
FlexQoS v0.8.7 released 07/03/2020

Checking for updates

 FlexQoS v0.9.0 is now available!
 Would you like to update now? [1=Yes 2=No] : 1

Installing: FlexQoS v0.9.0

Installing FlexQoS...
Checking firmware version...
Downloading WebUI files...
mkdir: can't create directory '/www/ext/flexqos': No such file or directory
/jffs/addons/flexqos/flexqos.sh: line 1394: can't create /www/user/flexqos/flexq                                                                                        os_arrays.js: nonexistent directory
Adding FlexQoS entries to Merlin user scripts...
Adding nightly cron job...
Adding flexqos link in Entware /opt/bin...
FlexQoS installation complete!

FlexQoS v0.9.0 released 07/05/2020

Advanced configuration available via:
http://192.168.1.1/user1.asp

Would you like to restart QoS for modifications to take effect? [1=Yes 2=No]: 1
Restarting QoS and Firewall...

Done.
 
Noticed this when updating...Not sure if its anything or not though.
Code:
FlexQoS v0.8.7 released 07/03/2020

Checking for updates

 FlexQoS v0.9.0 is now available!
 Would you like to update now? [1=Yes 2=No] : 1

Installing: FlexQoS v0.9.0

Installing FlexQoS...
Checking firmware version...
Downloading WebUI files...
mkdir: can't create directory '/www/ext/flexqos': No such file or directory
/jffs/addons/flexqos/flexqos.sh: line 1394: can't create /www/user/flexqos/flexq                                                                                        os_arrays.js: nonexistent directory
Adding FlexQoS entries to Merlin user scripts...
Adding nightly cron job...
Adding flexqos link in Entware /opt/bin...
FlexQoS installation complete!

FlexQoS v0.9.0 released 07/05/2020

Advanced configuration available via:
http://192.168.1.1/user1.asp

Would you like to restart QoS for modifications to take effect? [1=Yes 2=No]: 1
Restarting QoS and Firewall...

Done.
Same thing here. Uninstall and re-install corrects the issue.
 
Any else do this as well??
upload_2020-7-5_18-2-9.png


Gonna try uninstall/reinstall.
 
Please test v0.9.0 for the 5 minute recheck.
Cron job well applied and works fine, Thank you
Jul 6 03:00:30 FlexQoS: Updated flexqos.sh
Jul 6 03:00:33 FlexQoS: Updated flexqos.asp
Jul 6 03:00:38 rc_service: service 25586:notify_rc restart_qos;restart_firewall
Jul 6 03:00:38 custom_script: Running /jffs/scripts/service-event (args: restart qos)
Jul 6 03:00:41 kernel: Ebtables v2.0 registered
Jul 6 03:00:49 dropbear[25255]: Exit (thunder) from <192.168.0.18:49976>: Exited normally
Jul 6 03:01:03 BWDPI: fun bitmap = 83
Jul 6 03:01:03 A.QoS: qos_count=0, qos_check=0
Jul 6 03:01:05 kernel: nvram: consolidating space!
Jul 6 03:01:06 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Jul 6 03:01:06 custom_script: Running /jffs/scripts/service-event (args: restart firewall)
Jul 6 03:01:07 nat: apply nat rules (/tmp/nat_rules_ppp0_eth0)
Jul 6 03:01:07 custom_script: Running /jffs/scripts/nat-start
Jul 6 03:01:07 ntpMerlin: Sleeping for 5s to allow firewall/nat startup to be completed...
Jul 6 03:01:07 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Jul 6 03:01:07 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jul 6 03:01:08 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=26086) called with 2 args: -start ppp0
Jul 6 03:01:10 FlexQoS: Applying iptables static rules
Jul 6 03:01:11 FlexQoS: Applying custom iptables rules
Jul 6 03:01:16 FlexQoS: Applying AppDB static rules
Jul 6 03:01:16 FlexQoS: Applying custom AppDB rules
Jul 6 03:01:16 FlexQoS: Applying custom bandwidth rates
Jul 6 03:03:22 Skynet: [*] WebUI Integration Requires Logging To Be Enabled
Jul 6 03:03:27 Skynet: [#] 352756 IPs (+0) -- 1543 Ranges Banned (+0) || 0 Inbound -- 0 Outbound Connections Blocked! [start] [139s]
Jul 6 03:05:02 (gen_ytadblock.sh): 29744 Number of yt adblocked domains: 39
Jul 6 03:06:01 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=29850) called with 1 args: check
Jul 6 03:06:01 FlexQoS: No TC modifications necessary
Jul 6 03:07:43 kernel: htb: htb qdisc 14: is non-work-conserving?
 
After uninstall and install 0.9.0 version AppDB applications are all "Undefined".
I know that was different in previous releases.
 

Attachments

  • Screen Shot 2020-07-05 at 4.39.14 PM.jpg
    Screen Shot 2020-07-05 at 4.39.14 PM.jpg
    49.3 KB · Views: 131
Hotfix pushing now I hope.

Workaround is to rm /www/user/flexqos
Yes. That did the trick. removed the directory, then did the update and all is back to normal. Great work @dave14305 and effort to bring the future release. It works great and prioritizing traffic on my RT86U.
 
Hotfix pushing now I hope.

Workaround is to rm /www/user/flexqos
Rules looked to be lost once I upgraded. Uninstall/Reinstalled with a restored backup (worked fine) worked on one. Other unit I had to recreate rules.
 
Any else do this as well??
View attachment 24547

Gonna try uninstall/reinstall.
I need a nicer way to detect if the script and its arrays didn't load so it doesn't break the page. But a fix is out there now. I think the lesson learned is that you cannot create a new directory over a broken link of the same name. :)
Rules looked to be lost once I upgraded. Uninstall/Reinstalled with a restored backup (worked fine) worked on one. Other unit I had to recreate rules.
Uninstall will remove the settings. Working with @maghuro on the finer points of backing up and restoring settings on uninstall/reinstall.
Yes. That did the trick. removed the directory, then did the update and all is back to normal. Great work @dave14305 and effort to bring the future release. It works great and prioritizing traffic on my RT86U.
Thanks!
 
One thing I have noticed overtime running this beta - it maybe related to fq_codel itself. When first enabled adoptive QoS and FlexQoS works well and I get a good DL and UL speeds. Overtime, say 5 hours later when I re-run the DSL Speed report the DL speed drops significantly. My original programmed DL is at 280Mbps.
First run I do it reports close to 280Mbps but after few hours is much less than 180Mpbs. At this point if I disable Adoptive QoS I reports little over 300Mbps. My thinking is that fq_codel is at fault here. Is anyone else experiencing this?
 
I need a nicer way to detect if the script and its arrays didn't load so it doesn't break the page. But a fix is out there now. I think the lesson learned is that you cannot create a new directory over a broken link of the same name. :)

Uninstall will remove the settings. Working with @maghuro on the finer points of backing up and restoring settings on uninstall/reinstall.

Thanks!
Good news is restore saved me on unit I actually backed up. ;)
 
One thing I have noticed overtime running this beta - it maybe related to fq_codel itself. When first enabled adoptive QoS and FlexQoS works well and I get a good DL and UL speeds. Overtime, say 5 hours later when I re-run the DSL Speed report the DL speed drops significantly. My original programmed DL is at 280Mbps.
First run I do it reports close to 280Mbps but after few hours is much less than 180Mpbs. At this point if I disable Adoptive QoS I reports little over 300Mbps. My thinking is that fq_codel is at fault here. Is anyone else experiencing this?
I don’t have a direct comment on the fq_codel issue, but I do have a comment that I have found dslreports.com/speedtest to be unpredictable in availability and consistency the last few weeks.
 
I don’t have a direct comment on the fq_codel issue, but I do have a comment that I have found dslreports.com/speedtest to be unpredictable in availability and consistency the last few weeks.
Thanks. I will keep track. Even so that would not explain when I disabled the QoS the DL speed has shown to be back as normal. But I will try with nperf.com to confirm next time. We all know that Asus fq_codel is or had issues in the past.
 
It's not a bug, it's just a bad design. Those app categories (Web Services, and I forgot the other one) can contain traffic that is not related to Learn-From-Home, which in the end messes up proper classification for a lot of web traffic NOT related to eLearning. I advise people to leave that category at the bottom to avoid messing up other traffic types (or, it can be re-purposed by FlexQoS, at least until Asus/Trend Micro decide to more properly implement eLearning classification).

And treat Work-from-Home as you would treat VoIP and Messenging - they just renamed the category. Again, some stuff totally unrelated to working from home (like social media IMs) will end up under that category.
So would it be advisable to leave learn form home above file transfer?

I hope that Asus and the team are able to sort out this design flaw soon so it becomes less confusing.


Also thank you for the extra clarification. :)
 
I may have to tape a $20 bill to my forehead to get the attention of the Cake users... :p

Consider that $20 bill pocketed :D ... I confess in your early alpha phase of flexqos I wandered across to the easy eats "cake" table and had my fill on the "light" side ;).

Now fully content to be back on the "heavy" side with infinitely tweak-able FlexQos giving me Triple A+ ratings and solid speeds from my 100/50 Fibre.
Best of all, unlike Cake, I am back to full HW Acceleration - for both Runner and Flow Cache. {Double Thumbs Up}.

Great job so far @dave14305 :cool:.
 
Consider that $20 bill pocketed :D ... I confess in your early alpha phase of flexqos I wandered across to the easy eats "cake" table and had my fill on the "light" side ;).

Now fully content to be back on the "heavy" side with infinitely tweak-able FlexQos giving me Triple A+ ratings and solid speeds from my 100/50 Fibre.
Best of all, unlike Cake, I am back to full HW Acceleration - for both Runner and Flow Cache. {Double Thumbs Up}.

Great job so far @dave14305 :cool:.
If cake is the light side then flex is the Dark side, so welcome back to the dark side we have cookies.
 
But I think I can get tc to tell me which interfaces it has qdisc defined on and use that info. The script sometimes runs outside of firewall-start which passes the WAN iface name. In the meantime, your idea would work as a temporary measure if your WAN iface name is really eth4 in the rest of the router’s functions (nvram get wan_ifnames).
An elegant solution implemented. Can confirm it is indeed eth4 for both tc and wan on my AX3000.
 

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