What's new

FlexQoS FlexQoS 1.2.4 - 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!

FlexQoS Version 1.2.2 - Released 07-Mar-2021

NEW

  • Add well-known rule for Google Meet.
  • Add overhead and ATM settings to WebUI Options panel.
  • Add user-defined iptables rules to well-known rules dropdown to enable re-ordering of iptables rules via delete and add.
  • Add WebUI mounting lock mechanism being adopted by handsome addon developers everywhere (courtesy of @Martineau).
CHANGED
  • Don't write default settings to custom_settings.txt when saving.
  • Remove extra IPv6 syslog message during startup.
  • In fq_codel mode, make better optimizations for low-bandwidth links.
  • Removed legacy 500 kbps threshold for applying custom rates.
  • Support exact matches in IP fields in Tracked Connections filter. Append $ to indicate exact match syntax (e.g. 192.168.1.10$).
FIXED
  • Don't print custom rate info in debug mode when Automatic Bandwidth is selected on QoS page.
  • Moved iptables Reset link to accommodate changes in 386.1 tableApi.js.
Update via WebUI or flexqos update
 
Last edited:
I noticed that WAN packet overhead feature has been added. But idk what to choose. I used to use a docsis modem so I always chose that.. but now I have this configuration

Fiber to Huawei ONT in router mode(ISP won't let me do bridge mode. So I just DMZed my router) then lan to my router . What should I choose in wan packet overhead? Thanks
 
I noticed that WAN packet overhead feature has been added. But idk what to choose. I used to use a docsis modem so I always chose that.. but now I have this configuration

Fiber to Huawei ONT in router mode(ISP won't let me do bridge mode. So I just DMZed my router) then lan to my router . What should I choose in wan packet overhead? Thanks

Ethernet with VLAN
 
Weird thing is. On Merlin's adaptive QoS setting. When you choose ethernet vlan preset. It's 4 . But if you choose the preset from flexqos, it says 42. So which is the right one?
42. The 4 should be fixed in the upcoming merlin build
 
So has the stable version newer added fuctions than the develop channel version?
 
The new version is giving me problems (asus rt-ac88u). First, if I go to the flexqos tab the graph isn't displaying correctly. Just 1 flat line (like there were no different classes). The problem isn't graphical. If if go to system log it keeps showing error logs and restart attempts, so it never gets enabled.
This gets even worse because with the new version if I make any kind of change that prompts a qos and firewall restart (i.e. adding a rule to the iptables in the webui; disable upnp (wan restart), etc.), the router kinda reboots (actually I think it says roaming start).
Now it's uninstalled because it was just rebooting all the time and acting funny. I tried the 386 and 384 firmware; uninstalling and installing flexqos.
Later tonight (when no one at home it's actually awake) I'll try it again and see what happens.
Is the new version supposed to prompt this "reboot" after you make any changes?

I've tried with the 386 firmware without flexqos and whatever I do it doesn't roam start.
But looking at the log, I guess it's the new flexqos together with 386.
So, with the 384 version it doesn't work, but it doesn't reboot. After installing-uninstalling, etc. I decided to try the 386 version and then it started rebooting (way more times than it shows in the log, for whatever reason the log didn't record/save everything), but as I've said, as soon as I can do whatever I want with the router without my family complaining, I'll be able to copy the log inmediately, not wait for hours (which shouldn't really matter, but the log right now is acting weird. Actually it's messing dates, I'm getting logs from May2020 and March 2021 all mixed up).


Mar 8 02:10:52 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Mar 8 02:10:52 kernel: ioctl_iqos_op_config() fail!
Mar 8 02:10:53 A.QoS: qos_count=2, qos_check=1
Mar 8 02:10:53 kernel: ERR[__parse_app_rule:584] Failed to parse app rule catid value
Mar 8 02:10:53 kernel: ERR[parse_qos_conf:1045] Invalid config syntax at line 21.
Mar 8 02:10:53 kernel: ERR[ioctl_iqos_op_config:3609] parse qos_conf error!!
Mar 8 02:10:53 A.QoS: set_qos_conf fails
Mar 8 02:10:53 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Mar 8 02:10:53 kernel: ioctl_iqos_op_config() fail!
Mar 8 02:10:53 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Mar 8 02:10:53 nat: apply nat rules (/tmp/nat_rules_0_ppp0_vlan6)
Mar 8 02:10:53 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Mar 8 02:10:53 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Mar 8 02:11:02 rc_service: httpd 458:notify_rc stop_upgrade
Mar 8 02:11:02 rc_service: httpd 458:notify_rc start_upgrade
Mar 8 02:11:02 rc_service: waitting "stop_upgrade" via httpd ...
Mar 8 02:11:03 usb: USB is ejected
Mar 8 02:11:03 nat: apply nat rules (/tmp/nat_rules_0_ppp0_vlan6)
Mar 8 02:11:05 ntpd: Stopped ntpd
Mar 8 02:11:05 miniupnpd[2362]: shutting down MiniUPnPd
Mar 8 02:13:40 ntpd: Initial clock set
Mar 8 02:13:40 rc_service: ntpd_synced 1563:notify_rc restart_diskmon
Mar 8 02:13:40 disk_monitor: Finish
Mar 8 02:13:40 custom_script: Running /jffs/scripts/service-event-end (args: restart diskmon)
Mar 8 02:13:42 roamast: ROAMING Start...
Mar 8 02:13:42 disk_monitor: be idle
Mar 8 02:13:53 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Mar 8 02:13:53 zcip_client: configured 169.254.107.70
Mar 8 02:13:57 kernel: SHN Release Version: 2.0.1 f45bb18
Mar 8 02:13:57 kernel: UDB Core Version: 0.2.20
Mar 8 02:13:57 kernel: sizeof forward pkt param = 192
Mar 8 02:13:58 BWDPI: fun bitmap = 83
Mar 8 02:14:00 A.QoS: qos_count=0, qos_check=0
Mar 8 02:14:00 kernel: ERR[__parse_app_rule:584] Failed to parse app rule catid value
Mar 8 02:14:00 kernel: ERR[parse_qos_conf:1045] Invalid config syntax at line 21.
Mar 8 02:14:00 A.QoS: set_qos_conf fails
Mar 8 02:14:00 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Mar 8 02:14:00 kernel: ERR[ioctl_iqos_op_config:3608] parse qos_conf error!!
Mar 8 02:14:00 kernel: ioctl_iqos_op_config() fail!
Mar 8 02:14:03 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Mar 8 02:14:03 rc_service: ip-up 1443:notify_rc stop_samba
Mar 8 02:14:03 rc_service: ip-up 1443:notify_rc start_samba
Mar 8 02:14:03 rc_service: waitting "stop_samba" via ip-up ...
Mar 8 02:14:03 wsdd2[1176]: Terminated received.
Mar 8 02:14:05 Samba_Server: smb daemon is stopped
Mar 8 02:14:05 kernel: gro disabled
Mar 8 02:14:05 custom_script: Running /jffs/scripts/service-event-end (args: stop samba)
Mar 8 02:14:07 kernel: gro enabled with interval 2
Mar 8 02:14:09 Samba_Server: daemon is started
Mar 8 02:14:09 custom_script: Running /jffs/scripts/service-event-end (args: start samba)
Mar 8 02:14:13 crond[499]: time disparity of 1494489 minutes detected
Mar 8 02:15:32 dropbear[2018]: Password auth succeeded for 'Asus' from 192.168.1.100:15000
Mar 8 02:17:06 FlexQoS: File flexqos.asp is already up-to-date
Mar 8 02:17:07 acsd: eth2: NONACSD channel switching to channel spec: 0xe02a (36/80)
Mar 8 02:17:07 syslog: event: wl_chanspec_changed_action
Mar 8 02:17:07 syslog: skip event due no re
Mar 8 02:17:11 rc_service: service 2652:notify_rc restart_qos;restart_firewall
Mar 8 02:17:15 syslog: wlceventd_proc_event(526): eth2: Auth 38:F9:D3:1B:21:6B, status: Successful (0), rssi:0
Mar 8 02:17:15 syslog: wlceventd_proc_event(555): eth2: Assoc 38:F9:D3:1B:21:6B, status: Successful (0), rssi:0
Mar 8 02:17:29 BWDPI: fun bitmap = 83
Mar 8 02:17:29 A.QoS: qos_count=0, qos_check=0
Mar 8 02:17:29 kernel: ERR[__parse_app_rule:584] Failed to parse app rule catid value
Mar 8 02:17:29 kernel: ERR[parse_qos_conf:1045] Invalid config syntax at line 21.
Mar 8 02:17:29 kernel: ERR[ioctl_iqos_op_config:3608] parse qos_conf error!!
Mar 8 02:17:29 kernel: ioctl_iqos_op_config() fail!
Mar 8 02:17:29 A.QoS: set_qos_conf fails
Mar 8 02:17:29 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Mar 8 02:17:29 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Mar 8 02:17:30 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Mar 8 02:17:30 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Mar 8 02:17:30 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=2783) called in unattended mode with 1 args: -start
Mar 8 02:17:31 FlexQoS: Applying iptables static rules
Mar 8 02:17:32 FlexQoS: Applying iptables custom rules
Mar 8 02:17:32 FlexQoS: Flushing conntrack table
Mar 8 02:17:33 FlexQoS: TC Modification Delayed Start
 

Attachments

  • Asus_log.txt
    199.8 KB · Views: 84
Is the new version supposed to prompt this "reboot" after you make any changes?
No, it looks lIke Adaptive QoS isn’t starting properly. These lines are from the firmware:
Code:
Mar  8 01:21:22 BWDPI: fun bitmap = 83
Mar  8 01:21:22 A.QoS: qos_count=0, qos_check=1
Mar  8 01:21:22 kernel: ERR[__parse_app_rule:584] Failed to parse app rule catid value
Mar  8 01:21:22 kernel: ERR[parse_qos_conf:1045] Invalid config syntax at line 21.
Mar  8 01:21:22 kernel: ERR[ioctl_iqos_op_config:3609] parse qos_conf error!!
Mar  8 01:21:22 kernel: ioctl_iqos_op_config() fail!
Mar  8 01:21:22 A.QoS: set_qos_conf fails
Mar  8 01:21:22 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Mar  8 01:21:23 A.QoS: qos_count=0, qos_check=1
Mar  8 01:21:23 kernel: ERR[__parse_app_rule:584] Failed to parse app rule catid value
Mar  8 01:21:23 kernel: ERR[parse_qos_conf:1045] Invalid config syntax at line 21.
Mar  8 01:21:23 kernel: ERR[ioctl_iqos_op_config:3609] parse qos_conf error!!
Mar  8 01:21:23 A.QoS: set_qos_conf fails
Mar  8 01:21:23 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Mar  8 01:21:23 kernel: ioctl_iqos_op_config() fail!
Check your /jffs partition, your Trend signatures, and nvram.
Code:
ls -l /jffs/signature/
nvram get bwdpi_app_rulelist
 
Code:
Asus@RT-AC88U-E408:/tmp/home/root# ls -l /jffs/signature/
-rw-rw-rw-    1 Asus     root       1069003 Mar  4 11:12 rule.trf
Asus@RT-AC88U-E408:/tmp/home/root# nvram get bwdpi_app_rulelist
9,20&#201&#160&#201&#156&#201&#152,5,6,15,17&#201&#156,13&#225&#157&#189,24&#201&#153,3,14&#201&#159,10,11,21,23<customize
 
Why would it suddenly start to act funny? Not that I've changed anything.
Now the adaptive QoS is working. But if I install flexqos it will stop working.
I don't know I'll try tater and see if it works.

Any thoughts on the roaming start?

Btw, thank you very much dave
 
Code:
Asus@RT-AC88U-E408:/tmp/home/root# ls -l /jffs/signature/
-rw-rw-rw-    1 Asus     root       1069003 Mar  4 11:12 rule.trf
Asus@RT-AC88U-E408:/tmp/home/root# nvram get bwdpi_app_rulelist
9,20&#201&#160&#201&#156&#201&#152,5,6,15,17&#201&#156,13&#225&#157&#189,24&#201&#153,3,14&#201&#159,10,11,21,23<customize
The nvram output looks corrupt. Try changing your QoS priorities and applying. You can change them back.

Mine have this format:
Bash:
# nvram get bwdpi_app_rulelist
9,20<0,5,6,15,17<4<7,10,11,21,23<13,24<1,3,14<8<4,13<customize
What firmware version?
 
Using MS Teams for working and realized that all the traffic was fitting into "Web Surfing". Looking at the list and some experimentation, it seems adding the App DB rule for STUN and allocating it to "Work From Home" and the traffic has moved to the correct bucket.

Edit: Sorry, should have read a page back, I see this was discussed and my test wasn't really any news.
 
Last edited:
How is this rule working it for your while gaming? I might have to try it out.
Not sure tbh. Definitely didn’t notice any negative aspects of doing it like this. I did switch it back to gaming last night though and found it felt slightly less responsive again. I play on warzone a lot though and I know the netcode is a bigger issue than my router setup. I’ve tried all sorts to combat it, including throttling bandwidth and nothing really ‘works’. So I’ve settled at trying to make latency as low as possible and prioritised gaming packets and it’s about as good as I can get it. I am going to switch the UDP traffic back to net control though again as I felt overall it was more responsive. Might just be snake oil though, hard to say without statistical proof!
 
The nvram output looks corrupt. Try changing your QoS priorities and applying. You can change them back.

Mine have this format:
Bash:
# nvram get bwdpi_app_rulelist
9,20<0,5,6,15,17<4<7,10,11,21,23<13,24<1,3,14<8<4,13<customize
What firmware version?
It appears that the problem was with the game device prioritising. With the new firmware if you enable adaptive QoS it automatically enables the game gear accelerator, and by the looks of it you can't disable it. I added a mac address to the gear accelerator and now everything seems to be fine. So it looks like the problem was not having any client to apply the prioritisation.

Code:
Mar  8 16:25:36 kernel: SHN Release Version: 2.0.1 f45bb18
Mar  8 16:25:36 kernel: UDB Core Version: 0.2.20
Mar  8 16:25:36 kernel: sizeof forward pkt param = 192
Mar  8 16:25:36 BWDPI: fun bitmap = 3
Mar  8 16:25:39 rc_service: httpd 586:notify_rc restart_qos;restart_firewall;
Mar  8 16:25:58 BWDPI: fun bitmap = 83
Mar  8 16:25:58 A.QoS: qos_count=0, qos_check=0
Mar  8 16:25:58 kernel: ERR[qos_start:3363] qos_ops is not registered!
Mar  8 16:25:58 kernel: ioctl_iqos_op_switch(1) fail!
Mar  8 16:25:58 A.QoS: set_qos_on fails
Mar  8 16:25:58 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Mar  8 16:25:58 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Mar  8 16:25:58 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Mar  8 16:25:58 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Mar  8 16:26:46 rc_service: httpd 586:notify_rc restart_qos;restart_firewall
Mar  8 16:27:04 BWDPI: fun bitmap = 83
Mar  8 16:27:04 A.QoS: qos_count=0, qos_check=1
Mar  8 16:27:07 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Mar  8 16:27:08 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Mar  8 16:27:08 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Mar  8 16:28:27 FlexQoS: Updated flexqos.asp
Mar  8 16:28:30 rc_service: service 17423:notify_rc restart_qos;restart_firewall
Mar  8 16:28:48 BWDPI: fun bitmap = 83
Mar  8 16:28:49 A.QoS: qos_count=0, qos_check=0
Mar  8 16:28:52 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Mar  8 16:28:52 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Mar  8 16:28:52 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Mar  8 16:28:53 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=18105) called in unattended mode with 1 args: -start
Mar  8 16:28:54 FlexQoS: Applying iptables static rules
Mar  8 16:28:55 FlexQoS: Applying iptables custom rules
Mar  8 16:28:55 FlexQoS: Flushing conntrack table
Mar  8 16:28:58 FlexQoS: Applying AppDB rules and TC rates
Mar  8 16:33:01 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=20225) called in unattended mode with 1 args: -check
Mar  8 16:33:01 FlexQoS: iptables rules already present
Mar  8 16:33:02 FlexQoS: No TC modifications necessary
Mar  8 16:36:34 rc_service: httpd 586:notify_rc restart_qos;restart_firewall
Mar  8 16:36:54 BWDPI: fun bitmap = 83
Mar  8 16:36:54 A.QoS: qos_count=0, qos_check=0
Mar  8 16:36:57 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Mar  8 16:36:58 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Mar  8 16:36:58 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Mar  8 16:36:58 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=21714) called in unattended mode with 1 args: -start
Mar  8 16:37:00 FlexQoS: Applying iptables static rules
Mar  8 16:37:00 FlexQoS: Applying iptables custom rules
Mar  8 16:37:00 FlexQoS: Flushing conntrack table
Mar  8 16:37:04 FlexQoS: Applying AppDB rules and TC rates
Mar  8 16:42:01 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=24231) called in unattended mode with 1 args: -check
Mar  8 16:42:01 FlexQoS: iptables rules already present
Mar  8 16:42:02 FlexQoS: No TC modifications necessary
 
Last edited:
Using MS Teams for working and realized that all the traffic was fitting into "Web Surfing". Looking at the list and some experimentation, it seems adding the App DB rule for STUN and allocating it to "Work From Home" and the traffic has moved to the correct bucket.

Edit: Sorry, should have read a page back, I see this was discussed and my test wasn't really any news.
More data points are always useful. :)
 
@dave14305 Is it possible for future releases, in tracked connections, to be able to choose an application and that filter to still be applied when coming back to the flexqos tab?
It's really annoying, though probably of little importance, having the data refresh disabled due to having too many tracked connections. Having to go down and select the filter you wish to apply.
I know it it's not the end of the world, but it's just a suggestion for the future.
 

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