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!

Installed 0.5beta on my home RT-AX88U 384.18 beta1 without issues. It removed Dave's zapped FreshJr 8.9 installation and setup everything without any error messages. WebUI all perfect.
I have a Cogeco cable connection of 1,000Mbit down/30Mbit up with 9ms latency. Earlier I gave Cake a whirl out of curiosity but the download speed got clipped to around 280Mbit download. I use Fast.com, nperf.com & dslreports.com/speedtest as my throughput benchmarks. BTW: speedtest.net usually 20-25% slower on download speed. spdmerlin usually 50-60% slower on the download.
 
@dave14305

I have an AC68u, running 384.18beta1, and I'm having issues. I was running the updated development FreshJR script and decided to update to your new script (Thank you) but am having issues now. I believe it installed correctly, but now I'm getting this in the syslog after install with a stop and start of QoS.

I have Adaptive Manual set at 9 upload and 180 download and LearnFromHome at the bottom of the priority list. I have removed Flex and went back to the dev FreshJR script for now....

Jun 24 20:04:59 FlexQoS: Updated flexqos.asp
Jun 24 20:05:00 FlexQoS: Updated table.js
Jun 24 20:05:01 FlexQoS: Updated tableValidator.js
Jun 24 20:05:14 rc_service: service 32717:notify_rc restart_qos;restart_firewall
Jun 24 20:05:33 BWDPI: fun bitmap = 83
Jun 24 20:05:33 A.QoS: qos_count=0, qos_check=0
Jun 24 20:05:36 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Jun 24 20:05:36 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
Jun 24 20:05:37 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Jun 24 20:05:37 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 24 20:05:37 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=725) called with 2 args: -start eth0
Jun 24 20:05:38 FlexQoS: Applying iptables static rules
Jun 24 20:05:38 FlexQoS: TC Modification delayed for 0 seconds
Jun 24 20:05:39 FlexQoS: Applying AppDB static rules
Jun 24 20:05:39 FlexQoS: Applying custom bandwidth rates
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:26:25 FlexQoS: Updated flexqos.asp
Jun 24 20:26:26 FlexQoS: Updated table.js
Jun 24 20:26:26 FlexQoS: Updated tableValidator.js
Jun 24 20:26:32 rc_service: service 11036:notify_rc restart_qos;restart_firewall
Jun 24 20:26:52 BWDPI: fun bitmap = 83
Jun 24 20:26:52 A.QoS: qos_count=0, qos_check=0
Jun 24 20:26:55 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Jun 24 20:26:55 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
Jun 24 20:26:56 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Jun 24 20:26:56 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 24 20:26:56 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=11496) called with 2 args: -start eth0
Jun 24 20:26:57 FlexQoS: Applying iptables static rules
Jun 24 20:26:57 FlexQoS: TC Modification delayed for 0 seconds
Jun 24 20:26:58 FlexQoS: Applying AppDB static rules
Jun 24 20:26:58 FlexQoS: Applying custom bandwidth rates
Jun 24 20:26:58 FlexQoS: Illegal "buffer"
Jun 24 20:26:58 FlexQoS: Usage: ... qdisc add ... htb [default N] [r2q N]
Jun 24 20:26:58 FlexQoS: [direct_qlen P]
Jun 24 20:26:58 FlexQoS: default minor id of class to which unclassified packets are sent {0}
Jun 24 20:26:58 FlexQoS: r2q DRR quantums are computed as rate in Bps/r2q {10}
Jun 24 20:26:58 FlexQoS: debug string of 16 numbers each 0-3 {0}
Jun 24 20:26:58 FlexQoS: direct_qlen Limit of the direct queue {in packets}
Jun 24 20:26:58 FlexQoS: ... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
Jun 24 20:26:58 FlexQoS: [prio P] [slot S] [pslot PS]
Jun 24 20:26:58 FlexQoS: [ceil R2] [cburst B2] [mtu MTU] [quantum Q]
Jun 24 20:26:58 FlexQoS: rate rate allocated to this class (class can still borrow)
Jun 24 20:26:58 FlexQoS: burst max bytes burst which can be accumulated during idle period {computed}
Jun 24 20:26:58 FlexQoS: mpu minimum packet size used in rate computations
Jun 24 20:26:58 FlexQoS: overhead per-packet size overhead used in rate computations
Jun 24 20:26:58 FlexQoS: linklay adapting to a linklayer e.g. atm
Jun 24 20:26:58 FlexQoS: ceil definite upper class rate (no borrows) {rate}
Jun 24 20:26:58 FlexQoS: cburst burst but for ceil {computed}
Jun 24 20:26:58 FlexQoS: mtu max packet size we create rate map for {1600}
Jun 24 20:26:58 FlexQoS: prio priority of leaf; lower are served first {0}
Jun 24 20:26:58 FlexQoS: quantum how much bytes to serve from leaf at once {use r2q}
Jun 24 20:26:58 FlexQoS: TC HTB version 3.3
Jun 24 20:26:58 FlexQoS: Illegal "buffer"
Jun 24 20:26:58 FlexQoS: Usage: ... qdisc add ... htb [default N] [r2q N]
Jun 24 20:26:58 FlexQoS: [direct_qlen P]
Jun 24 20:26:58 FlexQoS: default minor id of class to which unclassified packets are sent {0}
Jun 24 20:26:58 FlexQoS: r2q DRR quantums are computed as rate in Bps/r2q {10}
Jun 24 20:26:58 FlexQoS: debug string of 16 numbers each 0-3 {0}
Jun 24 20:26:58 FlexQoS: direct_qlen Limit of the direct queue {in packets}
Jun 24 20:26:58 FlexQoS: ... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
Jun 24 20:26:58 FlexQoS: [prio P] [slot S] [pslot PS]
Jun 24 20:26:58 FlexQoS: [ceil R2] [cburst B2] [mtu MTU] [quantum Q]
Jun 24 20:26:58 FlexQoS: rate rate allocated to this class (class can still borrow)
Jun 24 20:26:58 FlexQoS: burst max bytes burst which can be accumulated during idle period {computed}
Jun 24 20:26:58 FlexQoS: mpu minimum packet size used in rate computations
Jun 24 20:26:58 FlexQoS: overhead per-packet size overhead used in rate computations
Jun 24 20:26:58 FlexQoS: linklay adapting to a linklayer e.g. atm
Jun 24 20:26:58 FlexQoS: ceil definite upper class rate (no borrows) {rate}
Jun 24 20:26:58 FlexQoS: cburst burst but for ceil {computed}
Jun 24 20:26:58 FlexQoS: mtu max packet size we create rate map for {1600}
Jun 24 20:26:58 FlexQoS: prio priority of leaf; lower are served first {0}
Jun 24 20:26:58 FlexQoS: quantum how much bytes to serve from leaf at once {use r2q}
Jun 24 20:26:58 FlexQoS: TC HTB version 3.3
Jun 24 20:26:58 FlexQoS: Illegal "buffer"
Jun 24 20:26:58 FlexQoS: Usage: ... qdisc add ... htb [default N] [r2q N]
 
Can anyone confirm this actually works on the ax58u? As far as limiting upload and download speeds properly to combat bufferbloat? Be a lot of work to change everything back over to merlin, just to find out still doesn't work.

This is a beta. I'm sure others are waiting on the sidelines too to see if their router will work 'easily' too. :)

Jump in and take one for the team!
 
@dave14305

I have an AC68u, running 384.18beta1, and I'm having issues. I was running the updated development FreshJR script and decided to update to your new script (Thank you) but am having issues now. I believe it installed correctly, but now I'm getting this in the syslog after install with a stop and start of QoS.

I have Adaptive Manual set at 9 upload and 180 download and LearnFromHome at the bottom of the priority list. I have removed Flex and went back to the dev FreshJR script for now....

Jun 24 20:04:59 FlexQoS: Updated flexqos.asp
Jun 24 20:05:00 FlexQoS: Updated table.js
Jun 24 20:05:01 FlexQoS: Updated tableValidator.js
Jun 24 20:05:14 rc_service: service 32717:notify_rc restart_qos;restart_firewall
Jun 24 20:05:33 BWDPI: fun bitmap = 83
Jun 24 20:05:33 A.QoS: qos_count=0, qos_check=0
Jun 24 20:05:36 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Jun 24 20:05:36 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
Jun 24 20:05:37 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Jun 24 20:05:37 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 24 20:05:37 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=725) called with 2 args: -start eth0
Jun 24 20:05:38 FlexQoS: Applying iptables static rules
Jun 24 20:05:38 FlexQoS: TC Modification delayed for 0 seconds
Jun 24 20:05:39 FlexQoS: Applying AppDB static rules
Jun 24 20:05:39 FlexQoS: Applying custom bandwidth rates
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:05:39 FlexQoS: "rate" is required.
Jun 24 20:26:25 FlexQoS: Updated flexqos.asp
Jun 24 20:26:26 FlexQoS: Updated table.js
Jun 24 20:26:26 FlexQoS: Updated tableValidator.js
Jun 24 20:26:32 rc_service: service 11036:notify_rc restart_qos;restart_firewall
Jun 24 20:26:52 BWDPI: fun bitmap = 83
Jun 24 20:26:52 A.QoS: qos_count=0, qos_check=0
Jun 24 20:26:55 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Jun 24 20:26:55 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
Jun 24 20:26:56 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Jun 24 20:26:56 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 24 20:26:56 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=11496) called with 2 args: -start eth0
Jun 24 20:26:57 FlexQoS: Applying iptables static rules
Jun 24 20:26:57 FlexQoS: TC Modification delayed for 0 seconds
Jun 24 20:26:58 FlexQoS: Applying AppDB static rules
Jun 24 20:26:58 FlexQoS: Applying custom bandwidth rates
Jun 24 20:26:58 FlexQoS: Illegal "buffer"
Jun 24 20:26:58 FlexQoS: Usage: ... qdisc add ... htb [default N] [r2q N]
Jun 24 20:26:58 FlexQoS: [direct_qlen P]
Jun 24 20:26:58 FlexQoS: default minor id of class to which unclassified packets are sent {0}
Jun 24 20:26:58 FlexQoS: r2q DRR quantums are computed as rate in Bps/r2q {10}
Jun 24 20:26:58 FlexQoS: debug string of 16 numbers each 0-3 {0}
Jun 24 20:26:58 FlexQoS: direct_qlen Limit of the direct queue {in packets}
Jun 24 20:26:58 FlexQoS: ... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
Jun 24 20:26:58 FlexQoS: [prio P] [slot S] [pslot PS]
Jun 24 20:26:58 FlexQoS: [ceil R2] [cburst B2] [mtu MTU] [quantum Q]
Jun 24 20:26:58 FlexQoS: rate rate allocated to this class (class can still borrow)
Jun 24 20:26:58 FlexQoS: burst max bytes burst which can be accumulated during idle period {computed}
Jun 24 20:26:58 FlexQoS: mpu minimum packet size used in rate computations
Jun 24 20:26:58 FlexQoS: overhead per-packet size overhead used in rate computations
Jun 24 20:26:58 FlexQoS: linklay adapting to a linklayer e.g. atm
Jun 24 20:26:58 FlexQoS: ceil definite upper class rate (no borrows) {rate}
Jun 24 20:26:58 FlexQoS: cburst burst but for ceil {computed}
Jun 24 20:26:58 FlexQoS: mtu max packet size we create rate map for {1600}
Jun 24 20:26:58 FlexQoS: prio priority of leaf; lower are served first {0}
Jun 24 20:26:58 FlexQoS: quantum how much bytes to serve from leaf at once {use r2q}
Jun 24 20:26:58 FlexQoS: TC HTB version 3.3
Jun 24 20:26:58 FlexQoS: Illegal "buffer"
Jun 24 20:26:58 FlexQoS: Usage: ... qdisc add ... htb [default N] [r2q N]
Jun 24 20:26:58 FlexQoS: [direct_qlen P]
Jun 24 20:26:58 FlexQoS: default minor id of class to which unclassified packets are sent {0}
Jun 24 20:26:58 FlexQoS: r2q DRR quantums are computed as rate in Bps/r2q {10}
Jun 24 20:26:58 FlexQoS: debug string of 16 numbers each 0-3 {0}
Jun 24 20:26:58 FlexQoS: direct_qlen Limit of the direct queue {in packets}
Jun 24 20:26:58 FlexQoS: ... class add ... htb rate R1 [burst B1] [mpu B] [overhead O]
Jun 24 20:26:58 FlexQoS: [prio P] [slot S] [pslot PS]
Jun 24 20:26:58 FlexQoS: [ceil R2] [cburst B2] [mtu MTU] [quantum Q]
Jun 24 20:26:58 FlexQoS: rate rate allocated to this class (class can still borrow)
Jun 24 20:26:58 FlexQoS: burst max bytes burst which can be accumulated during idle period {computed}
Jun 24 20:26:58 FlexQoS: mpu minimum packet size used in rate computations
Jun 24 20:26:58 FlexQoS: overhead per-packet size overhead used in rate computations
Jun 24 20:26:58 FlexQoS: linklay adapting to a linklayer e.g. atm
Jun 24 20:26:58 FlexQoS: ceil definite upper class rate (no borrows) {rate}
Jun 24 20:26:58 FlexQoS: cburst burst but for ceil {computed}
Jun 24 20:26:58 FlexQoS: mtu max packet size we create rate map for {1600}
Jun 24 20:26:58 FlexQoS: prio priority of leaf; lower are served first {0}
Jun 24 20:26:58 FlexQoS: quantum how much bytes to serve from leaf at once {use r2q}
Jun 24 20:26:58 FlexQoS: TC HTB version 3.3
Jun 24 20:26:58 FlexQoS: Illegal "buffer"
Jun 24 20:26:58 FlexQoS: Usage: ... qdisc add ... htb [default N] [r2q N]
I posted a v.0.5 update this morning EDT to address missing default values. Can you try that version? If it still fails, run flexqos -debug
 
I posted a v.0.5 update this morning EDT to address missing default values. Can you try that version? If it still fails, run flexqos -debug
Thanks, I'll try it out in a bit - working from home today!!
 
@dave14305

Code:
Jun 25 22:46:31 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Jun 25 22:46:31 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 25 22:46:32 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=28631) called with 2 args: -start ppp0
Jun 25 22:46:34 FlexQoS: Applying iptables static rules
Jun 25 22:46:35 FlexQoS: Applying custom iptables rules
Jun 25 22:46:35 FlexQoS: iptables v1.4.15: unknown protocol "both" specified
Jun 25 22:46:35 FlexQoS: Try `iptables -h' or 'iptables --help' for more information.
Jun 25 22:46:35 FlexQoS: iptables v1.4.15: unknown protocol "both" specified
Jun 25 22:46:35 FlexQoS: Try `iptables -h' or 'iptables --help' for more information.
Jun 25 22:46:35 FlexQoS: Finished applying custom iptables rules
Jun 25 22:46:36 FlexQoS: TC Modification delayed for 0 seconds
Jun 25 22:46:40 FlexQoS: Applying AppDB static rules
Jun 25 22:46:40 FlexQoS: Applying custom AppDB rules
Jun 25 22:46:40 FlexQoS: Finished applying custom AppDB rules
Jun 25 22:46:40 FlexQoS: Applying custom bandwidth rates
Jun 25 22:48:34 Skynet: [*] WebUI Integration Requires Logging To Be Enabled
Jun 25 22:48:39 Skynet: [#] 332474 IPs (+0) -- 1511 Ranges Banned (+0) || 0 Inbound -- 0 Outbound Connections Blocked! [start] [127s]

Is iptables unknown protocol specified is right?? Everything looks OK here??
 
@dave14305

Code:
Jun 25 22:46:31 custom_script: Running /jffs/scripts/firewall-start (args: ppp0)
Jun 25 22:46:31 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 25 22:46:32 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=28631) called with 2 args: -start ppp0
Jun 25 22:46:34 FlexQoS: Applying iptables static rules
Jun 25 22:46:35 FlexQoS: Applying custom iptables rules
Jun 25 22:46:35 FlexQoS: iptables v1.4.15: unknown protocol "both" specified
Jun 25 22:46:35 FlexQoS: Try `iptables -h' or 'iptables --help' for more information.
Jun 25 22:46:35 FlexQoS: iptables v1.4.15: unknown protocol "both" specified
Jun 25 22:46:35 FlexQoS: Try `iptables -h' or 'iptables --help' for more information.
Jun 25 22:46:35 FlexQoS: Finished applying custom iptables rules
Jun 25 22:46:36 FlexQoS: TC Modification delayed for 0 seconds
Jun 25 22:46:40 FlexQoS: Applying AppDB static rules
Jun 25 22:46:40 FlexQoS: Applying custom AppDB rules
Jun 25 22:46:40 FlexQoS: Finished applying custom AppDB rules
Jun 25 22:46:40 FlexQoS: Applying custom bandwidth rates
Jun 25 22:48:34 Skynet: [*] WebUI Integration Requires Logging To Be Enabled
Jun 25 22:48:39 Skynet: [#] 332474 IPs (+0) -- 1511 Ranges Banned (+0) || 0 Inbound -- 0 Outbound Connections Blocked! [start] [127s]

Is iptables unknown protocol specified is right?? Everything looks OK here??
"both"should be parsed into 2 rules, 1 for tcp and 1 for udp. Can you run flexqos -debug and post the results or PM them?
 
"both"should be parsed into 2 rules, 1 for tcp and 1 for udp. Can you run flexqos -debug and post the results or PM them?
ASUSWRT-Merlin RT-AC68U 384.18_beta1 Fri Jun 19 16:36:18 UTC 2020
thunder@RT-AC68U-4370:/tmp/home/root# flexqos -debug

FlexQoS v0.4 released 06/24/2020

Debug:

Undf Prio: 2
Undf FlowID:
Classes Present: 8
Down Band: 34816
Up Band : 35840
***********
Net Control = 1:10
Work-From-Home = 1:13
Gaming = 1:11
Others = 1:16
Web Surfing = 1:14
Streaming = 1:12
Downloads = 1:15
Defaults = 1:17
***********
Downrates -- 1740, 5222, 10444, 6963, 3481, 1740, 3481, 1740Downceils -- 34816, 34816, 34816, 34816, 34816, 34816, 34816, 34816
Downbursts -- 3199b, 7998b, 3199b, 3199b, 3199b, 3199b, 3199b, 3199b
DownCbursts -- 43193b, 43193b, 43193b, 43193b, 43193b, 43193b, 43193b, 43193b
***********
Uprates -- 1792, 5376, 3584, 7168, 3584, 1792, 10752, 1792
Upceils -- 35840, 35840, 35840, 35840, 35840, 35840, 35840, 35840
Upbursts -- 3199b, 7999b, 3199b, 3199b, 3199b, 3199b, 3199b, 3199b
UpCbursts -- 44800b, 44800b, 44800b, 44800b, 44800b, 44800b, 44800b, 44800b
iptables settings: <192.168.0.18/31>>both>>!80,443>000000>1<>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7<>>tcp>>>>1
iptables -D POSTROUTING -t mangle -o br0 -d 192.168.0.18/31 -p both -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80080001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -d 192.168.0.18/31 -p both -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80080001
iptables -D POSTROUTING -t mangle -o eth0 -s 192.168.0.18/31 -p both -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40080001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -s 192.168.0.18/31 -p both -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40080001
iptables -D POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001
iptables -D POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001
appdb rules: <000000>6<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<13****>4<14****>4<1A****>5<0D0249>1<><><>
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1realtc filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:16
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:16
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:16
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:16
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
realtc filter del dev br0 parent 1: prio 22 > /dev/null 2>&1realtc filter del dev eth0 parent 1: prio 22 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x80130000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x40130000 0xc03f0000 flowid 1:14
realtc filter del dev br0 parent 1: prio 23 > /dev/null 2>&1realtc filter del dev eth0 parent 1: prio 23 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 23 u32 match mark 0x80140000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 23 u32 match mark 0x40140000 0xc03f0000 flowid 1:14
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:15
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0249 0xc03fffff flowid 1:11
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0249 0xc03fffff flowid 1:11
thunder@RT-AC68U-4370:/tmp/home/root#
 
ASUSWRT-Merlin RT-AC68U 384.18_beta1 Fri Jun 19 16:36:18 UTC 2020
thunder@RT-AC68U-4370:/tmp/home/root# flexqos -debug

FlexQoS v0.4 released 06/24/2020

Debug:

Undf Prio: 2
Undf FlowID:
Classes Present: 8
Down Band: 34816
Up Band : 35840
***********
Net Control = 1:10
Work-From-Home = 1:13
Gaming = 1:11
Others = 1:16
Web Surfing = 1:14
Streaming = 1:12
Downloads = 1:15
Defaults = 1:17
***********
Downrates -- 1740, 5222, 10444, 6963, 3481, 1740, 3481, 1740Downceils -- 34816, 34816, 34816, 34816, 34816, 34816, 34816, 34816
Downbursts -- 3199b, 7998b, 3199b, 3199b, 3199b, 3199b, 3199b, 3199b
DownCbursts -- 43193b, 43193b, 43193b, 43193b, 43193b, 43193b, 43193b, 43193b
***********
Uprates -- 1792, 5376, 3584, 7168, 3584, 1792, 10752, 1792
Upceils -- 35840, 35840, 35840, 35840, 35840, 35840, 35840, 35840
Upbursts -- 3199b, 7999b, 3199b, 3199b, 3199b, 3199b, 3199b, 3199b
UpCbursts -- 44800b, 44800b, 44800b, 44800b, 44800b, 44800b, 44800b, 44800b
iptables settings: <192.168.0.18/31>>both>>!80,443>000000>1<>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7<>>tcp>>>>1
iptables -D POSTROUTING -t mangle -o br0 -d 192.168.0.18/31 -p both -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80080001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -d 192.168.0.18/31 -p both -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80080001
iptables -D POSTROUTING -t mangle -o eth0 -s 192.168.0.18/31 -p both -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40080001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -s 192.168.0.18/31 -p both -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40080001
iptables -D POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001
iptables -D POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001
appdb rules: <000000>6<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<13****>4<14****>4<1A****>5<0D0249>1<><><>
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1realtc filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:16
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:16
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:16
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:16
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
realtc filter del dev br0 parent 1: prio 22 > /dev/null 2>&1realtc filter del dev eth0 parent 1: prio 22 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x80130000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x40130000 0xc03f0000 flowid 1:14
realtc filter del dev br0 parent 1: prio 23 > /dev/null 2>&1realtc filter del dev eth0 parent 1: prio 23 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 23 u32 match mark 0x80140000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 23 u32 match mark 0x40140000 0xc03f0000 flowid 1:14
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:15
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0249 0xc03fffff flowid 1:11
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0249 0xc03fffff flowid 1:11
thunder@RT-AC68U-4370:/tmp/home/root#
Thanks, I can reproduce the error. I will fix it soon (I hope :oops:).
 
Thanks, I can reproduce the error. I will fix it soon (I hope :oops:).
Updated to version 0.6.
  • Fixed handling of Proto = both when ports are specified
  • Fixed field length handling for IP addresses and ports when creating rule
  • Fixed duplicate rule check for appdb
  • Added checking for exceeding Merlin API custom_settings allowed sizes
Code:
flexqos -update
@immi803 you have 3 blank appdb rules at the end of your list. Please delete those. Were those always there?
 
Done and Done....Feel free to clean up my first couple posts as they aren't needed anymore and just take up space. Also how long before we get inclusion to AMTM now. Paging Dr @thelonelycoder :cool:
I don't want to rush this out to the masses until I'm sure it works. So much was changed under the hood to break the 4-rule barrier that it needs to cook a little more as a beta.

Also, I hobbled the menu system so much that it's probably not ready for clean integration/navigation with amtm yet.
Thumbs up Mr. Dave and congrats to your very first own script thread.
The Doctor's patiently waiting for the request of inclusion into amtm.
You know the drill.
 
I posted a v.0.5 update this morning EDT to address missing default values. Can you try that version? If it still fails, run flexqos -debug
Still getting the error - 0.6 installed... Debug is below.

FlexQoS v0.6 released 06/25/2020

Debug:

/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
Undf Prio: 2
Undf FlowID: 1:16
Classes Present: 8
Down Band: 184320
Up Band : 9216
***********
Net Control = 1:10
Work-From-Home = 1:13
Gaming = 1:12
Others = 1:16
Web Surfing = 1:14
Streaming = 1:11
Downloads = 1:15
Defaults = 1:17
***********
Downrates -- 9216, 55296, 27648, 36864, 18432, 9216, 18432, 9216
Downceils -- 184320, 184320, 184320, 184320, 184320, 184320, 184320, 184320
Downbursts -- , , , , , , ,
DownCbursts -- , , , , , , ,
***********
Uprates -- 460, 921, 1382, 1843, 921, 460, 2764, 460
Upceils -- 9216, 9216, 9216, 9216, 9216, 9216, 9216, 9216
Upbursts -- 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b
UpCbursts -- 11197b, 11197b, 11197b, 11197b, 11197b, 11197b, 11197b, 11197b
iptables settings: <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7
iptables -D POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001
iptables -D POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001
appdb rules: <000000>6<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<13****>4<14****>4<1A****>5<><><><>
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:16
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:16
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:16
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:16
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
realtc filter del dev br0 parent 1: prio 22 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 22 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x80130000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x40130000 0xc03f0000 flowid 1:14
realtc filter del dev br0 parent 1: prio 23 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 23 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 23 u32 match mark 0x80140000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 23 u32 match mark 0x40140000 0xc03f0000 flowid 1:14
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:15
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:15
 
Still getting the error - 0.6 installed... Debug is below.

FlexQoS v0.6 released 06/25/2020

Debug:

/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
/jffs/addons/flexqos/flexqos.sh: eval: line 1: parent: not found
***********
Downrates -- 9216, 55296, 27648, 36864, 18432, 9216, 18432, 9216
Downceils -- 184320, 184320, 184320, 184320, 184320, 184320, 184320, 184320
Downbursts -- , , , , , , ,
DownCbursts -- , , , , , , ,
***********
Uprates -- 460, 921, 1382, 1843, 921, 460, 2764, 460
Upceils -- 9216, 9216, 9216, 9216, 9216, 9216, 9216, 9216
Upbursts -- 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b, 3198b
UpCbursts -- 11197b, 11197b, 11197b, 11197b, 11197b, 11197b, 11197b, 11197b
This is odd. Can you post the output of:
Code:
tc class show dev br0 | /bin/grep "parent 1:1 "
OK, I think it's the unit of measure in your existing burst and cburst. I've made an assumption of b, but it might be something else on other peoples' routers.
 
This is odd. Can you post the output of:
Code:
tc class show dev br0 | /bin/grep "parent 1:1 "
OK, I think it's the unit of measure in your existing burst and cburst. I've made an assumption of b, but it might be something else on other peoples' routers.
here is the output --
class htb 1:11 parent 1:1 leaf 11: prio 1 rate 36864Kbit ceil 184320Kbit burst 44794b cburst 225Kb
class htb 1:10 parent 1:1 leaf 10: prio 0 rate 9216Kbit ceil 184320Kbit burst 11198b cburst 225Kb
class htb 1:13 parent 1:1 leaf 13: prio 3 rate 9216Kbit ceil 184320Kbit burst 11198b cburst 225Kb
class htb 1:12 parent 1:1 leaf 12: prio 2 rate 18432Kbit ceil 184320Kbit burst 22397b cburst 225Kb
class htb 1:15 parent 1:1 leaf 15: prio 5 rate 5528Kbit ceil 184320Kbit burst 6398b cburst 225Kb
class htb 1:14 parent 1:1 leaf 14: prio 4 rate 7368Kbit ceil 184320Kbit burst 7998b cburst 225Kb
class htb 1:17 parent 1:1 leaf 17: prio 7 rate 1840Kbit ceil 184320Kbit burst 3199b cburst 225Kb
class htb 1:16 parent 1:1 leaf 16: prio 6 rate 3680Kbit ceil 184320Kbit burst 3199b cburst 225Kb
 
after update - here is the output from the log - it appears to be working correctly

Jun 25 13:44:44 FlexQoS: Updated flexqos.sh
Jun 25 13:44:44 FlexQoS: File flexqos.asp is already up-to-date
Jun 25 13:44:45 FlexQoS: File table.js is already up-to-date
Jun 25 13:44:45 FlexQoS: File tableValidator.js is already up-to-date
Jun 25 13:44:49 rc_service: service 21486:notify_rc restart_qos;restart_firewall
Jun 25 13:45:08 BWDPI: fun bitmap = 83
Jun 25 13:45:08 A.QoS: qos_count=0, qos_check=0
Jun 25 13:45:11 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Jun 25 13:45:12 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
Jun 25 13:45:12 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Jun 25 13:45:12 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Jun 25 13:45:13 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=21973) called with 2 args: -start eth0
Jun 25 13:45:14 FlexQoS: Applying iptables static rules
Jun 25 13:45:14 FlexQoS: Applying custom iptables rules
Jun 25 13:45:15 FlexQoS: Finished applying custom iptables rules
Jun 25 13:45:15 FlexQoS: TC Modification delayed for 0 seconds
Jun 25 13:45:17 FlexQoS: Applying AppDB static rules
Jun 25 13:45:17 FlexQoS: Applying custom AppDB rules
Jun 25 13:45:17 FlexQoS: Finished applying custom AppDB rules
Jun 25 13:45:17 FlexQoS: Applying custom bandwidth rates
Jun 25 13:45:17 kernel: HTB: quantum of class 10011 is big. Consider r2q change.
Jun 25 13:45:17 kernel: HTB: quantum of class 10012 is big. Consider r2q change.
Jun 25 13:45:17 kernel: HTB: quantum of class 10013 is big. Consider r2q change.
Jun 25 13:45:17 kernel: HTB: quantum of class 10014 is big. Consider r2q change.
Jun 25 13:45:17 kernel: HTB: quantum of class 10016 is big. Consider r2q change.
 
Updated to version 0.6.
  • Fixed handling of Proto = both when ports are specified
  • Fixed field length handling for IP addresses and ports when creating rule
  • Fixed duplicate rule check for appdb
  • Added checking for exceeding Merlin API custom_settings allowed sizes
Code:
flexqos -update
@immi803 you have 3 blank appdb rules at the end of your list. Please delete those. Were those always there?

Ahhhh!!! Last three unidentified apps was a blunder from my side, removed them

Updated to 0.6, thanks for prompt fix

Ran debug again and following are results, everything's looks OK now???
ASUSWRT-Merlin RT-AC68U 384.18_beta1 Fri Jun 19 16:36:18 UTC 2020
thunder@RT-AC68U-4370:/tmp/home/root# flexqos -debug

FlexQoS v0.6 released 06/25/2020

Debug:

Undf Prio: 2
Undf FlowID: 1:16
Classes Present: 8
Down Band: 34816
Up Band : 35840
***********
Net Control = 1:10
Work-From-Home = 1:13
Gaming = 1:11
Others = 1:16
Web Surfing = 1:14
Streaming = 1:12
Downloads = 1:15
Defaults = 1:17
***********
Downrates -- 1740, 5222, 10444, 6963, 3481, 1740, 3481, 1740Downceils -- 34816, 34816, 34816, 34816, 34816, 34816, 34816, 34816
Downbursts -- 3198b, 7996b, 3197b, 3197b, 3198b, 3198b, 3198b, 3198b
DownCbursts -- 43184b, 43184b, 43184b, 43184b, 43184b, 43184b, 43184b, 43184b
***********
Uprates -- 1792, 5376, 3584, 7168, 3584, 1792, 10752, 1792
Upceils -- 35840, 35840, 35840, 35840, 35840, 35840, 35840, 35840
Upbursts -- 3198b, 7998b, 3198b, 3197b, 3198b, 3198b, 3197b, 3198b
UpCbursts -- 44800b, 44800b, 44800b, 44800b, 44800b, 44800b, 44800b, 44800b
iptables settings: <192.168.0.18/31>>both>>!80,443>000000>1<>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7<>>tcp>>>>1
iptables -D POSTROUTING -t mangle -o br0 -d 192.168.0.18/31 -p tcp -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80080001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -d 192.168.0.18/31 -p tcp -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80080001
iptables -D POSTROUTING -t mangle -o br0 -d 192.168.0.18/31 -p udp -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80080001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -d 192.168.0.18/31 -p udp -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x80080001
iptables -D POSTROUTING -t mangle -o eth0 -s 192.168.0.18/31 -p tcp -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40080001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -s 192.168.0.18/31 -p tcp -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40080001
iptables -D POSTROUTING -t mangle -o eth0 -s 192.168.0.18/31 -p udp -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40080001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -s 192.168.0.18/31 -p udp -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x40080001
iptables -D POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x80060001
iptables -D POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x40060001
iptables -D POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x80030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x80030001
iptables -D POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x40030001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x40030001
iptables -D POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803f0001
iptables -D POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001 >/dev/null 2>&1
iptables -A POSTROUTING -t mangle -o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403f0001
appdb rules: <000000>6<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<13****>4<14****>4<1A****>5<0D0249>1
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1realtc filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:16
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:16
realtc filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:16
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:16
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:15
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:15
realtc filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
realtc filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
realtc filter del dev br0 parent 1: prio 22 > /dev/null 2>&1realtc filter del dev eth0 parent 1: prio 22 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 22 u32 match mark 0x80130000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 22 u32 match mark 0x40130000 0xc03f0000 flowid 1:14
realtc filter del dev br0 parent 1: prio 23 > /dev/null 2>&1realtc filter del dev eth0 parent 1: prio 23 > /dev/null 2>&1
realtc filter add dev br0 protocol all prio 23 u32 match mark 0x80140000 0xc03f0000 flowid 1:14
realtc filter add dev eth0 protocol all prio 23 u32 match mark 0x40140000 0xc03f0000 flowid 1:14
realtc filter del dev br0 parent 1: prio 2 > /dev/null 2>&1
realtc filter del dev eth0 parent 1: prio 2 > /dev/null 2>&1realtc filter add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:15
realtc filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:15
realtc filter add dev br0 protocol all prio 15 u32 match mark 0x800D0249 0xc03fffff flowid 1:11
realtc filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0249 0xc03fffff flowid 1:11
thunder@RT-AC68U-4370:/tmp/home/root#
 
here is the output --
class htb 1:11 parent 1:1 leaf 11: prio 1 rate 36864Kbit ceil 184320Kbit burst 44794b cburst 225Kb
class htb 1:10 parent 1:1 leaf 10: prio 0 rate 9216Kbit ceil 184320Kbit burst 11198b cburst 225Kb
class htb 1:13 parent 1:1 leaf 13: prio 3 rate 9216Kbit ceil 184320Kbit burst 11198b cburst 225Kb
class htb 1:12 parent 1:1 leaf 12: prio 2 rate 18432Kbit ceil 184320Kbit burst 22397b cburst 225Kb
class htb 1:15 parent 1:1 leaf 15: prio 5 rate 5528Kbit ceil 184320Kbit burst 6398b cburst 225Kb
class htb 1:14 parent 1:1 leaf 14: prio 4 rate 7368Kbit ceil 184320Kbit burst 7998b cburst 225Kb
class htb 1:17 parent 1:1 leaf 17: prio 7 rate 1840Kbit ceil 184320Kbit burst 3199b cburst 225Kb
class htb 1:16 parent 1:1 leaf 16: prio 6 rate 3680Kbit ceil 184320Kbit burst 3199b cburst 225Kb
I had never seen Kb in my own cburst parameter, so I had assumed it was always stated in b. Now it just proves "b as in beta". Thanks for helping track it down.
 
I had never seen Kb in my own cburst parameter, so I had assumed it was always stated in b. Now it just proves "b as in beta". Thanks for helping track it down.
No problem, thank you for your work on this great script!!
-- Since we can't have CAKE :)
 
@dave14305 What does this portion do? It seems to point to another page hosted on the router but it doesnt work for me.

Code:
Advanced configuration available via:
http://RT-AC86U-AEA8.:80/user10.asp
 

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