Nice. I consolidated several commits in late May and made an error along the way.
I compared my backup repo to your current repo and lined them up to be the same. The current build is back up to full speed (similar to your findings) on my testing.
Nice. I consolidated several commits in late May and made an error along the way.
I compared my backup repo to your current repo and lined them up to be the same. The current build is back up to full speed (similar to your findings) on my testing.
Great!
is your repository updated? can i pull and build?
I wanted to see how far i would have gone with your build (i'm @ 12 days now), but i'd update to get back wifi performance..
Everything is updated. Performance looks good.
I need help.
I'm building qca-nss-ssdk and got a err.
/Kompilacja/openwrt-qsdk11/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-10.2.0_musl_eabi/bin/arm-openwrt-linux-muslgnueabi-gcc -I/Kompilacja/openwrt-qsdk11/staging_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/usr/include -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/common -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/api -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/fal -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/ref -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/adpt -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/phy -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/sal/os -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/sal/os/linux -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/sal/sd -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/sal/sd/linux/hydra_howl -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/sal/sd/linux/uk_interface -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/init -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/shiva -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/isis -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/isisc -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/dess -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/hppe -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/adpt/hppe -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/hppe -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/adpt/mp -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/mp -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/cppe -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/adpt/cppe -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/scomphy -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/hsl/sfp -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/adpt/sfp -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/include/shell_lib -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128 -I/Kompilacja/openwrt-qsdk11/staging_dir/toolchain-arm_cortex-a15+neon-vfpv4_gcc-10.2.0_musl_eabi/bin/../lib/gcc/arm-openwrt-linux-muslgnueabi/10.2.0/include/ -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/include -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/source -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/source/include -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/source/arch/arm/mach-msm/include -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/arch/arm/mach-msm/include -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/source/arch/arm/include -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/arch/arm/include -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/source/arch/arm/include/asm -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/arch/arm/include/generated -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/arch/arm/include/generated/uapi -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/source/include/uapi -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/include/generated/uapi -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/include/uapi -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/arch/arm/include/uapi -I/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/source/arch/arm/include/asm/mach -include /Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/linux-5.4.128/include/linux/kconfig.h -DIN_SWCONFIG -DIN_ACL -DIN_FDB -DIN_IGMP -DIN_LEAKY -DIN_LED -DIN_MIB -DIN_MIRROR -DIN_MISC -DIN_PORTCONTROL -DIN_PORTVLAN -DIN_QOS -DIN_RATE -DIN_STP -DIN_VLAN -DIN_COSMAP -DIN_IP -DIN_NAT -DIN_FLOW -DIN_TRUNK -DIN_SEC -DIN_QM -DIN_NAT_HELPER -DIN_INTERFACECONTROL -DIN_CTRLPKT -DIN_SERVCODE -DIN_RSS_HASH -DIN_RFS -DIN_MALIBU_PHY -DIN_AQUANTIA_PHY -DIN_QCA803X_PHY -DIN_QCA808X_PHY -DIN_SFP_PHY -DIN_PHY_I2C_MODE -DIN_VSI -DIN_PPPOE -DIN_BM -DIN_SHAPER -DIN_POLICER -DIN_UNIPHY -DUK_IF -DUK_NL_PROT= -DUK_MINOR_DEV=254 -Wall -DVERSION=\"2.0.0.2\" -DBUILD_DATE=\"2021-07-01-20:50:24\" -DOS=\"linux\" -D"KBUILD_STR(s)=#s" -D"KBUILD_MODNAME=KBUILD_STR(qca-ssdk)" -DSHIVA -DISIS -DISISC -DDESS -DHPPE -DMP -DCPPE -DSCOMPHY -DIN_SFP -DKVER34 -DKVER32 -DLNX26_22 -D__KERNEL__ -DKERNEL_MODULE -DMODULE -nostdinc -DBOARD_IPQ806X -mlittle-endian -Wundef -Wstrict-prototypes -Wno-trigraphs -Werror -fno-strict-aliasing -fno-common -Wno-format-security -fno-delete-null-pointer-checks -O2 -fno-dwarf2-cfi-asm -mabi=aapcs-linux -mno-thumb-interwork -mfpu=vfp -funwind-tables -marm -D__LINUX_ARM_ARCH__=7 -march=armv7-a -msoft-float -Uarm -Wframe-larger-than=2048 -fno-stack-protector -Wno-unused-but-set-variable -fomit-frame-pointer -g -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -fconserve-stack -Werror=implicit-int -DCC_HAVE_ASM_GOTO -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(mem)" -c malibu_phy.c -o /Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/build/linux/KSLIB/malibu_phy.o
malibu_phy.c: In function 'malibu_phy_set_powersave':
malibu_phy.c:384:6: error: 'status' may be used uninitialized in this function [-Werror=maybe-uninitialized]
384 | if (status == A_FALSE) {
| ^
cc1: all warnings being treated as errors
make[5]: *** [/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/make/target.mk:13: malibu_phy.o] Error 1
make[5]: Leaving directory '/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/src/hsl/phy'
make[4]: *** [/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/make/target.mk:7: obj] Error 1
make[4]: Leaving directory '/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/src/hsl'
make[3]: *** [Makefile:27: kslib_o] Error 1
make[3]: Leaving directory '/Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353'
make[2]: *** [Makefile:149: /Kompilacja/openwrt-qsdk11/build_dir/target-arm_cortex-a15+neon-vfpv4_musl_eabi/linux-ipq806x_generic/qca-ssdk-hnat/qca-ssdk-06e40353/.built] Error 2
make[2]: Leaving directory '/Kompilacja/openwrt-qsdk11/package/qca/qca-ssdk'
time: package/qca/qca-ssdk/hnat/compile#90.80#14.40#108.58
ERROR: package/qca/qca-ssdk failed to build (build variant: hnat).
make[1]: *** [package/Makefile:114: package/qca/qca-ssdk/compile] Error 1
make[1]: Leaving directory '/Kompilacja/openwrt-qsdk11'
make: *** [/Kompilacja/openwrt-qsdk11/include/toplevel.mk:230: package/qca-ssdk/compile] Error 2
How to fix it?
source file here
https://source.codeaurora.org/quic/cc-qrdk/oss/lklm/qca-ssdk/tree/src/hsl/phy/malibu_phy.c?h=NHSS.QSDK.11.2#n371
(anyway i started to push 11.4 patches) (patches are in the robimark nss-qca package feeds... still need to push kernel patches) (also i have a experimental patch that could finally introduce fixed nss freq scaling :D)
I'm at the start of the full support
Currently
In short 11.4 with 11.0 firmware is there and works with some hiccups. I just need to fix things here and there
And then start to work on the clients stuff mainly pppoe and other stuff...
Thanks for the info.
Privately, I imported about 30 network patches from CodeAurora (all related to qca-nss-ecm).
This ensures that the packages require a minimum of patching.
Below is a screen of what I have done on qsdk11.
I only have a problem with qca-nss-ssdk - for you it's probably a simple matter. I don't know how to fix this function's bug which causes compiler problem.
Guys random question... @ACwifidude Do you know if the ipv4 nss stats goes up if wifi is not offloaded?
Anyway still investigating what block ecm from registering with netfilter...
For now i'm testing qsdk11.4 with 11.0 firmware
offload + wifi offload and (still don't know if it's actually working) nss freq scaling
Now i'm on testing stability and fixing small things... (while i test for stability)
Still have to fix the bug with gmac drv not working without nss firmware (kernel crash with complain about dma)
Also @ACwifidude Since you know better than me what version of the wifi offload patch you are using?
the work or the original one from qsdk?
Also i need someone with the original firmware flashed and that can execute command from ssh serial or telnet... i need some stats from the original firmware.
It seems to me that WIFI stats normally charge RX / TX transfer.
About 2 months ago, after quite big changes, the WIFI acceleration stopped working on master branch.
Since then, I have been building on openwrt-21.02, because I don't know what caused the problem in the master branch. I even did a test and on the master branch the WIFI acceleration works fine as I replace the directory "target/linux/ipq806x" from the openwrt-21.02 branch.
Has it already been fixed - I don't know, I haven't checked.
I hope I helped.
I had a couple builds that were not wifi offloaded and I have separate APs from a wired only r7800 (main router has wifi turned off). The NSS tx/rx stats went up all the same no matter if wifi was on/off and with wifi no offloading/yes offloading.
I always have two routers running only wifi and one with wifi turned off. If you want any additional tests done let me know and I can produce some stats.
Only one patch has a date 3 Jan 2019 (pretty sure it is basically the same as your repo)
s1a 1 1 0 unknown 1100mV 0mA 1050mV 1150mV
soc:l2-cache-l2 1 0mA 1100mV 1100mV
s1b 1 1 0 unknown 1150mV 0mA 1050mV 1150mV
soc:nss-cc-nss 1 0mA 1150mV 1150mV
s2a 1 1 0 unknown 862mV 0mA 775mV 1275mV
cpu0-cpu 1 0mA 855mV 945mV
s2b 1 1 0 unknown 862mV 0mA 775mV 1275mV
cpu1-cpu 1 0mA 855mV 945mV
so clear 1?!?!
@ACwifidude i need to check if the wifi api were used on any original firmware in ipq806x....
Can you install the original firmware on a router and check that? (the stats of nss-drv)
I posted this for quarky today (AP running master). Let me know if you need anything else:
OpenWrt SNAPSHOT, r17092+16-e4cfefa9fc
-----------------------------------------------------
root@OpenWrt:~# cat /sys/kernel/debug/qca-nss-drv/stats/virt_if
if_num 29 stats start:
rx_packets = 1073227
rx_bytes = 85547444
rx_dropped = 0
tx_packets = 1182411
tx_bytes = 154344950
tx_enqueue_failed = 0
shaper_enqueue_failed = 0
ocm_alloc_failed = 0
if_num 29 stats end:
if_num 31 stats start:
rx_packets = 5244618
rx_bytes = 2258864104
rx_dropped = 15919
tx_packets = 1291009
tx_bytes = 351511316
tx_enqueue_failed = 0
shaper_enqueue_failed = 0
ocm_alloc_failed = 0
if_num 31 stats end:
base node stats begin (shown on if_num 31):
active_interfaces = 4
ocm_alloc_failed = 0
ddr_alloc_failed = 0
base node stats end.
That is the actual confusion, i need to check i f we have stats in a original oem firmware for the wifi stats in the sense of "cat /sys/kernel/debug/qca-nss-drv/stats/wifi"
I suspect they actually accellerate part of the wifi handling and we never notice that
If we confirm this idea the crazy part will be check if i can manage to create an entire driver to make use of the api
I've read thru some of the nss-drv WiFi codes. It appears that the ipq806x NSS firmware is handling a lot of MAC functionalitites. If my memory serves, the firmware is doing what hostapd is doing for OpenWRT. If true, it will be a big tasks to write drivers to replace those functionalities.
Have you come across some driver codes somewhere that will make the task easier?
they have an entire custom wifi driver and i notice some call to the wifi api that are not actually the wifili (used by new ipq807x)
So i got curious if the wifi api are actually for ipq806x that offload only some part of the wifi driver
we have source code of the wifi driver that use these api in the leaked ipq807x qsdk10 sdk
From what I know, the wifili driver is meant for the 60GHz band radio, so probably not useful for us.
Maybe someone with existing stock firmware can check, as you suggested, if nss-drv stats has values for the WiFi counters. Maybe at the same time check if hostapd is used for stock firmware.
I would think trying to replicate what QCA did to accelerate WiFi for ipq806x would be a huge tasks tho. as the mac80211 stack is quite complicated.
wifili is also used for wifi in ipq807x... it what they use with the new soc...
all the wifi api are for legacy stuff and not used at all on new soc so my idea is that they use that api for the ipq806x... they don't offload all the stuff but could be they offload all the wmi and mgmt stuff to nss
but for now crazy idea is to add support for the upstream gmac driver for the offload stuff LOL...
Interesting
OpenWrt SNAPSHOT, r17092+16-e4cfefa9fc
-----------------------------------------------------
root@OpenWrt:~# uptime
07:23:38 up 2 days, 19:57, load average: 0.08, 0.03, 0.01
OpenWrt SNAPSHOT, r17092+16-e4cfefa9fc
-----------------------------------------------------
root@OpenWrt:~# cat /sys/kernel/debug/qca-nss-drv/stats/wifi
wifi stats start:
WIFI ID: 0
RX_PACKETS = 0
RX_QUEUE_0_DROPPED = 0
RX_QUEUE_1_DROPPED = 0
RX_QUEUE_2_DROPPED = 0
RX_QUEUE_3_DROPPED = 0
TX_PACKETS = 0
TX_DROPPED = 0
TX_TRANSMIT_COMPLETED = 0
TX_MGMT_RECEIVED = 0
TX_MGMT_TRANSMITTED = 0
TX_MGMT_DROPPED = 0
TX_MGMT_COMPLETED = 0
TX_INV_PEER_ENQ_CNT = 0
RX_INV_PEER_RCV_CNT = 0
RX_PN_CHECK_FAILED = 0
RX_PKTS_DELIVERD = 0
RX_BYTES_DELIVERED = 0
TX_BYTES_COMPLETED = 0
RX_DELIVER_UNALIGNED_DROP_CNT = 0
TIDQ_ENQUEUE_CNT_0 = 0
TIDQ_ENQUEUE_CNT_1 = 0
TIDQ_ENQUEUE_CNT_2 = 0
TIDQ_ENQUEUE_CNT_3 = 0
TIDQ_ENQUEUE_CNT_4 = 0
TIDQ_ENQUEUE_CNT_5 = 0
TIDQ_ENQUEUE_CNT_6 = 0
TIDQ_ENQUEUE_CNT_7 = 0
TIDQ_DEQUEUE_CNT_0 = 0
TIDQ_DEQUEUE_CNT_1 = 0
TIDQ_DEQUEUE_CNT_2 = 0
TIDQ_DEQUEUE_CNT_3 = 0
TIDQ_DEQUEUE_CNT_4 = 0
TIDQ_DEQUEUE_CNT_5 = 0
TIDQ_DEQUEUE_CNT_6 = 0
TIDQ_DEQUEUE_CNT_7 = 0
TIDQ_ENQUEUE_FAIL_CNT_0 = 0
TIDQ_ENQUEUE_FAIL_CNT_1 = 0
TIDQ_ENQUEUE_FAIL_CNT_2 = 0
TIDQ_ENQUEUE_FAIL_CNT_3 = 0
TIDQ_ENQUEUE_FAIL_CNT_4 = 0
TIDQ_ENQUEUE_FAIL_CNT_5 = 0
TIDQ_ENQUEUE_FAIL_CNT_6 = 0
TIDQ_ENQUEUE_FAIL_CNT_7 = 0
TIDQ_TTL_EXPIRE_CNT_0 = 0
TIDQ_TTL_EXPIRE_CNT_1 = 0
TIDQ_TTL_EXPIRE_CNT_2 = 0
TIDQ_TTL_EXPIRE_CNT_3 = 0
TIDQ_TTL_EXPIRE_CNT_4 = 0
TIDQ_TTL_EXPIRE_CNT_5 = 0
TIDQ_TTL_EXPIRE_CNT_6 = 0
TIDQ_TTL_EXPIRE_CNT_7 = 0
TIDQ_DEQUEUE_REQ_CNT_0 = 0
TIDQ_DEQUEUE_REQ_CNT_1 = 0
TIDQ_DEQUEUE_REQ_CNT_2 = 0
TIDQ_DEQUEUE_REQ_CNT_3 = 0
TIDQ_DEQUEUE_REQ_CNT_4 = 0
TIDQ_DEQUEUE_REQ_CNT_5 = 0
TIDQ_DEQUEUE_REQ_CNT_6 = 0
TIDQ_DEQUEUE_REQ_CNT_7 = 0
TOTAL_TIDQ_DEPTH = 0
RX_HTT_FETCH_CNT = 0
TOTAL_TIDQ_BYPASS_CNT = 0
GLOBAL_Q_FULL_CNT = 0
TIDQ_FULL_CNT = 0
WIFI ID: 1
RX_PACKETS = 0
RX_QUEUE_0_DROPPED = 0
RX_QUEUE_1_DROPPED = 0
RX_QUEUE_2_DROPPED = 0
RX_QUEUE_3_DROPPED = 0
TX_PACKETS = 0
TX_DROPPED = 0
TX_TRANSMIT_COMPLETED = 0
TX_MGMT_RECEIVED = 0
TX_MGMT_TRANSMITTED = 0
TX_MGMT_DROPPED = 0
TX_MGMT_COMPLETED = 0
TX_INV_PEER_ENQ_CNT = 0
RX_INV_PEER_RCV_CNT = 0
RX_PN_CHECK_FAILED = 0
RX_PKTS_DELIVERD = 0
RX_BYTES_DELIVERED = 0
TX_BYTES_COMPLETED = 0
RX_DELIVER_UNALIGNED_DROP_CNT = 0
TIDQ_ENQUEUE_CNT_0 = 0
TIDQ_ENQUEUE_CNT_1 = 0
TIDQ_ENQUEUE_CNT_2 = 0
TIDQ_ENQUEUE_CNT_3 = 0
TIDQ_ENQUEUE_CNT_4 = 0
TIDQ_ENQUEUE_CNT_5 = 0
TIDQ_ENQUEUE_CNT_6 = 0
TIDQ_ENQUEUE_CNT_7 = 0
TIDQ_DEQUEUE_CNT_0 = 0
TIDQ_DEQUEUE_CNT_1 = 0
TIDQ_DEQUEUE_CNT_2 = 0
TIDQ_DEQUEUE_CNT_3 = 0
TIDQ_DEQUEUE_CNT_4 = 0
TIDQ_DEQUEUE_CNT_5 = 0
TIDQ_DEQUEUE_CNT_6 = 0
TIDQ_DEQUEUE_CNT_7 = 0
TIDQ_ENQUEUE_FAIL_CNT_0 = 0
TIDQ_ENQUEUE_FAIL_CNT_1 = 0
TIDQ_ENQUEUE_FAIL_CNT_2 = 0
TIDQ_ENQUEUE_FAIL_CNT_3 = 0
TIDQ_ENQUEUE_FAIL_CNT_4 = 0
TIDQ_ENQUEUE_FAIL_CNT_5 = 0
TIDQ_ENQUEUE_FAIL_CNT_6 = 0
TIDQ_ENQUEUE_FAIL_CNT_7 = 0
TIDQ_TTL_EXPIRE_CNT_0 = 0
TIDQ_TTL_EXPIRE_CNT_1 = 0
TIDQ_TTL_EXPIRE_CNT_2 = 0
TIDQ_TTL_EXPIRE_CNT_3 = 0
TIDQ_TTL_EXPIRE_CNT_4 = 0
TIDQ_TTL_EXPIRE_CNT_5 = 0
TIDQ_TTL_EXPIRE_CNT_6 = 0
TIDQ_TTL_EXPIRE_CNT_7 = 0
TIDQ_DEQUEUE_REQ_CNT_0 = 0
TIDQ_DEQUEUE_REQ_CNT_1 = 0
TIDQ_DEQUEUE_REQ_CNT_2 = 0
TIDQ_DEQUEUE_REQ_CNT_3 = 0
TIDQ_DEQUEUE_REQ_CNT_4 = 0
TIDQ_DEQUEUE_REQ_CNT_5 = 0
TIDQ_DEQUEUE_REQ_CNT_6 = 0
TIDQ_DEQUEUE_REQ_CNT_7 = 0
TOTAL_TIDQ_DEPTH = 0
RX_HTT_FETCH_CNT = 0
TOTAL_TIDQ_BYPASS_CNT = 0
GLOBAL_Q_FULL_CNT = 0
TIDQ_FULL_CNT = 0
WIFI ID: 2
RX_PACKETS = 0
RX_QUEUE_0_DROPPED = 0
RX_QUEUE_1_DROPPED = 0
RX_QUEUE_2_DROPPED = 0
RX_QUEUE_3_DROPPED = 0
TX_PACKETS = 0
TX_DROPPED = 0
TX_TRANSMIT_COMPLETED = 0
TX_MGMT_RECEIVED = 0
TX_MGMT_TRANSMITTED = 0
TX_MGMT_DROPPED = 0
TX_MGMT_COMPLETED = 0
TX_INV_PEER_ENQ_CNT = 0
RX_INV_PEER_RCV_CNT = 0
RX_PN_CHECK_FAILED = 0
RX_PKTS_DELIVERD = 0
RX_BYTES_DELIVERED = 0
TX_BYTES_COMPLETED = 0
RX_DELIVER_UNALIGNED_DROP_CNT = 0
TIDQ_ENQUEUE_CNT_0 = 0
TIDQ_ENQUEUE_CNT_1 = 0
TIDQ_ENQUEUE_CNT_2 = 0
TIDQ_ENQUEUE_CNT_3 = 0
TIDQ_ENQUEUE_CNT_4 = 0
TIDQ_ENQUEUE_CNT_5 = 0
TIDQ_ENQUEUE_CNT_6 = 0
TIDQ_ENQUEUE_CNT_7 = 0
TIDQ_DEQUEUE_CNT_0 = 0
TIDQ_DEQUEUE_CNT_1 = 0
TIDQ_DEQUEUE_CNT_2 = 0
TIDQ_DEQUEUE_CNT_3 = 0
TIDQ_DEQUEUE_CNT_4 = 0
TIDQ_DEQUEUE_CNT_5 = 0
TIDQ_DEQUEUE_CNT_6 = 0
TIDQ_DEQUEUE_CNT_7 = 0
TIDQ_ENQUEUE_FAIL_CNT_0 = 0
TIDQ_ENQUEUE_FAIL_CNT_1 = 0
TIDQ_ENQUEUE_FAIL_CNT_2 = 0
TIDQ_ENQUEUE_FAIL_CNT_3 = 0
TIDQ_ENQUEUE_FAIL_CNT_4 = 0
TIDQ_ENQUEUE_FAIL_CNT_5 = 0
TIDQ_ENQUEUE_FAIL_CNT_6 = 0
TIDQ_ENQUEUE_FAIL_CNT_7 = 0
TIDQ_TTL_EXPIRE_CNT_0 = 0
TIDQ_TTL_EXPIRE_CNT_1 = 0
TIDQ_TTL_EXPIRE_CNT_2 = 0
TIDQ_TTL_EXPIRE_CNT_3 = 0
TIDQ_TTL_EXPIRE_CNT_4 = 0
TIDQ_TTL_EXPIRE_CNT_5 = 0
TIDQ_TTL_EXPIRE_CNT_6 = 0
TIDQ_TTL_EXPIRE_CNT_7 = 0
TIDQ_DEQUEUE_REQ_CNT_0 = 0
TIDQ_DEQUEUE_REQ_CNT_1 = 0
TIDQ_DEQUEUE_REQ_CNT_2 = 0
TIDQ_DEQUEUE_REQ_CNT_3 = 0
TIDQ_DEQUEUE_REQ_CNT_4 = 0
TIDQ_DEQUEUE_REQ_CNT_5 = 0
TIDQ_DEQUEUE_REQ_CNT_6 = 0
TIDQ_DEQUEUE_REQ_CNT_7 = 0
TOTAL_TIDQ_DEPTH = 0
RX_HTT_FETCH_CNT = 0
TOTAL_TIDQ_BYPASS_CNT = 0
GLOBAL_Q_FULL_CNT = 0
TIDQ_FULL_CNT = 0
wifi stats end
This is from what firmware? and using wifi i assume
NSS won't do much for "single" wifi device usage right? Say I copy a file using wifi to to a local device (that's on wired ethernet) using SMB, the bandwidth will be limited by AC specifications and not the software?