What's new

Probelm with FlexQOS on AXE-16000

  • 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!

karmasmessenger

Occasional Visitor
tc WAN iface : eth5
The problem is that Merlin hasn’t updated his own Classification page to adapt to variations in WAN interface name for newer models. eth5 is not expected in Merlin’s code to retrieve stats. You probably see the same behavior on the Classification page where upload is not populated.
Code:
FlexQoS v1.3.2 released 2022-09-16

Debug date      : 2023-04-23 09:06:32-0400
Router Model    : GT-AXE16000
Firmware Ver    : 388.2_0
DPI/Sig Ver     : 2.0.3 / 2.348
WAN iface       : eth5
tc WAN iface    : eth5
IPv6            : dhcp6
Undf Prio       : 2
Down Band       : 1024000
Up Band         : 45056
*****************
Net Control     : 1:10
Work-From-Home  : 1:13
Gaming          : 1:11
Others          : 1:17
Web Surfing     : 1:15
Streaming       : 1:12
File Transfers  : 1:16
Learn-From-Home : 1:14
*****************
Downrates       :   51200,  153600,  307200,  204800,   51200,  102400,   51200,  102400
Downceils       : 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000, 1024000
Uprates         :    2252,    6758,    4505,    9011,    2252,    4505,    2252,   13516
Upceils         :   45056,   45056,   45056,   45056,   45056,   45056,   45056,   45056
*****************
iptables settings: Defaults
-A FlexQoS_down -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p udp -m multiport --sports 500,4500 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --dports 500,4500 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p udp -m multiport --dports 16384:16415 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --sports 16384:16415 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p udp -m multiport --dports 16384:16415 -j MARK --set-mark 0x8006ffff/0xc03fffff
-A FlexQoS_up -p udp -m multiport --sports 16384:16415 -j MARK --set-mark 0x4006ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x4003ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 119,563 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 119,563 -j MARK --set-mark 0x4003ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x4003ffff/0xc03fffff
-A FlexQoS_down -p tcp -m multiport --sports 80,443 -m mark --mark 0x80080000/0xc03f0000 -j MARK --set-mark 0x8003ffff/0xc03fffff
-A FlexQoS_up -p tcp -m multiport --dports 80,443 -m mark --mark 0x40080000/0xc03f0000 -j MARK --set-mark 0x4003ffff/0xc03fffff
*****************
appdb rules: <000000>6<0D0007>5<0D0086>5<0D00A0>5<12003F>4<080131>1<13****>4<14****>4
filter add dev br0 protocol all prio 2 u32 match mark 0x80000000 0xc000ffff flowid 1:17
filter add dev eth5 protocol all prio 2 u32 match mark 0x40000000 0xc000ffff flowid 1:17
filter add dev br0 protocol all prio 15 u32 match mark 0x800D0007 0xc03fffff flowid 1:16
filter add dev eth5 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 eth5 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 eth5 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:15
filter add dev eth5 protocol all prio 20 u32 match mark 0x4012003F 0xc03fffff flowid 1:15
filter add dev br0 protocol all prio 10 u32 match mark 0x80080131 0xc03fffff flowid 1:11
filter add dev eth5 protocol all prio 10 u32 match mark 0x40080131 0xc03fffff flowid 1:11
filter change dev br0 prio 22 protocol all handle 829::800 u32 flowid 1:15
filter change dev eth5 prio 22 protocol all handle 802::800 u32 flowid 1:15
filter change dev br0 prio 23 protocol all handle 82a::800 u32 flowid 1:15
filter change dev eth5 prio 23 protocol all handle 804::800 u32 flowid 1:15
class change dev br0 parent 1:1 classid 1:10 htb overhead 18 linklayer ethernet prio 0 rate 51200Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 640000
class change dev eth5 parent 1:1 classid 1:10 htb overhead 18 linklayer ethernet prio 0 rate 2252Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 28150
class change dev br0 parent 1:1 classid 1:11 htb overhead 18 linklayer ethernet prio 1 rate 153600Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 1920000
class change dev eth5 parent 1:1 classid 1:11 htb overhead 18 linklayer ethernet prio 1 rate 6758Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 84475
class change dev br0 parent 1:1 classid 1:12 htb overhead 18 linklayer ethernet prio 2 rate 307200Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 3840000
class change dev eth5 parent 1:1 classid 1:12 htb overhead 18 linklayer ethernet prio 2 rate 4505Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 56312
class change dev br0 parent 1:1 classid 1:13 htb overhead 18 linklayer ethernet prio 3 rate 204800Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 2560000
class change dev eth5 parent 1:1 classid 1:13 htb overhead 18 linklayer ethernet prio 3 rate 9011Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 112637
class change dev br0 parent 1:1 classid 1:14 htb overhead 18 linklayer ethernet prio 4 rate 51200Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 640000
class change dev eth5 parent 1:1 classid 1:14 htb overhead 18 linklayer ethernet prio 4 rate 2252Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 28150
class change dev br0 parent 1:1 classid 1:15 htb overhead 18 linklayer ethernet prio 5 rate 102400Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 1280000
class change dev eth5 parent 1:1 classid 1:15 htb overhead 18 linklayer ethernet prio 5 rate 4505Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 56312
class change dev br0 parent 1:1 classid 1:16 htb overhead 18 linklayer ethernet prio 6 rate 51200Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 640000
class change dev eth5 parent 1:1 classid 1:16 htb overhead 18 linklayer ethernet prio 6 rate 2252Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 28150
class change dev br0 parent 1:1 classid 1:17 htb overhead 18 linklayer ethernet prio 7 rate 102400Kbit ceil 1024000Kbit burst 128000b cburst 1280000b quantum 1280000
class change dev eth5 parent 1:1 classid 1:17 htb overhead 18 linklayer ethernet prio 7 rate 13516Kbit ceil 45056Kbit burst 5632b cburst 56000b quantum 168950

Copy the text from
to
and paste into a forum post at snbforums.com
 
@RMerlin

I know you're busy but, just wondering if this is something you may be able look into in the future for these new routers when time allows.


I appreciate everything you do.
 
@RMerlin

I know you're busy but, just wondering if this is something you may be able look into in the future for these new routers when time allows.


I appreciate everything you do.
Probably. @dave14305 do you know by any chance which nvram variable contains the correct WAN interface? My GT-AXE16000 still uses eth0, so this probably varies by model (and also possibly whether you use the main WAN or a remapped WAN interface - this is messy...)

I have a feeling that the correct interface cannot be retrieved through nvram, only through the libshared get_wan_ifname() call. That means I would need to find a way to make that available to the webui.
 
Last edited:
do you know by any chance which nvram variable contains the correct WAN interface? My GT-AXE16000 still uses eth0, so this probably varies by model (and also possibly whether you use the main WAN or a remapped WAN interface - this is messy...)
I never trusted nvram since the whole qos startup was closed source. I used a couple methods to determine the wan interface used by tcd. I was afraid to miss something with ppp or dual-wan usb interface names.

Bash:
# Determine the WAN interface name used by tc by finding the existing htb root qdisc that is NOT br0.
# If not found, check the dev_wan file created by Adaptive QoS.
# If still not determined, assume eth0 but something is probably wrong at this point.
tcwan="$("${TC}" qdisc ls | sed -n 's/qdisc htb.*dev \([^b][^r].*\) root.*/\1/p')"
if [ -z "${tcwan}" ] && [ -s "/tmp/bwdpi/dev_wan" ]; then
    tcwan="$(/bin/grep -oE "eth[0-9]|usb[0-9]" /tmp/bwdpi/dev_wan)"
fi
if [ -z "${tcwan}" ]; then
    tcwan="eth0"
fi
 
I never trusted nvram since the whole qos startup was closed source. I used a couple methods to determine the wan interface used by tcd. I was afraid to miss something with ppp or dual-wan usb interface names.

Bash:
# Determine the WAN interface name used by tc by finding the existing htb root qdisc that is NOT br0.
# If not found, check the dev_wan file created by Adaptive QoS.
# If still not determined, assume eth0 but something is probably wrong at this point.
tcwan="$("${TC}" qdisc ls | sed -n 's/qdisc htb.*dev \([^b][^r].*\) root.*/\1/p')"
if [ -z "${tcwan}" ] && [ -s "/tmp/bwdpi/dev_wan" ]; then
    tcwan="$(/bin/grep -oE "eth[0-9]|usb[0-9]" /tmp/bwdpi/dev_wan)"
fi
if [ -z "${tcwan}" ]; then
    tcwan="eth0"
fi
get_wan_ifname(wan_primary_ifunit()) would probably be the proper way to do it then, since this is how rc/qos.c determines the WAN interface to use. That function knows how to handle various special cases, like when using SOFTWIRE46.
 
get_wan_ifname(wan_primary_ifunit()) would probably be the proper way to do it then, since this is how rc/qos.c determines the WAN interface to use. That function knows how to handle various special cases, like when using SOFTWIRE46.
I had usually seen different interfaces used for the firewall than where tc instantiated the wan root qdisc, when it came to different types of connections. Firewall might use ppp0, but htb qdisc would be on eth0. Even stranger combinations on gnuton devices (atm0 and ppp0).
 
get_wan_ifname(wan_primary_ifunit()) does work on an RT-AX86U_PRO when using the 2.5 Gbps port (eth5) instead of the WAN port (eth0). Since that's what rc itself uses when setting up classes, this should be accurate.
 
get_wan_ifname(wan_primary_ifunit()) does work on an RT-AX86U_PRO when using the 2.5 Gbps port (eth5) instead of the WAN port (eth0). Since that's what rc itself uses when setting up classes, this should be accurate.
Maybe the answers are already in these files:
Code:
cat /sys/module/tdts_udb/parameters/dev_wan
cat /sys/module/tdts_udb/parameters/qos_wan
Especially interested in users where the 2 values are not the same (WAN connection types PPPoE, PPTP, L2TP).
Or run this and post the output:
Code:
# bwdpi iqos restart
[BWDPI][run_signature_check:(381)]2 - run signature from /jffs/signature/rule.trf
[BWDPI][start_tm_qos:(577)]buf=dev_wan=eth0 qos_wan=eth0 qos_lan=br0 sess_num=30000 user_timeout=3600 app_timeout=3600
 
Last edited:
@dave14305 I have a RT-AX86 Pro and when installing VN-Stats I can recall wan interface was reported as ppp0. The WAN port is connected to a VDSL modem/router operting in bridge mode, and the RT-AX86 Pro is doing the PPPoE call. Ιn parallel I do face some issues with FlexQoS (i.e. upload speed not reported at all at FlexQoS chart, connections table seem to be totally off, reporting active connections for devices that have internet blocked).
 
Last edited:
I have a RT-AX86 Pro and when installing VN-Stats I can recall wan interface was reported as ppp0. … Ιn parallel I do face some issues with FlexQoS (i.e. upload speed not reported at all at FlexQoS chart
This is the same issue some others have experienced since 388.2_2, but I don’t sense @RMerlin is in a hurry to fix it.
connections table seem to be totally off, reporting active connections for devices that have internet blocked
All that data comes from the Trend Micro bwdpi modules, so no way to predict how it behaves. Now you can track what the blocked machines were trying to connect to. Consider it a new feature.
 
@dave14305 maybe I am asking nonesense, but as a workaround, would it be possible to rename ppp0 to make it work with current version?
 
@dave14305 maybe I am asking nonesense, but as a workaround, would it be possible to rename ppp0 to make it work with current version?
No, it would only confuse things further. All the PPPoE users who use FlexQoS or the regular Classification page need to complain more loudly in the 388.2 thread, in my view.
 
I get random lagspikes, during gaming sessions while others on my network watch netflix, and youtube, I can't figure out how to strictly bump up the packets on my gaming devices, first on queue, is there a guide on how to do this so i dont continue to flood the support pages?
 
I get random lagspikes

This may be completely unrelated to your QoS. You connect to a game server somewhere, no? How do you know it's not caused by the server load?

What's your ISP speed? 1000/50?
 
This may be completely unrelated to your QoS. You connect to a game server somewhere, no? How do you know it's not caused by the server load?

What's your ISP speed? 1000/50?
1000/40 I'm on Xfinity, they did shut the server i play on down and im being redirected to another BUT, the fact that my speed tests fluctuate so bad its what worries me, when qos is on
 
problem is, it has lots of packet loss when i dont put qos on, i have 3 ppl streaming on tvs at the same time, theres gotta be a way i can manually mark the packets i want first out
 
problem is, it has lots of packet loss when i dont put qos on, i have 3 ppl streaming on tvs at the same time, theres gotta be a way i can manually mark the packets i want first out

That's odd as I would expect dropped packets with QoS enabled - there's an implicit agreement with QoS that packets can be dropped to ensure fairness...
 

Similar threads

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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