Qualcommax NSS Build

Hey, long time lurker, first time poster here!

@asvio I am using your few latest nss builds (non wifi) with great success on my nbg7815 - thank you for your hard work!

I am not experienced in working out a proper config for successfull build of your nss wifi branch - would you care sharing one that would let me build an image please? I am happy to test and share any feedback with community (but not a developer experience, just everyday user). I tried using your nss.config with wifi branch, but it fails the build in seemingly random places. It works on non-wifi like a charm though. I'd love to know if there any hacks to get 160mhz working as well, but I understand it's a known issue with nbg7815.

Thanks again.

1 Like

Hi @qosmio

Ohhhh nice change, I will compile 2 builds now, one with the new NSS firmware and the other with the old one, to have the 2 versions with the best of both worlds :slight_smile:

Amazing job :slight_smile:

PD: By the way, my 2 routers (ax3600 with pbuf set to 512MB) remain stable with 100-115 MB free of RAM

Regards, Agustin

2 Likes

I don't know why my router doesn't boot after sys upgrade, can I flash it via tftp with openwrt firmware or factory firmware only?
It's an ax3600

you should be able to tftp either stock firmware image or openwrt image ending in "web-ui-factory.img" for your device.

openwrt-qualcommax-ipq807x-xiaomi_ax3600-initramfs-factory.ubi
openwrt-qualcommax-ipq807x-xiaomi_ax3600-initramfs-uImage.itb
openwrt-qualcommax-ipq807x-xiaomi_ax3600-squashfs-factory.ubi
openwrt-qualcommax-ipq807x-xiaomi_ax3600-squashfs-sysupgrade.bin
Only 4 filles after building, it should be openwrt-qualcommax-ipq807x-xiaomi_ax3600-initramfs-factory.ubi?

I am interested in implementing the code for CPU / NSS usage and temperature from ImmortalWrt status page.
Can you check and show the content of the following directory /www/luci-static/resources/view/status/include/
image
Can you copy the content of the file 10_system.js.
Does the ImmortalWrt interface have English language.
Currently I use some addon packages from fantastic packages but it looks good to me to have NSS usage too (especially on NSS builds).

I think you are right. WIth bitthief NSS build I had /etc/config/ecm file with below settings in order to mitigate the SSL errors. This was broadly discussed several months ago.

config ecm 'global'
	option acceleration_engine 'auto'

config general
	option enable_bridge_filtering	'0'
	option disable_offloads '1'
	option disable_flow_control '1'
	option disable_interrupt_moderation '1'

Currently I have all options set to zero and there aren't any SSL errors.

config general
	option enable_bridge_filtering	'0'
	option disable_offloads '0'
	option disable_flow_control '0'
	option disable_interrupt_moderation '0'
1 Like

Thank you for your work. I cherry-pick your latest patch and the wireless still crashed after re-flashing the firmware. This is the log.


[    9.866401] remoteproc remoteproc0: powering up cd00000.remoteproc
[    9.903667] remoteproc remoteproc0: Booting fw image IPQ6018/q6_fw.mdt, size 7340
[   11.087319] remoteproc remoteproc0: remote processor cd00000.remoteproc is now up
[   11.089218] kmodloader: done loading kernel modules from /etc/modules.d/*
[   11.089565] qcom-q6v5-wcss-pil cd00000.remoteproc: fatal error received: 
[   11.089565] QC Image Version: QC_IMAGE_VERSION_STRING=WLAN.HK.2.4.0.1-01746-QCAHKSWPL_SILICONZ-1
[   11.089565] Image Variant : IMAGE_VARIANT_STRING=6018.wlanfw.evalQ
[   11.089565] 
[   11.089565] platform_hk.c:754 Assertion remote_ddr_mem_req->mem_seg[idx].addr != 0x0 failedparam0 :zero, param1 :zero, param2 :zero.
[   11.089565] Thread ID      : 0x00000072  Thread name    : wlan_platform  Process ID     : 0
[   11.089565] Register:
[   11.089565] SP : 0x4af7cd18
[   11.089565] FP : 0x4af7cd20
[   11.089565] PC : 0x4ac94024
[   11.089565] SSR : 0x00000008
[   11.089565] BADVA : 0x00020000
[   11.089565] LR : 0x4ac937c0
[   11.089565] 
[   11.089565] Stack Dump
[   11.089565] from : 0x4af7cd18
[   11.089565] to   : 0x4af7d0b0
[   11.089565] 
[   11.152524] remoteproc remoteproc0: crash detected in cd00000.remoteproc: type fatal error
[   11.174475] remoteproc remoteproc0: handling crash #1 in cd00000.remoteproc
[   11.182637] remoteproc remoteproc0: recovering cd00000.remoteproc
[   11.215637] remoteproc remoteproc0: stopped remote processor cd00000.remoteproc
[   11.510870] remoteproc remoteproc0: remote processor cd00000.remoteproc is now up
[   11.782569] mtdblock: MTD device 'rootfs' is NAND, please consider using UBI block devices instead.
[   14.600562] ECM init
[   14.600645] ECM database jhash random seed: 0x9ad44ed5
[   14.669460] ECM init complete
[   15.372351] ath11k c000000.wifi: radio is not up
[   15.575471] br-lan: port 1(eth1) entered blocking state
[   15.575534] br-lan: port 1(eth1) entered disabled state
[   15.580242] device eth1 entered promiscuous mode
[   15.602060] br-lan: port 2(eth2) entered blocking state
[   15.602182] br-lan: port 2(eth2) entered disabled state
[   15.607035] device eth2 entered promiscuous mode
[   16.515868] mtdblock: MTD device 'rootfs' is NAND, please consider using UBI block devices instead.
[   20.768282] nss-dp 3a001000.dp1 eth0: PHY Link up speed: 1000
[   20.768364] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   21.472158] ath11k c000000.wifi: failed to wait qmi memory request: -110
[   21.472208] ath11k c000000.wifi: qmi failed to respond fw mem req: -110
[   21.479256] qcom-q6v5-wcss-pil cd00000.remoteproc: fatal error received: 
[   21.479256] QC Image Version: QC_IMAGE_VERSION_STRING=WLAN.HK.2.4.0.1-01746-QCAHKSWPL_SILICONZ-1
[   21.479256] Image Variant : IMAGE_VARIANT_STRING=6018.wlanfw.evalQ
[   21.479256] 
[   21.479256] platform_hk.c:754 Assertion remote_ddr_mem_req->mem_seg[idx].addr != 0x0 failedparam0 :zero, param1 :zero, param2 :zero.
[   21.479256] Thread ID      : 0x00000072  Thread name    : wlan_platform  Process ID     : 0
[   21.479256] Register:
[   21.479256] SP : 0x4af7cd18
[   21.479256] FP : 0x4af7cd20
[   21.479256] PC : 0x4ac94024
[   21.479256] SSR : 0x00000008
[   21.479256] BADVA : 0x00020000
[   21.479256] LR : 0x4ac937c0
[   21.479256] 
[   21.479256] Stack Dump
[   21.479256] from : 0x4af7cd18
[   21.479256] to   : 0x4af7d0b0
[   21.479256] 
[   21.536129] remoteproc remoteproc0: crash detected in cd00000.remoteproc: type fatal error
[   21.558344] remoteproc remoteproc0: handling crash #2 in cd00000.remoteproc
[   21.566494] remoteproc remoteproc0: recovering cd00000.remoteproc
[   21.599579] remoteproc remoteproc0: stopped remote processor cd00000.remoteproc
[   21.600267] __adpt_hppe_uniphy_psgmii_mode_set[1156]:INFO:uniphy 0 psgmii channel selection
[   21.718200] _adpt_hppe_port_interface_mode_apply[2754]:ERROR:config instance0, rv:fffffffc faild
[   21.894934] remoteproc remoteproc0: remote processor cd00000.remoteproc is now up
[   31.712157] ath11k c000000.wifi: failed to wait qmi memory request: -110
[   31.712208] ath11k c000000.wifi: qmi failed to respond fw mem req: -110
[   31.719268] qcom-q6v5-wcss-pil cd00000.remoteproc: fatal error received: 
[   31.719268] QC Image Version: QC_IMAGE_VERSION_STRING=WLAN.HK.2.4.0.1-01746-QCAHKSWPL_SILICONZ-1
[   31.719268] Image Variant : IMAGE_VARIANT_STRING=6018.wlanfw.evalQ
[   31.719268] 
[   31.719268] platform_hk.c:754 Assertion remote_ddr_mem_req->mem_seg[idx].addr != 0x0 failedparam0 :zero, param1 :zero, param2 :zero.
[   31.719268] Thread ID      : 0x00000072  Thread name    : wlan_platform  Process ID     : 0
[   31.719268] Register:
[   31.719268] SP : 0x4af7cd18
[   31.719268] FP : 0x4af7cd20
[   31.719268] PC : 0x4ac94024
[   31.719268] SSR : 0x00000008
[   31.719268] BADVA : 0x00020000
[   31.719268] LR : 0x4ac937c0
[   31.719268] 
[   31.719268] Stack Dump
[   31.719268] from : 0x4af7cd18
[   31.719268] to   : 0x4af7d0b0
[   31.719268] 
[   31.776191] remoteproc remoteproc0: crash detected in cd00000.remoteproc: type fatal error
[   31.798289] remoteproc remoteproc0: handling crash #3 in cd00000.remoteproc
[   31.806495] remoteproc remoteproc0: recovering cd00000.remoteproc
[   31.839490] remoteproc remoteproc0: stopped remote processor cd00000.remoteproc
[   32.133958] remoteproc remoteproc0: remote processor cd00000.remoteproc is now up
[   41.952168] ath11k c000000.wifi: failed to wait qmi memory request: -110
[   41.952217] ath11k c000000.wifi: qmi failed to respond fw mem req: -110
[   41.959301] qcom-q6v5-wcss-pil cd00000.remoteproc: fatal error received: 
[   41.959301] QC Image Version: QC_IMAGE_VERSION_STRING=WLAN.HK.2.4.0.1-01746-QCAHKSWPL_SILICONZ-1
[   41.959301] Image Variant : IMAGE_VARIANT_STRING=6018.wlanfw.evalQ
[   41.959301] 
[   41.959301] platform_hk.c:754 Assertion remote_ddr_mem_req->mem_seg[idx].addr != 0x0 failedparam0 :zero, param1 :zero, param2 :zero.
[   41.959301] Thread ID      : 0x00000072  Thread name    : wlan_platform  Process ID     : 0
[   41.959301] Register:
[   41.959301] SP : 0x4af7cd18
[   41.959301] FP : 0x4af7cd20
[   41.959301] PC : 0x4ac94024
[   41.959301] SSR : 0x00000008
[   41.959301] BADVA : 0x00020000
[   41.959301] LR : 0x4ac937c0
[   41.959301] 
[   41.959301] Stack Dump
[   41.959301] from : 0x4af7cd18
[   41.959301] to   : 0x4af7d0b0
[   41.959301] 
[   42.016168] remoteproc remoteproc0: crash detected in cd00000.remoteproc: type fatal error
[   42.038342] remoteproc remoteproc0: handling crash #4 in cd00000.remoteproc
[   42.046503] remoteproc remoteproc0: recovering cd00000.remoteproc
[   42.079536] remoteproc remoteproc0: stopped remote processor cd00000.remoteproc
[   42.373903] remoteproc remoteproc0: remote processor cd00000.remoteproc is now up

I always use this setup to try new things.
I will include it in my nss-wifi repository
nss.config

# Use "make defconfig" to expand this to a full .config
# Target device
CONFIG_TARGET_qualcommax=y
CONFIG_TARGET_qualcommax_ipq807x=y
CONFIG_TARGET_qualcommax_ipq807x_DEVICE_zyxel_nbg7815=y

# NSS firmware
CONFIG_PACKAGE_nss-eip-firmware=y
CONFIG_PACKAGE_nss-firmware-ipq8074=y

# NSS Drivers
CONFIG_PACKAGE_kmod-qca-nss-cfi-cryptoapi=y
CONFIG_PACKAGE_kmod-qca-nss-crypto=y
CONFIG_PACKAGE_kmod-qca-nss-dp=y
CONFIG_PACKAGE_kmod-qca-nss-drv=y
CONFIG_PACKAGE_kmod-qca-nss-drv-bridge-mgr=y
CONFIG_PACKAGE_kmod-qca-nss-drv-clmapmgr=y
CONFIG_PACKAGE_kmod-qca-nss-drv-dtlsmgr=y
CONFIG_PACKAGE_kmod-qca-nss-drv-eogremgr=y
CONFIG_PACKAGE_kmod-qca-nss-drv-gre=y
CONFIG_PACKAGE_kmod-qca-nss-drv-l2tpv2=y
CONFIG_PACKAGE_kmod-qca-nss-drv-map-t=y
CONFIG_PACKAGE_kmod-qca-nss-drv-match=y
CONFIG_PACKAGE_kmod-qca-nss-drv-netlink=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pppoe=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pptp=y
CONFIG_PACKAGE_kmod-qca-nss-drv-pvxlanmgr=y
CONFIG_PACKAGE_kmod-qca-nss-drv-tlsmgr=y
CONFIG_PACKAGE_kmod-qca-nss-drv-tun6rd=y
CONFIG_PACKAGE_kmod-qca-nss-drv-tunipip6=y
CONFIG_PACKAGE_kmod-qca-nss-drv-vlan-mgr=y
CONFIG_PACKAGE_kmod-qca-nss-drv-vxlanmgr=y
CONFIG_NSS_DRV_L2TP_ENABLE=y

# NSS Drivers: Kernel Modules: Network Support
CONFIG_PACKAGE_kmod-qca-mcs=y
CONFIG_PACKAGE_kmod-qca-nss-drv-igs=y
CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y
CONFIG_PACKAGE_kmod-qca-nss-ecm=y


# OTHER NSS
CONFIG_PACKAGE_kmod-nss-ifb=y
CONFIG_PACKAGE_sqm-scripts-nss=y

## Bluetooth nbg7815 specific
CONFIG_PACKAGE_bluez-tools=y

# IPv6 support
CONFIG_PACKAGE_kmod-nat46=y

## Luci app
CONFIG_PACKAGE_luci=y

This configuration does not have support for wifi-offloading.

If you have cloned my branch, clean it before starting the first compilation

make distclean

and then generate the configuration following the previous file

cp nss.config .config && make defconfig

You can start with that basic configuration and then add packages depending on your needs.

If you want to try support for wifi-offloading add the following lines to the previous file.

# NSS WIFI OFFLOADING
CONFIG_ATH11K_NSS_SUPPORT=y
CONFIG_PACKAGE_MAC80211_NSS_SUPPORT=y

Keep in mind adding these lines you will almost certainly lock the router and if you do not have access through the serial port you may not be able to recover it.

Unfortunately support for 160 MHz is not possible at the moment.
My knowledge only goes so far as to understand that it depends on the ath11k firmware or so I think. But I'm not even sure about that.

2 Likes

Thank you for a reply and sharing an updated config - I will try to build hopefully this evening and see how it goes.

And yes, I do have a serial dongle - with my lack of experience I managed to lock my router many times already :slight_smile: , so I can always revert if something goes wrong.

Would renaming nss.config and adding these 2 lines for wifi offload would be enough, or do I have to also mark the lines in make menuconfig as well? I mean "enable wifi nss offload" in wireless drivers if I recall correctly (and are there any others I need?).

Thanks!

Add these two lines and make defconfig.
You can check with make menuconfig and add packages you like.

But you will have a not working build for nbg7815

My memory of 3 days straight usage, the device is Arcadyan AW1000.
(Set to 1G memory profile)

It's been pretty stable during that period, but I do have one minor issue, for some reason, LAN ports (When a device disconnects/powers off) won't turn when the device reconnects.

This is only what I can find on the logs:

[118530.144298] nss-dp 3a001200.dp2 lan2: PHY Link is down
[118530.144661] br-lan: port 2(lan2) entered disabled state

Rebooting the device makes the port work again.

Edit: This is using Qosmio's build

1 Like

I've experienced the same behaviour a few times on my QNAP 10G port and even detaching and reconnecting the cable physically from/to the port didn't correct it. Reconnecting the cable couldn't turn on the communication and I had to reboot with the cable connected to the port. I haven't checked this with any of the 1G ports.
I should try this once again because now I use the stock QNAP 10G firmware as recommended by @robimarko and see if this happens again.

@qosmio Hey, I noticed that clmapmgr doesnt built when GCC 13 is enabled.

These are the logs:

2024-02-28T14:09:35.7844004Z In function 'nss_clmapmgr_get_dev_stats64',
2024-02-28T14:09:35.7846503Z     inlined from 'nss_clmapmgr_dev_stats64' at /home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-clients-2023-10-04-f058ae19/clmapmgr/nss_clmapmgr.c:133:2:
2024-02-28T14:09:35.7849591Z ./include/linux/fortify-string.h:57:33: error: '__builtin_memcpy' reading 200 bytes from a region of size 0 [-Werror=stringop-overread]
2024-02-28T14:09:35.7851006Z    57 | #define __underlying_memcpy     __builtin_memcpy
2024-02-28T14:09:35.7851682Z       |                                 ^
2024-02-28T14:09:35.7852766Z ./include/linux/fortify-string.h:469:9: note: in expansion of macro '__underlying_memcpy'
2024-02-28T14:09:35.7853932Z   469 |         __underlying_##op(p, q, __fortify_size);                        \
2024-02-28T14:09:35.7854664Z       |         ^~~~~~~~~~~~~
2024-02-28T14:09:35.7855867Z ./include/linux/fortify-string.h:514:26: note: in expansion of macro '__fortify_memcpy_chk'
2024-02-28T14:09:35.7857120Z   514 | #define memcpy(p, q, s)  __fortify_memcpy_chk(p, q, s,                  \
2024-02-28T14:09:35.7857976Z       |                          ^~~~~~~~~~~~~~~~~~~~
2024-02-28T14:09:35.7860474Z /home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-clients-2023-10-04-f058ae19/clmapmgr/nss_clmapmgr.c:109:9: note: in expansion of macro 'memcpy'
2024-02-28T14:09:35.7862910Z   109 |         memcpy(stats, &priv->stats, sizeof(struct rtnl_link_stats64));
2024-02-28T14:09:35.7863670Z       |         ^~~~~~
2024-02-28T14:09:35.7864220Z In function 'nss_clmapmgr_dev_stats64':
2024-02-28T14:09:35.7864889Z cc1: note: source object is likely at address zero
2024-02-28T14:09:35.8178061Z cc1: all warnings being treated as errors
2024-02-28T14:09:35.8280579Z make[6]: *** [scripts/Makefile.build:250: /home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-clients-2023-10-04-f058ae19/clmapmgr/nss_clmapmgr.o] Error 1
2024-02-28T14:09:35.8283194Z make[5]: *** [scripts/Makefile.build:500: /home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-clients-2023-10-04-f058ae19/clmapmgr] Error 2
2024-02-28T14:09:35.8285560Z make[4]: *** [Makefile:2010: /home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-clients-2023-10-04-f058ae19] Error 2
2024-02-28T14:09:35.8287736Z make[4]: Leaving directory '/home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/linux-6.1.79'
2024-02-28T14:09:35.8289679Z make[3]: *** [Makefile:760: /home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/build_dir/target-aarch64_cortex-a53_musl/linux-qualcommax_ipq807x/qca-nss-clients-2023-10-04-f058ae19/.built] Error 2
2024-02-28T14:09:35.8291664Z make[3]: Leaving directory '/home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/feeds/nss_packages/qca-nss-clients'
2024-02-28T14:09:35.8293113Z time: package/feeds/nss_packages/qca-nss-clients/compile#1.10#0.22#1.29
2024-02-28T14:09:35.8300690Z     ERROR: package/feeds/nss_packages/qca-nss-clients failed to build.
2024-02-28T14:09:35.8304594Z make[2]: *** [package/Makefile:128: package/feeds/nss_packages/qca-nss-clients/compile] Error 1
2024-02-28T14:09:35.8308891Z make[2]: Leaving directory '/home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder'
2024-02-28T14:09:35.8339878Z make[1]: *** [package/Makefile:122: /home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/staging_dir/target-aarch64_cortex-a53_musl/stamp/.package_compile] Error 2
2024-02-28T14:09:35.8342884Z make[1]: Leaving directory '/home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder'
2024-02-28T14:09:35.8374650Z make: *** [/home/runner/work/Qualcommax_NSS_Builder/Qualcommax_NSS_Builder/include/toplevel.mk:233: world] Error 2
2024-02-28T14:09:35.8393312Z ##[error]Process completed with exit code 2.
2024-02-28T14:09:35.8485839Z Post job cleanup.

I believe it's from here:

But looks to be using the old LEDE format vs. javascript.

My ugly hack:

--- /rom/www/luci-static/resources/view/status/include/10_system.js	2024-02-27 17:00:31.000000000 -0500
+++ /www/luci-static/resources/view/status/include/10_system.js	2024-02-28 02:14:33.000000000 -0500
@@ -25,14 +25,16 @@
 		return Promise.all([
 			L.resolveDefault(callSystemBoard(), {}),
 			L.resolveDefault(callSystemInfo(), {}),
-			L.resolveDefault(callLuciVersion(), { revision: _('unknown version'), branch: 'LuCI' })
+			L.resolveDefault(callLuciVersion(), { revision: _('unknown version'), branch: 'LuCI' }),
+			fs.exec_direct('awk',[ '/%/{printf "Avg: %s Max: %s",$2,$3}', '/sys/kernel/debug/qca-nss-drv/stats/cpu_load_ubi'])
 		]);
 	},

 	render: function(data) {
 		var boardinfo   = data[0],
 		    systeminfo  = data[1],
-		    luciversion = data[2];
+		    luciversion = data[2],
+		    nssinfo     = data[3];

 		luciversion = luciversion.branch + ' ' + luciversion.revision;

@@ -64,7 +66,8 @@
 				systeminfo.load[0] / 65535.0,
 				systeminfo.load[1] / 65535.0,
 				systeminfo.load[2] / 65535.0
-			) : null
+			) : null,
+			_('NSS Load'),         nssinfo
 		];

 		var table = E('table', { 'class': 'table' });
--- /rom/usr/share/rpcd/acl.d/luci-mod-status.json	2024-02-27 17:00:31.000000000 -0500
+++ /usr/share/rpcd/acl.d/luci-mod-status.json	2024-02-28 02:07:55.000000000 -0500
@@ -31,6 +31,7 @@
 		"read": {
 			"cgi-io": [ "exec" ],
 			"file": {
+				"/usr/bin/awk": [ "exec" ],
 				"/bin/dmesg -r": [ "exec" ],
 				"/sbin/logread": [ "stat" ],
 				"/sbin/logread -e ^": [ "exec" ],

If you really wanna get adventurous, /sys/devices/virtual/thermal has all the hardware temps. Didn't really bother monkeypatching these in. Ideally would need to properly average CPU 0-3, PHYA/B 0-1

➤ for i in /sys/devices/virtual/thermal/ther*/type; do awk -v temp="$(cat ${i%/*}/temp)" '{gsub(/(wcss-|-thermal)/,"");printf("%8s %.1f°C \n", $1, temp / 1000)}' $i; done|sort
    cpu0 53.2°C
    cpu1 53.9°C
    cpu2 53.6°C
    cpu3 53.6°C
    nss0 54.9°C
    nss1 53.9°C
   phya0 52.6°C
   phya1 51.6°C
   phyb0 52.9°C
   phyb1 52.9°C
 cluster 54.5°C
 nss-top 52.9°C
2 Likes

I have yet to figure this out as well, I experimented with adding kmod-br-netfilter thinking it would help in some way, but it's mostly an empty package and already built into the kernel. Even tried with kmod-qca-nss-drv-bridgemgr, but nothing.

Even went as far as debugging ecm and trying to grep for my attempt telneting to external IP

echo -n 'module qca_nss_bridge_mgr +p' >/sys/kernel/debug/dynamic_debug/control

Also nothing...

tcpdump and nft logging definitely shows the attempt coming through though.

I know @quarky has worked extensively on NSS on IPQ806x. They'd know a lot more about this, or any major downside to having bridge filtering disabled with ECM.

Not sure tbh, IPQ60xx was just recently added to upstream. Even without NSS builds, it's not yet stable.

Are you at least able to get an NSS build (without WIFI offload) working?

yes,it works fine. This is my repo.

it did boot fine with CONFIG_ATH11K_MEM_PROFILE_1G

Hi @qosmio

Thanks for the reply.

A few months ago I managed to make NAT Loopback work with ECM activated, enabling the "hairpin_mode" variable that is inside "/sys/class/net/br-lan/brif/lan[1-3] which is set to "0", while that on WiFi interfaces, phy[1-2]-ap0 is set to "1", but when doing this, some users reported problems with port negotiation when connecting to a switch.

If you want to try it, in case it helps you try to figure out the problem.

Regards, Agustin

Maybe someone in here can help, My download speed kind of drop down for some reason. The speedtest shows i am still able to reach 100+ Mbps. But if I download anything from Google drive or anywhere my download speed just limited at 4 MB/s.
I have checked the router ram usage and cpu load looks normal. My router is AX3600.

The speed went above 10 MB/s then goes down to max 4 MB/s. Before openwrt I can download 12 MB/s just fine. Happens on Wifi and LAN.

I use qosmio's nss-wifi latest build with pbuf 512mb.