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!

Just saw these errors in my log I'm wondering if they are all related to each other by any chance?

kernel: htb: htb qdisc 14: is non-work-conserving?
kernel: htb: htb qdisc 16: is non-work-conserving?
htb: htb qdisc 13: is non-work-conserving?
These errors messages likely indicate that those qdiscs were actively throttling traffic at that time. That's how I understand it at least. I don't see them often, but it's usually indicating my streaming or downloads class numbers.
 
These errors messages likely indicate that those qdiscs were actively throttling traffic at that time. That's how I understand it at least. I don't see them often, but it's usually indicating my streaming or downloads class numbers.
This one is new thought it's the first time I've seen it
kernel: htb: too many events!
 
Also what kind of changes would be required to add something like this to QoS
It’s available in the firmware if you wanted to roll your own QoS.
Code:
# modprobe  -l | grep sched
kernel/net/sched/sch_hfsc.ko
kernel/net/sched/sch_tbf.ko
But does it really compete with what we have (htb+fq_codel)?
 
Hello to everyone I've installed flexqos its works great but for some reason, youtube streaming goes to untracked I've trayed to add a custom rule whit youtube mark reboot the router, and still youtube streaming on all devices goes to untracked, how do I fix this?

I also have to IPTV's that streaming tv and also streaming goes to untracked

Asus ax88u running the latest stable merlin firmware.
 
I've been spending a lot of time reading about HTB and fq_codel ("the classics" in the age of CAKE). I was always happy to ignore the complexity of the device priority classes lurking beneath the more pleasant "Category" classes that we usually talk about (Net Control, Work-From-Home, Streaming, etc.). It's quite a fascinating subject, technically and one that can blow your mind especially when trying to unravel the Adaptive QoS classes, qdiscs and filters.

For anyone with more than 10 devices on their network, and who do not use any form of device priority on the Bandwidth Monitor tab of the QoS webUI, I'm interested to know the output of this command on your router:
Code:
tc class show dev br0 | grep -E "parent 10:1 .* prio "
I personally have no device priorities assigned (everything is Default) but I still see some devices assigned to classes that are at prio 3, when everything else is at prio 2.
Code:
# tc class show dev br0 | grep -E "parent 10:1 .* prio "
class htb 10:2 parent 10:1 leaf 1002: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:3 parent 10:1 leaf 1003: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:4 parent 10:1 leaf 1004: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:5 parent 10:1 leaf 1005: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:6 parent 10:1 leaf 1006: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:7 parent 10:1 leaf 1007: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:8 parent 10:1 leaf 1008: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:9 parent 10:1 leaf 1009: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:11 parent 10:1 leaf 1011: prio 3 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:10 parent 10:1 leaf 1010: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:256 parent 10:1 leaf 1256: prio 3 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:13 parent 10:1 leaf 1013: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:12 parent 10:1 leaf 1012: prio 3 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
class htb 10:14 parent 10:1 leaf 1014: prio 2 rate 16Kbit overhead 18 ceil 322560Kbit burst 3200b cburst 403200b
I can't tell yet if this is an issue that requires a reboot (I had tested a device priority to see what happens underneath the covers, but reverted my change). So is this a flaw in Trend's kernel module that assigns some default priority devices a lower priority class (not all same-priority devices are created equally)?

Anyhow, my latest quest is to see if there's a way to understand and make better use of the device priority structure in Adaptive QoS, which has always been poo-poo'd by FreshJR.

Also, as I've been reading and studying more, I did become quite dismayed at just how old the Linux kernel is on my AC68U. I think I measured the sch_htb.c file from circa January 2010. The more you learn about the latest advances in traffic control, the more you want to play with the latest ideas (e.g. CAKE). OpenWRT is where it's at for CAKE, but I don't really like (or maybe understand?) the best HW options. It becomes rather frustrating to keep trying to crack the Adaptive QoS code (figuratively) when so many other QoS solutions are more "open".

Anyway, I'm not going anywhere anytime soon, but it gets rather lonely trying to unravel this in a vacuum. If anyone is seriously interested in how it all works, I've also started reading the archives of the Bufferbloat mailing list. Especially you CAKE users. You can pick the brains of the authors and other smart people, if you can formulate an intelligent enough question to catch their attention. ;)
Not sure if you're still wanted to see the output of this but here it is. I'm trying Flex again and everything looks good and acting smooth:

Code:
admin@RT-AX88U-0D80:/tmp/home/root# tc class show dev br0 | grep -E "parent 10:1 .* prio "
class htb 10:2 parent 10:1 leaf 1002: prio 3 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:3 parent 10:1 leaf 1003: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:4 parent 10:1 leaf 1004: prio 3 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:5 parent 10:1 leaf 1005: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:6 parent 10:1 leaf 1006: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:7 parent 10:1 leaf 1007: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:8 parent 10:1 leaf 1008: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:9 parent 10:1 leaf 1009: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:11 parent 10:1 leaf 1011: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:10 parent 10:1 leaf 1010: prio 3 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:256 parent 10:1 leaf 1256: prio 3 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:13 parent 10:1 leaf 1013: prio 3 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:12 parent 10:1 leaf 1012: prio 3 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:15 parent 10:1 leaf 1015: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:14 parent 10:1 leaf 1014: prio 3 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:17 parent 10:1 leaf 1017: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:16 parent 10:1 leaf 1016: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:19 parent 10:1 leaf 1019: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
class htb 10:18 parent 10:1 leaf 1018: prio 2 rate 16Kbit overhead 18 ceil 97280Kbit burst 3200b cburst 121600b
 
Hey Dave, as I mentioned on my previous post. I'm using Flex and all is good. Just wanted to pick your brain and see if everything is looking ok from my end. I'm using the dev script version 1.0.3.

Under the QoS tab, I have the following traffic in the order below:

Gaming
Others
Work-from-Home
Web Surfing
Video/Audio
File Transfer
Learn-from-Home

The output of flex -debug is:
Code:
admin@RT-AX88U-0D80:/tmp/home/root# flexqos debug
[SPOILER="FlexQoS Debug"][CODE]
FlexQoS v1.0.3 released 2020-09-21
Development channel

Debug:

Log date: 2020-09-26 16:14:38-0400
Router Model: RT-AX88U
Firmware Ver: 384.19_0
tc WAN iface: eth0
Undf Prio: 2
Undf FlowID: 1:12
Down Band: 97280
Up Band  : 4096
***********
Net Control: 1:10
Work-From-Home: 1:13
Gaming: 1:11
Others: 1:12
Web Surfing: 1:14
Streaming: 1:15
File Downloads: 1:16
Game Downloads: 1:17
***********
Downrates: 4864, 14592, 9728, 19456, 9728, 29184, 4864, 4864
Downceils: 97280, 97280, 97280, 97280, 97280, 97280, 97280, 97280
Downbursts: 4800, 17600, 11200, 24000, 11200, 35200, 4800, 4800
DownCbursts: 121600, 121600, 121600, 121600, 121600, 121600, 121600, 121600
DownQuantums: 60800, 182400, 121600, 243200, 121600, 364800, 60800, 60800
***********
Uprates: 204, 614, 1228, 819, 409, 409, 204, 204
Upceils: 4096, 4096, 4096, 4096, 4096, 4096, 4096, 4096
Upbursts: 3200, 3200, 3200, 3200, 3200, 3200, 3200, 3200
UpCbursts: 4800, 4800, 4800, 4800, 4800, 4800, 4800, 4800
UpQuantums: 2550, 7675, 15350, 10237, 5112, 5112, 2550, 2550
***********
iptables settings: <>>udp>>500,4500>>3<>>udp>16384:16415>>>3<>>tcp>>119,563>>5<>>tcp>>80,443>08****>7<192.168.1.16/28>>both>>!80,443>000000>1<102.168.1.100/30>>both>>>>2
-o br0 -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x8006ffff/0x3fffff
-o eth0 -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x4006ffff/0x3fffff
-o br0 -p udp --dport 16384:16415 -j MARK --set-mark 0x8006ffff/0x3fffff
-o eth0 -p udp --sport 16384:16415 -j MARK --set-mark 0x4006ffff/0x3fffff
-o br0 -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x8003ffff/0x3fffff
-o eth0 -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x4003ffff/0x3fffff
-o br0 -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x803fffff/0x3fffff
-o eth0 -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x403fffff/0x3fffff
-o br0 -d 192.168.1.16/28 -p tcp -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8008ffff/0x3fffff
-o br0 -d 192.168.1.16/28 -p udp -m multiport ! --sports 80,443 -m mark --mark 0x80000000/0xc03fffff -j MARK --set-mark 0x8008ffff/0x3fffff
-o eth0 -s 192.168.1.16/28 -p tcp -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4008ffff/0x3fffff
-o eth0 -s 192.168.1.16/28 -p udp -m multiport ! --dports 80,443 -m mark --mark 0x40000000/0xc03fffff -j MARK --set-mark 0x4008ffff/0x3fffff
-o br0 -d 102.168.1.100/30 -j MARK --set-mark 0x8004ffff/0x3fffff
-o eth0 -s 102.168.1.100/30 -j MARK --set-mark 0x4004ffff/0x3fffff
***********
appdb rules: <000000>6<00006B>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<13****>4<14****>4<1A****>5
filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:12
filter add dev eth0 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:12
filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:12
filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:12
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:14
filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:14
filter change dev br0 prio 22 protocol all handle 802::800 u32 flowid 1:14
filter change dev eth0 prio 22 protocol all handle 802::800 u32 flowid 1:14
filter change dev br0 prio 23 protocol all handle 804::800 u32 flowid 1:14
filter change dev eth0 prio 23 protocol all handle 804::800 u32 flowid 1:14
filter add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:16
filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:16
[/SPOILER]
[/CODE]

Everything look normal to you?
 
Hello to everyone I've installed flexqos its works great but for some reason, youtube streaming goes to untracked I've trayed to add a custom rule whit youtube mark reboot the router, and still youtube streaming on all devices goes to untracked, how do I fix this?

I also have to IPTV's that streaming tv and also streaming goes to untracked

Asus ax88u running the latest stable merlin firmware.

This is a known issue when youtube runs under the Chrome browser. It is not properly classified by Trend Micro. If you have the bandwidth assign some to untracked and move it's priority to where you feel appropriate. Another option is to try and classify it properly yet this is not easy. I've created an over broad iptalbe rule to do so:
Proto=UDP
Remote Port=443
Mark=000000
Class=Streaming

This rule will move the youtube under chrome traffic to streaming yet may move other things as well. Depending on what runs on your network it may or may not be an issue.

Good luck,

Morris
 
It’s available in the firmware if you wanted to roll your own QoS.
Code:
# modprobe  -l | grep sched
kernel/net/sched/sch_hfsc.ko
kernel/net/sched/sch_tbf.ko
But does it really compete with what we have (htb+fq_codel)?
From my research it actually does with latency and other aspects, I've always wondered what HSFC + FQ_Codel would be like.
but to be honest i wouldn't mind an alternative option to htb, i did sent a message to Jack Cheng about if it could be added in future by asus still awaiting a reply.
 
Why FlexQoS keep restarting itself every few hours and reset its qos stats? Even though I didn't change any setting. I can't observe my usage stats because of this.

A few hours ago it happens again, and I saw this in the logs. Whats causing this?
Code:
Sep 28 12:07:16 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=2347) called with 2 args: -start eth0
Sep 28 12:07:18 FlexQoS: Applying iptables static rules
Sep 28 12:07:19 FlexQoS: Applying iptables custom rules
Sep 28 12:07:19 FlexQoS: Flushing conntrack table
Sep 28 12:07:22 FlexQoS: Applying AppDB rules and TC rates
Sep 28 12:07:22 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:22 FlexQoS: We have an error talking to the kernel
Sep 28 12:07:22 FlexQoS: Command failed /tmp/flexqos_tcrules:15
Sep 28 12:07:22 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:22 FlexQoS: We have an error talking to the kernel
Sep 28 12:07:22 FlexQoS: Command failed /tmp/flexqos_tcrules:17
Sep 28 12:07:22 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:22 FlexQoS: Command failed /tmp/flexqos_tcrules:21
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:23
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:24
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:25
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:26
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:27
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:28
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:29
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:30
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:31
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:32
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:33
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:34
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:35
Sep 28 12:07:23 FlexQoS: RTNETLINK answers: No such file or directory
Sep 28 12:07:23 FlexQoS: Command failed /tmp/flexqos_tcrules:36
Sep 28 12:10:20 kernel: nvram: consolidating space!
Sep 28 12:11:17 kernel: htb: htb qdisc 13: is non-work-conserving?
Sep 28 12:12:00 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=8569) called with 1 args: -check
Sep 28 12:12:01 FlexQoS: Scheduled Persistence Check -> Reapplying Changes
Sep 28 12:12:03 FlexQoS: Applying AppDB rules and TC rates
Sep 28 12:17:00 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=13028) called with 1 args: -check
Sep 28 12:17:02 FlexQoS: No TC modifications necessary
 
This is a known issue when youtube runs under the Chrome browser. It is not properly classified by Trend Micro. If you have the bandwidth assign some to untracked and move it's a priority to where you feel appropriate. Another option is to try and classify it properly yet this is not easy. I've created an overbroad iptable rule to do so:
Proto=UDP
Remote Port=443
Mark=000000
Class=Streaming

This rule will move the youtube under chrome traffic to streaming yet may move other things as well. Depending on what runs on your network it may or may not be an issue.

Good luck,

Morris


I add a custom rule as you said now youtube steam via google chrome is going to streaming but also traffic that is not streaming is going to streaming.
also, the bandwidth util doesn't work is just color bars.
 
Last edited:
Why FlexQoS keep restarting itself every few hours and reset its qos stats? Even though I didn't change any setting. I can't observe my usage stats because of this.

A few hours ago it happens again, and I saw this in the logs. Whats causing this?
Either your firewall is restarting often, or there will be other messages before the flexqos -start message to indicate why.

Please post the output of cat /tmp/flexqos_tcrules

There is a temporary error when it loads that is not there 5 minutes later. I need data to troubleshoot that.
 
Either your firewall is restarting often, or there will be other messages before the flexqos -start message to indicate why.

Please post the output of cat /tmp/flexqos_tcrules

There is a temporary error when it loads that is not there 5 minutes later. I need data to troubleshoot that.

Yeah it seems firewall was restarting. any idea why it is restarting so often? Here is a log before that messages appear:
Code:
Sep 28 12:00:21 uiDivStats: Stats updated successfully
Sep 28 12:06:44 rc_service: httpd 247:notify_rc restart_qos;restart_firewall
Sep 28 12:06:45 custom_script: Running /jffs/scripts/service-event (args: restart qos)
Sep 28 12:07:10 BWDPI: fun bitmap = 83
Sep 28 12:07:10 A.QoS: qos_count=0, qos_check=0
Sep 28 12:07:10 A.QoS: qos rule is less than 22
Sep 28 12:07:10 A.QoS: restart A.QoS because set_qos_conf / set_qos_on / setup rule fail
Sep 28 12:07:11 A.QoS: qos_count=0, qos_check=1
Sep 28 12:07:14 custom_script: Running /jffs/scripts/service-event-end (args: restart qos)
Sep 28 12:07:14 custom_script: Running /jffs/scripts/service-event (args: restart firewall)
Sep 28 12:07:15 nat: apply nat rules (/tmp/nat_rules_eth0_eth0)
Sep 28 12:07:15 custom_script: Running /jffs/scripts/nat-start
Sep 28 12:07:15 ntpMerlin: Sleeping for 5s to allow firewall/nat startup to be completed...
Sep 28 12:07:15 custom_script: Running /jffs/scripts/firewall-start (args: eth0)
Sep 28 12:07:15 custom_script: Running /jffs/scripts/service-event-end (args: restart firewall)
Sep 28 12:07:16 FlexQoS: /jffs/addons/flexqos/flexqos.sh (pid=2347) called with 2 args: -start eth0
Sep 28 12:07:18 FlexQoS: Applying iptables static rules
Sep 28 12:07:19 FlexQoS: Applying iptables custom rules
......

Here is the output of cat /tmp/flexqos_tcrules. Note that there was a power outage an hour before I took this command output, so I don't know if this is still related to the log I sent earlier.
Code:
ASUSWRT-Merlin RT-AC68U 384.19_0 Fri Aug 14 19:17:44 UTC 2020
admin@router:/tmp/home/root# cat /tmp/flexqos_tcrules
filter add dev br0 protocol all prio 10 u32 match mark 0x803fffff 0xc03fffff flowid 1:17
filter add dev eth0 protocol all prio 10 u32 match mark 0x403fffff 0xc03fffff flowid 1:17
filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:14
filter add dev eth0 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:14
filter add dev br0 protocol all prio 2 u32 match mark 0x8000006B 0xc03fffff flowid 1:14
filter add dev eth0 protocol all prio 2 u32 match mark 0x4000006B 0xc03fffff flowid 1:14
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0007 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0086 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D0086 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 15 u32 match mark 0x800D00A0 0xc03fffff flowid 1:16
filter add dev eth0 protocol all prio 15 u32 match mark 0x400D00A0 0xc03fffff flowid 1:16
filter add dev br0 protocol all prio 20 u32 match mark 0x8012003F 0xc03fffff flowid 1:13
filter add dev eth0 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:13
filter change dev br0 prio 22 protocol all handle 802::800 u32 flowid 1:13
filter change dev eth0 prio 22 protocol all handle 802::800 u32 flowid 1:13
filter change dev br0 prio 23 protocol all handle 804::800 u32 flowid 1:13
filter change dev eth0 prio 23 protocol all handle 804::800 u32 flowid 1:13
filter add dev br0 protocol all prio 2 u32 match mark 0x801A0000 0xc03f0000 flowid 1:16
filter add dev eth0 protocol all prio 2 u32 match mark 0x401A0000 0xc03f0000 flowid 1:16
class change dev br0 parent 1:1 classid 1:10 htb  prio 0 rate 1536Kbit ceil 30720Kbit burst 3199b cburst 38400b
class change dev eth0 parent 1:1 classid 1:10 htb  prio 0 rate 332Kbit ceil 6656Kbit burst 3199b cburst 7998b
class change dev br0 parent 1:1 classid 1:11 htb  prio 1 rate 6144Kbit ceil 30720Kbit burst 6398b cburst 38400b
class change dev eth0 parent 1:1 classid 1:11 htb  prio 1 rate 1331Kbit ceil 6656Kbit burst 3199b cburst 7998b
class change dev br0 parent 1:1 classid 1:12 htb  prio 2 rate 4608Kbit ceil 30720Kbit burst 3199b cburst 38400b
class change dev eth0 parent 1:1 classid 1:12 htb  prio 2 rate 998Kbit ceil 6656Kbit burst 3199b cburst 7998b
class change dev br0 parent 1:1 classid 1:13 htb  prio 3 rate 3072Kbit ceil 30720Kbit burst 3199b cburst 38400b
class change dev eth0 parent 1:1 classid 1:13 htb  prio 3 rate 665Kbit ceil 6656Kbit burst 3199b cburst 7998b
class change dev br0 parent 1:1 classid 1:14 htb  prio 4 rate 3072Kbit ceil 30720Kbit burst 3199b cburst 38400b
class change dev eth0 parent 1:1 classid 1:14 htb  prio 4 rate 1996Kbit ceil 6656Kbit burst 3199b cburst 7998b
class change dev br0 parent 1:1 classid 1:15 htb  prio 5 rate 9216Kbit ceil 30720Kbit burst 3199b cburst 38400b
class change dev eth0 parent 1:1 classid 1:15 htb  prio 5 rate 665Kbit ceil 6656Kbit burst 3199b cburst 7998b
class change dev br0 parent 1:1 classid 1:16 htb  prio 6 rate 1536Kbit ceil 30720Kbit burst 3199b cburst 38400b
class change dev eth0 parent 1:1 classid 1:16 htb  prio 6 rate 332Kbit ceil 6656Kbit burst 3200b cburst 7998b
class change dev br0 parent 1:1 classid 1:17 htb  prio 7 rate 1536Kbit ceil 30720Kbit burst 3199b cburst 38400b
class change dev eth0 parent 1:1 classid 1:17 htb  prio 7 rate 332Kbit ceil 6656Kbit burst 3200b cburst 7998b
 
I'm taking a look at the tracked connections in the FlexQoS tab and I'm seeing connections to private IP addresses that don't exist on my network. My internal network is 192.168.50.0/24, I have two VPN clients set up and one VPN server set up. The VPN server uses the default 10.8.0.0/24. I'm seeing one machine with 10s of connections to a 192.168.0.4 ip which doesn't exist on my network, and one machine with 10s of connections to 192.168.0.10 which doesn't exist on my network. I can go to those machines and try to ping the IPs that they are supposedly connected to and I get nothing.

Code:
PING 192.168.0.10 (192.168.0.10): 56 data bytes
--- 192.168.0.10 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss

PING 192.168.0.4 (192.168.0.4): 56 data bytes
--- 192.168.0.4 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss


What's also interesting is they all seem to be connecting to port 32400, which is for Plex. I have a plex server on my network but it's at 192.168.50.10.

Strange IPs.PNG
Strange IPs3.PNG


Edit:

Additionally, streaming Amazon Prime video is unwatchable because the quality is so low. My SmartTV was connected to my VPN client, but the speeds are in the 40 Mbps so I don't think it's the VPN. Here are the speeds on the VPN client the TV was using:


Code:
2020-09-29 22:43:32    40.21    19.82
2020-09-29 22:13:26    39.69    21.62
2020-09-29 21:43:26    40.54    19.7
2020-09-29 21:13:31    47.29    21.43
2020-09-29 20:43:26    58.47    19.1
2020-09-29 20:13:37    44.33    20.81
2020-09-29 19:43:28    40.96    20.77
2020-09-29 19:13:27    35.66    17.61
2020-09-29 18:43:28    48.07    21.54
2020-09-29 18:13:39    34.26    20.03

What can I do to diagnose why Amazon Prime video quality is so bad? Thanks guys!
 
Last edited:
From my research it actually does with latency and other aspects, I've always wondered what HSFC + FQ_Codel would be like.
but to be honest i wouldn't mind an alternative option to htb, i did sent a message to Jack Cheng about if it could be added in future by asus still awaiting a reply.

As FQ Codel also trys to minimise connection latency, the potential gains from HSFC will not be significant - there are tests that show with FQ Codel with HTB vs FQ Codel with HFSC perform very similar.
As HSFC latency curves need to be tuned for each specific connection (if you set it to an unachievably low latency you cant maximise bandwidth), FQ Codel with defaults will do a decent job for majority of cases.
If you don't use the latency curves of HFSC it behaves almost exactly same as HTB.
 
I'm taking a look at the tracked connections in the FlexQoS tab and I'm seeing connections to private IP addresses that don't exist on my network. My internal network is 192.168.50.0/24, I have two VPN clients set up and one VPN server set up. The VPN server uses the default 10.8.0.0/24. I'm seeing one machine with 10s of connections to a 192.168.0.4 ip which doesn't exist on my network, and one machine with 10s of connections to 192.168.0.10 which doesn't exist on my network. I can go to those machines and try to ping the IPs that they are supposedly connected to and I get nothing.

Code:
PING 192.168.0.10 (192.168.0.10): 56 data bytes
--- 192.168.0.10 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss

PING 192.168.0.4 (192.168.0.4): 56 data bytes
--- 192.168.0.4 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss


What's also interesting is they all seem to be connecting to port 32400, which is for Plex. I have a plex server on my network but it's at 192.168.50.10.

View attachment 26551View attachment 26552

Edit:

Additionally, streaming Amazon Prime video is unwatchable because the quality is so low. My SmartTV was connected to my VPN client, but the speeds are in the 40 Mbps so I don't think it's the VPN. Here are the speeds on the VPN client the TV was using:


Code:
2020-09-29 22:43:32    40.21    19.82
2020-09-29 22:13:26    39.69    21.62
2020-09-29 21:43:26    40.54    19.7
2020-09-29 21:13:31    47.29    21.43
2020-09-29 20:43:26    58.47    19.1
2020-09-29 20:13:37    44.33    20.81
2020-09-29 19:43:28    40.96    20.77
2020-09-29 19:13:27    35.66    17.61
2020-09-29 18:43:28    48.07    21.54
2020-09-29 18:13:39    34.26    20.03

What can I do to diagnose why Amazon Prime video quality is so bad? Thanks guys!

You can't have a zero in an IP address, there is a misconfiguration or bug somewhere.
 
Please clarify what you mean. :rolleyes:

I worded that incorrectly.
What I meant is 192.168.0.10 not addressable from 192.168.50.0/24 - either in your VPN configuration, VPN software, router or clients there is something using 192.168.0.10 192.168.0.4 addresses incorrectly.
 
I worded that incorrectly.
What I meant is 192.168.0.10 not addressable from 192.168.50.0/24 - either in your VPN configuration, VPN software, router or clients there is something using 192.168.0.10 192.168.0.4 addresses incorrectly.

So I investigated further using netstat and I do see two entries for the 192.168.0.4 IP address.

Code:
C:\WINDOWS\system32>hostname
LenovoSmash
C:\WINDOWS\system32>netstat -ano
Active Connections
  Proto  Local Address          Foreign Address        State           PID
  TCP    192.168.50.10:4518     192.168.0.4:32400      SYN_SENT        3020
  TCP    192.168.50.10:4585     192.168.0.4:32400      SYN_SENT        3020

Investigating the PID 3020 it's coming from Chrome web browser. The LenovoSmash device is also my Plex server, so I have a window open in Chrome connected to http://127.0.0.1:32400/

Still at a loss for why I'm seeing this rouge IP.
 

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Top