Ipq806x NSS build (Netgear R7800 / TP-Link C2600 / Linksys EA8500)

Just curious: is it possible that there will ever be a NSS cake?

Unfortunately not. The offloading pathway only supports fq_codel as far as I understand.

Sorry - this is a a bit above my knowledge base. Good luck!

I tried it again and got worse performance. went through all the cli scrpits but changed mine to be symmetric of 9900000 but did everything else. Then from the UI turned on SQM. Throughput decreased. I will turn it off for now.
I do get this in the log when it starts:

Mon Jan 17 19:37:12 2022 user.notice SQM: Starting SQM script: nss.qos on eth0, in: 8800000 Kbps, out: 8800000 Kbps
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: function candidate name: sqm_start
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: TYPE_OUTPUT: sqm_start: not found
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: return value: 1
Mon Jan 17 19:37:12 2022 user.notice SQM: Using generic sqm_start_default function.
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: function candidate name: sqm_prepare_script
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: TYPE_OUTPUT: sqm_prepare_script is a function
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: return value: 0
Mon Jan 17 19:37:12 2022 user.notice SQM: sqm_start_default: starting sqm_prepare_script
Mon Jan 17 19:37:12 2022 daemon.err modprobe: failed to find a module named act_ipt
Mon Jan 17 19:37:12 2022 daemon.err modprobe: failed to find a module named sch_fq_codel
Mon Jan 17 19:37:12 2022 kern.err kernel: [108851.357979] debugfs: File 'virt_if' in directory 'stats' already present!
Mon Jan 17 19:37:12 2022 kern.info kernel: [108851.358299] Created a NSS virtual interface for dev [nssifb]
Mon Jan 17 19:37:12 2022 kern.info kernel: [108851.363909] NSS IFB data callback registered
Mon Jan 17 19:37:12 2022 kern.info kernel: [108851.369647] NSS IFB transmit callback registered
Mon Jan 17 19:37:12 2022 kern.info kernel: [108851.374328] NSS IFB module loaded.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -X QOS_MARK_eth0
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -X QOS_MARK_eth0
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -N QOS_MARK_eth0
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -N QOS_MARK_eth0
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D QOS_MARK_eth0 -j MARK --set-mark 0x2/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D QOS_MARK_eth0 -j MARK --set-mark 0x2/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -A QOS_MARK_eth0 -j MARK --set-mark 0x2/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -A QOS_MARK_eth0 -j MARK --set-mark 0x2/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D QOS_MARK_eth0 -m dscp --dscp-class CS1 -j MARK --set-mark 0x3/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D QOS_MARK_eth0 -m dscp --dscp-class CS1 -j MARK --set-mark 0x3/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -A QOS_MARK_eth0 -m dscp --dscp-class CS1 -j MARK --set-mark 0x3/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -A QOS_MARK_eth0 -m dscp --dscp-class CS1 -j MARK --set-mark 0x3/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D QOS_MARK_eth0 -m dscp --dscp-class CS6 -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D QOS_MARK_eth0 -m dscp --dscp-class CS6 -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -A QOS_MARK_eth0 -m dscp --dscp-class CS6 -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -A QOS_MARK_eth0 -m dscp --dscp-class CS6 -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D QOS_MARK_eth0 -m dscp --dscp-class EF -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D QOS_MARK_eth0 -m dscp --dscp-class EF -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -A QOS_MARK_eth0 -m dscp --dscp-class EF -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -A QOS_MARK_eth0 -m dscp --dscp-class EF -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D QOS_MARK_eth0 -m dscp --dscp-class AF42 -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D QOS_MARK_eth0 -m dscp --dscp-class AF42 -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -A QOS_MARK_eth0 -m dscp --dscp-class AF42 -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -A QOS_MARK_eth0 -m dscp --dscp-class AF42 -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D QOS_MARK_eth0 -m tos --tos Minimize-Delay -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D QOS_MARK_eth0 -m tos --tos Minimize-Delay -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -A QOS_MARK_eth0 -m tos --tos Minimize-Delay -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -A QOS_MARK_eth0 -m tos --tos Minimize-Delay -j MARK --set-mark 0x1/0xff
Mon Jan 17 19:37:12 2022 user.notice SQM: Squashing differentiated services code points (DSCP) from ingress.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D PREROUTING -i eth0 -m dscp ! --dscp 0 -j DSCP --set-dscp-class be
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D PREROUTING -i eth0 -m dscp ! --dscp 0 -j DSCP --set-dscp-class be
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -I PREROUTING -i eth0 -m dscp ! --dscp 0 -j DSCP --set-dscp-class be
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -I PREROUTING -i eth0 -m dscp ! --dscp 0 -j DSCP --set-dscp-class be
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D POSTROUTING -o eth0 -m mark --mark 0x00/0xff -g QOS_MARK_eth0
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D POSTROUTING -o eth0 -m mark --mark 0x00/0xff -g QOS_MARK_eth0
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -A POSTROUTING -o eth0 -m mark --mark 0x00/0xff -g QOS_MARK_eth0
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -A POSTROUTING -o eth0 -m mark --mark 0x00/0xff -g QOS_MARK_eth0
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: FAILURE (1): /usr/sbin/iptables -w 1 -t mangle -D OUTPUT -p udp -m multiport --ports 123,53 -j DSCP --set-dscp-class AF42
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: LAST ERROR: iptables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: FAILURE (1): /usr/sbin/ip6tables -w 1 -t mangle -D OUTPUT -p udp -m multiport --ports 123,53 -j DSCP --set-dscp-class AF42
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: LAST ERROR: ip6tables: No chain/target/match by that name.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: iptables: SUCCESS: /usr/sbin/iptables -w 1 -t mangle -A OUTPUT -p udp -m multiport --ports 123,53 -j DSCP --set-dscp-class AF42
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip6tables: SUCCESS: /usr/sbin/ip6tables -w 1 -t mangle -A OUTPUT -p udp -m multiport --ports 123,53 -j DSCP --set-dscp-class AF42
Mon Jan 17 19:37:12 2022 daemon.err modprobe: failed to find a module named act_ipt
Mon Jan 17 19:37:12 2022 daemon.err modprobe: failed to find a module named sch_fq_codel
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name SQM_IFB_66420 type ifb
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc replace dev SQM_IFB_66420 root fq_codel
Mon Jan 17 19:37:12 2022 user.notice SQM: QDISC fq_codel is useable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev SQM_IFB_66420 down
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete SQM_IFB_66420 type ifb
Mon Jan 17 19:37:12 2022 user.notice SQM: sqm_start_default: Starting nss.qos
Mon Jan 17 19:37:12 2022 user.notice SQM: ifb associated with interface eth0:
Mon Jan 17 19:37:12 2022 user.notice SQM: Currently no ifb is associated with eth0, this is normal during starting of the sqm system.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name ifb4eth0 type ifb
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: function candidate name: egress
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: TYPE_OUTPUT: egress is a function
Mon Jan 17 19:37:12 2022 user.notice SQM: fn_exists: return value: 0
Mon Jan 17 19:37:12 2022 user.notice SQM: egress
Mon Jan 17 19:37:12 2022 user.notice SQM: IFACE: eth0 MTU: 1500
Mon Jan 17 19:37:12 2022 user.notice SQM: get_burst: 1: 1500, 2: 8800000, 3: 1000
Mon Jan 17 19:37:12 2022 user.notice SQM: get_burst (by duration): BURST [Byte]: 1100000, BANDWIDTH [Kbps]: 8800000, DURATION [us]: 1000
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: tc: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: tc: FAILURE (2): /sbin/tc qdisc del dev eth0 root
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: tc: LAST ERROR: RTNETLINK answers: No such file or directory
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev eth0 root handle 1: nsstbl rate 8800000kbit burst 1100000
Mon Jan 17 19:37:12 2022 user.notice SQM: get_limit:  CURLIMIT: 1001
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev eth0 parent 1: handle 10: nssfq_codel limit 1001 flows 1024 quantum 1514 target 5ms interval 100ms set_default
Mon Jan 17 19:37:12 2022 user.notice SQM: ERROR: cmd_wrapper: tc: FAILURE (2): /sbin/tc filter add dev eth0 parent 1:0 protocol ip prio 0 u32 match ip protocol 1 0xff flowid 1:13
Mon Jan 17 19:37:12 2022 user.notice SQM: ERROR: cmd_wrapper: tc: LAST ERROR: RTNETLINK answers: Not supported We have an error talking to the kernel
Mon Jan 17 19:37:12 2022 user.notice SQM: ERROR: cmd_wrapper: tc: FAILURE (2): /sbin/tc filter add dev eth0 parent 1:0 protocol ipv6 prio 1 u32 match ip protocol 1 0xff flowid 1:13
Mon Jan 17 19:37:12 2022 user.notice SQM: ERROR: cmd_wrapper: tc: LAST ERROR: RTNETLINK answers: Not supported We have an error talking to the kernel
Mon Jan 17 19:37:12 2022 user.notice SQM: WARNING: sqm_start_default: nss.qos lacks an egress() function
Mon Jan 17 19:37:12 2022 user.notice SQM: sqm_start_default: egress shaping activated
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link add name SQM_IFB_ad405 type ifb
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc replace dev SQM_IFB_ad405 ingress
Mon Jan 17 19:37:12 2022 user.notice SQM: QDISC ingress is useable.
Mon Jan 17 19:37:12 2022 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev SQM_IFB_ad405 down
Mon Jan 17 19:37:13 2022 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link delete SQM_IFB_ad405 type ifb
Mon Jan 17 19:37:13 2022 user.notice SQM: fn_exists: function candidate name: ingress
Mon Jan 17 19:37:13 2022 user.notice SQM: fn_exists: TYPE_OUTPUT: ingress is a function
Mon Jan 17 19:37:13 2022 user.notice SQM: fn_exists: return value: 0
Mon Jan 17 19:37:13 2022 user.notice SQM: ingress
Mon Jan 17 19:37:13 2022 user.notice SQM: IFACE: eth0 MTU: 1500
Mon Jan 17 19:37:13 2022 user.notice SQM: get_burst: 1: 1500, 2: 8800000, 3: 1000
Mon Jan 17 19:37:13 2022 user.notice SQM: get_burst (by duration): BURST [Byte]: 1100000, BANDWIDTH [Kbps]: 8800000, DURATION [us]: 1000
Mon Jan 17 19:37:13 2022 user.notice SQM: cmd_wrapper: tc: invocation silenced by request, FAILURE either expected or acceptable.
Mon Jan 17 19:37:13 2022 user.notice SQM: cmd_wrapper: tc: FAILURE (2): /sbin/tc qdisc del dev nssifb root
Mon Jan 17 19:37:13 2022 user.notice SQM: cmd_wrapper: tc: LAST ERROR: RTNETLINK answers: No such file or directory
Mon Jan 17 19:37:13 2022 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev nssifb root handle 1: nsstbl rate 8800000kbit burst 1100000
Mon Jan 17 19:37:13 2022 user.notice SQM: get_limit:  CURLIMIT: 1001
Mon Jan 17 19:37:13 2022 user.notice SQM: cmd_wrapper: tc: SUCCESS: /sbin/tc qdisc add dev nssifb parent 1: handle 10: nssfq_codel limit 1001 flows 1024 quantum 1514 target 5ms interval 100ms set_default
Mon Jan 17 19:37:13 2022 kern.warn kernel: [108852.192777] nss_qdisc_init[1993]:NSS qdisc 1df30d9d (type 1) used along with non-nss qdiscs, or the interface is currently down
Mon Jan 17 19:37:13 2022 kern.info kernel: [108852.199418] 0ca53b27: Found net device [eth0]
Mon Jan 17 19:37:13 2022 kern.info kernel: [108852.210438] 0ca53b27: Net device [eth0] has NSS intf_num [1]
Mon Jan 17 19:37:13 2022 kern.info kernel: [108852.214364] Nexthop successfully set for [eth0] to [nssifb]
Mon Jan 17 19:37:13 2022 user.notice SQM: cmd_wrapper: ip: SUCCESS: /sbin/ip link set dev nssifb up
Mon Jan 17 19:37:13 2022 user.notice SQM: sqm_start_default: ingress shaping activated
Mon Jan 17 19:37:13 2022 user.notice SQM: nss.qos was started on eth0 successfully

You might have an extra zero on the rate.

Try 800000 kb then go up from there to find the ideal speed / latency for your connection. 900000 kb should be about the max speed for nss_fqcodel.

I'm confused.
typed in all the stuff on the cli as outlined, but did change the values from the example 1G/10M to be more in line with the 1G/1G I have. (I may have typed an extra 0 in my typed response here in the forum).
Interestingly, the 900000 did not appear when it started, but the values in the Luci UI did:
Tue Jan 18 08:19:25 2022 user.notice SQM: Starting SQM script: nss.qos on eth0, in: 8800000 Kbps, out: 8800000 Kbps


This was after I typed in:

set sqm.eth0.upload=990000
set sqm.eth0.download=990000

So is this CLI stuff being put somewhere where it is accessed by the UI or is it going somewhere else?
When I look at the state file, it looks like this:

root@spg3:/tmp/run/sqm# cat eth0.state
ALL_MODULES="act_ipt sch_fq_codel sch_ingress act_mirred cls_fw cls_flow cls_u32 sch_htb sch_hfsc nss-ifb"
AUTOFLOW="0"
CUR_DIRECTION="ingress"
DOWNLINK="8800000"
EECN="ECN"
EGRESS_CAKE_OPTS="diffserv3"
ELIMIT=""
EQDISC_OPTS=""
ESHAPER_BURST_DUR_US="1000"
ESHAPER_QUANTUM_DUR_US="1000"
ETARGET=""
IECN="ECN"
IFACE="eth0"
IGNORE_DSCP_INGRESS="1"
ILIMIT=""
INGRESS_CAKE_OPTS="diffserv3"
INSMOD="/sbin/modprobe"
IP="ip_wrapper"
IP6TABLES="ip6tables_wrapper"
IP6TABLES_BINARY="/usr/sbin/ip6tables"
IPTABLES="iptables_wrapper"
IPTABLES_ARGS="-w 1"
IPTABLES_BINARY="/usr/sbin/iptables"
IPT_MASK="0xff"
IPT_TRANS_LOG="/var/run/sqm/eth0.iptables.log"
IP_BINARY="/sbin/ip"
IQDISC_OPTS=""
ISHAPER_BURST_DUR_US="1000"
ISHAPER_QUANTUM_DUR_US="1000"
ITARGET=""
LIMIT="1001"
LINKLAYER="none"
LLAM="default"
OUTPUT_TARGET="/dev/null"
OVERHEAD="0"
QDISC="fq_codel"
SCRIPT="nss.qos"
SHAPER_BURST_DUR_US="1000"
SHAPER_QUANTUM_DUR_US="1000"
SILENT="0"
SQM_DEBUG="0"
SQM_DEBUG_LOG=""
SQM_DEBUG_STEM=""
SQM_START_LOG=""
SQM_STOP_LOG=""
SQM_VERBOSITY_MAX="8"
SQM_VERBOSITY_MIN="0"
STAB_MPU="0"
STAB_MTU="2047"
STAB_TSIZE="512"
TARGET="5ms"
TC="tc_wrapper"
TC_BINARY="/sbin/tc"
UPLINK="8800000"
VERBOSITY_DEBUG="8"
VERBOSITY_ERROR="1"
VERBOSITY_INFO="5"
VERBOSITY_SILENT="0"
VERBOSITY_TRACE="10"
VERBOSITY_WARNING="2"
ZERO_DSCP_INGRESS="1"

which looks like it is getting its parameters from the UI and not the Cli commands I typed. Am I even looking at the right things? Everything I have tried makes it a lot worse and never better. Please go easy on me as I am just a recipe follower and trying to investigate this capability.

so sorry for the late reply!
here it is! (router is up since 5 days)

root@RUTTO:~# dmesg | grep ath
[   20.164273] ath10k_pci 0000:01:00.0: assign IRQ: got 37
[   20.164926] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142)
[   20.165009] ath10k_pci 0000:01:00.0: enabling bus mastering
[   20.165572] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[   52.869158] ath10k_pci 0000:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[   52.869193] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   52.879879] ath10k_pci 0000:01:00.0: firmware ver 10.4-3.9.0.2-00131 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate crc32 23bd9e43
[   55.152909] ath10k_pci 0000:01:00.0: board_file api 2 bmi_id 0:1 crc32 85498734
[   58.906393] ath10k_pci 0000:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 512 raw 0 hwcrypto 1
[   58.998511] ath: EEPROM regdomain sanitized
[   58.998527] ath: EEPROM regdomain: 0x64
[   58.998538] ath: EEPROM indicates we should expect a direct regpair map
[   58.998561] ath: Country alpha2 being used: 00
[   58.998571] ath: Regpair used: 0x64
[   59.003217] ath10k_pci 0001:01:00.0: assign IRQ: got 39
[   59.004044] ath10k_pci 0001:01:00.0: enabling device (0140 -> 0142)
[   59.004134] ath10k_pci 0001:01:00.0: enabling bus mastering
[   59.004751] ath10k_pci 0001:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[   59.465262] ath10k_pci 0001:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[   59.465293] ath10k_pci 0001:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   59.476108] ath10k_pci 0001:01:00.0: firmware ver 10.4-3.9.0.2-00131 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate crc32 23bd9e43
[   61.747998] ath10k_pci 0001:01:00.0: board_file api 2 bmi_id 0:2 crc32 85498734
[   65.522333] ath10k_pci 0001:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 512 raw 0 hwcrypto 1
[   65.619469] ath: EEPROM regdomain sanitized
[   65.619486] ath: EEPROM regdomain: 0x64
[   65.619496] ath: EEPROM indicates we should expect a direct regpair map
[   65.619518] ath: Country alpha2 being used: 00
[   65.619527] ath: Regpair used: 0x64
[   74.046708] ath: EEPROM regdomain: 0x817c
[   74.046726] ath: EEPROM indicates we should expect a country code
[   74.049775] ath: doing EEPROM country->regdmn map search
[   74.055766] ath: country maps to regdmn code: 0x37
[   74.061250] ath: Country alpha2 being used: IT
[   74.065747] ath: Regpair used: 0x37
[   74.070320] ath: regdomain 0x817c dynamically updated by user
[   74.073582] ath: EEPROM regdomain: 0x817c
[   74.079539] ath: EEPROM indicates we should expect a country code
[   74.083458] ath: doing EEPROM country->regdmn map search
[   74.089602] ath: country maps to regdmn code: 0x37
[   74.094910] ath: Country alpha2 being used: IT
[   74.099562] ath: Regpair used: 0x37
[   74.103936] ath: regdomain 0x817c dynamically updated by user
[   82.416263] ath10k_pci 0000:01:00.0: Unknown eventid: 36933
[   88.669255] ath10k_pci 0001:01:00.0: Unknown eventid: 36933
[14179.728007] ath10k_pci 0000:01:00.0: No VIF found for vdev 1
[14179.728032] ath10k_pci 0000:01:00.0: received addba event for invalid vdev_id: 1
[14179.732794] ath10k_pci 0000:01:00.0: No VIF found for vdev 1
[14179.740194] ath10k_pci 0000:01:00.0: received addba event for invalid vdev_id: 1
[14179.753650] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 2
[14179.758275] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 2
[14179.949136] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 3
[14179.952701] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 3
[14180.221751] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 1
[14180.225140] ath10k_pci 0000:01:00.0: peer-unmap-event: unknown peer id 1
[14186.497398] ath10k_pci 0000:01:00.0: Unknown eventid: 36933
[28272.895635] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[28272.895694] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[28272.902913] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[28272.911033] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[28785.967485] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[28785.967533] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[28785.974770] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[28785.982893] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[29020.002135] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[29020.002181] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[29020.009393] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[29020.017462] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[133455.730650] ath10k_pci 0001:01:00.0: Invalid peer id 43 peer stats buffer
[238135.191967] ath10k_pci 0001:01:00.0: failed to lookup txq for peer_id 66 tid 0
[238135.192044] ath10k_pci 0001:01:00.0: failed to lookup txq for peer_id 66 tid 0
[238135.198184] ath10k_pci 0001:01:00.0: failed to lookup txq for peer_id 66 tid 0
[238135.205467] ath10k_pci 0001:01:00.0: failed to lookup txq for peer_id 66 tid 0
[238135.212763] ath10k_pci 0001:01:00.0: failed to lookup txq for peer_id 66 tid 0
[238135.220049] ath10k_pci 0001:01:00.0: failed to lookup txq for peer_id 66 tid 0
[307815.611398] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[307815.611445] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[307815.618581] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[307815.626932] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.064464] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.064512] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.071748] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.079974] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.088208] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.096371] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.104702] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.112950] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.121196] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[392275.129444] ath10k_pci 0001:01:00.0: received unexpected tx_fetch_ind event: in push mode
[395557.106338] ath10k_warn: 6 callbacks suppressed
[395557.106355] ath10k_pci 0001:01:00.0: Invalid peer id 88 peer stats buffer
[395559.964593] ath10k_pci 0001:01:00.0: Invalid peer id 81 peer stats buffer

You probably want to read about UCI (it's one of the more awesome things which originated in OpenWrt).

tl;dr: You always need to uci commit changes in order for them to take effect. From the usage doc of commit:

Writes changes of the given configuration file, or if none is given, all configuration files, to the filesystem. All “uci set”, “uci add”, “uci rename” and “uci delete” commands are staged into a temporary location and written to flash at once with “uci commit”. This is not needed after editing configuration files with a text editor, but for scripts, GUIs and other programs working directly with UCI files.

1 Like

100% uptime on latest 5.10 Master for both of the R7800's I support. Love it! @ACwifidude :smile:

2 Likes

Hello,
just buildt my 5.10 master.
Good news: the 5GHz network is back :slight_smile: (haven't checked the performance yet)
Bad news, i have no NSS at all. Since i have a quite complex config, i started from my old config file, i thought i could be lucky :slight_smile:
that was not the case.
So i'm comparing my file with @ACwifidude config file, but i can't find any nss special package to add, so i can't understand why it's not offloading.
More than that, i wonder if CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y is still supported with 5.10, since i see i have this in my config, but not in the new one

Btw, the only error i can see in logs is this:

Mon Jan 10 05:22:09 2022 daemon.notice procd: /etc/rc.d/S19qca-nss-ecm: Failed to find shortcut-fe. Maybe it is a built in module ?
Mon Jan 10 05:22:09 2022 daemon.notice procd: /etc/rc.d/S19qca-nss-ecm: Failed to find shortcut-fe-ipv6. Maybe it is a built in module ?
Mon Jan 10 05:22:09 2022 daemon.notice procd: /etc/rc.d/S19qca-nss-ecm: Failed to find shortcut-fe-drv. Maybe it is a built in module ?

but any speedtest (wired!) is in the range of 400Mbps, where i constantly got 915..
what can it be? I see no shortcut-FE package to include..
Thanks

You’ll have to include all my commits to have the right set of patches and packages built in.

If you built off master you’ll have to rebuild with all the additional commits.

Master and its new firewall looks like fun. I’ll try to rebase and rebuild this weekend. If you follow the instructions in post 2 above you should be able to get a hardware offloading build.

wait wait, i built my image starting from your repository for master 5.10 (this: https://github.com/ACwifidude/openwrt/tree/kernel5.10-nss-qsdk11.0 ) as i've always done with the "old" master and with 21.02, is there anything more to add?
i fear i'll have to start from a clean config, this is getting me nightmares :frowning:

As long as you have this in your final .config you should have all the main nss offloading features, I use a diffconfig file to ensure I get the needed packages (diffconfig file is included in the repo for both -ct drivers and ath10k drivers):

CONFIG_PACKAGE_kmod-qca-nss-drv=y
CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y
CONFIG_PACKAGE_kmod-qca-nss-ecm-standard=y
CONFIG_PACKAGE_kmod-qca-nss-gmac=y
CONFIG_PACKAGE_kmod-nss-ifb=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y
CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y

qsdk 10.0 vs qsdk 11.0, what is the difference? I'm lost...sorry.

bad news, i have all of these and i have no offloading.
So isn't this something i should care about?

Mon Jan 10 05:22:09 2022 daemon.notice procd: /etc/rc.d/S19qca-nss-ecm: Failed to find shortcut-fe. Maybe it is a built in module ?
Mon Jan 10 05:22:09 2022 daemon.notice procd: /etc/rc.d/S19qca-nss-ecm: Failed to find shortcut-fe-ipv6. Maybe it is a built in module ?
Mon Jan 10 05:22:09 2022 daemon.notice procd: /etc/rc.d/S19qca-nss-ecm: Failed to find shortcut-fe-drv. Maybe it is a built in module ?

i fear i'll have to start from a clean config :frowning:

1 Like

I have long hoped for a liberated devkit to port cake to nss.

5 Likes

Updated 21.02 build. Included wifi fix that might help some issues.

@pattagghiu The patches should cover that issue. Let me rebuild master this weekend and see if there are any bugs.

1 Like

ok so i wait until next week to rebuild :slight_smile:
i'm using my 7800 without NSS, i'm so sad
is there something i can debug to see what is not working / hasn't started? the logs say nss cores started up.. can't understand..

If it is helpful in the meanntime you can run my current 21.02 build or master build. You can add / subtract packages to your liking and be back up to full speed.

Hi after some advice I have been using the Hnyman r7800 build for some time which has been excellent

I am currently on Plusnet 70/16

I am upgrading to BT full fibre 900/150 on February 9th

Can I simply upgrade to this build? Do I need to go back to stock first? Will I have any issues etc?

Thank you in advance!

My current setup: