Qualcommax NSS Build

No luck

asvio@MSI-7D25:~/01-NBG7815/nbg7815-nss$ scripts/diffconfig.sh | grep -E "ATH11K|NSS_|MAC80211|IPQ|-nss"
# CONFIG_ATH11K_DEBUGFS_HTT_STATS is not set
# CONFIG_ATH11K_DEBUGFS_STA is not set
# CONFIG_ATH11K_THERMAL is not set
CONFIG_NSS_DRV_IGS_ENABLE=y
CONFIG_NSS_DRV_SHAPER_ENABLE=y
CONFIG_PACKAGE_kmod-qca-nss-drv-igs=y
CONFIG_PACKAGE_kmod-qca-nss-drv-qdisc=y
CONFIG_PACKAGE_sqm-scripts-nss=y
asvio@MSI-7D25:~/01-NBG7815/nbg7815-nss$ 

I'll add mesh later....

1 Like

I used this to set up VirtualBox
https://openwrt.org/docs/guide-developer/buildserver_virtualbox

Then installed these dependencies
https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem

Then followed qosmio's README

You'll probably run into some warning/error with telephony's Makefile. Edit the Makefile the warning/error points you to and change "libpcre" to "libpcre2" and rerun the step that got you the warning.

Things should compile afterwards. It takes quite a while to compile like qosmio mentioned. Also, make sure you're not root when you run through qosmio's README

Compiled files will be somewhere in bin/targets from what I remember.

Let me know if you find how to add the "netem", "wireguard client", "adblock" and, "sqm" packages to the build. All I did was build whatever qosmio had on his github so I have no idea how to customize things.

Use make menuconfig to customize (add packages to) your build.

Some documentation for BramWrt too
https://openwrt.org/docs/guide-developer/toolchain/use-buildsystem

@sppmaster, how do you choose which packages to add/etc? I'm new to OpenWrt and am just looking for something basic. Is there a list of packages that most users add or are recommended? Also, would qosmio's build already have those packages configured already?

fork repo, create a file in .github/workflows and run your own builds (all in github). here are sample workflow yaml files from some of Qosimo's forked repos. make changes to your liking.:

2 Likes

All the required packages are preselected so you are able to use the Internet.
Then simply add more packages (make menuconfig) that you might need when you have more experience and needs. It's simple to start.

WireGuard, and NSS SQM are already included.

You can add adblock and netem by adding the following to the config seed file prior to copying over to .config

CONFIG_PACKAGE_kmod-netem=y
CONFIG_PACKAGE_luci-app-adblock=y

This is the preferred approach as you let make defconfig automatically select dependencies while keeping your configuration small and repeatable.

Since the web interface will be the primary source people manage their devices, Look through mencuconfig for LuCI applications.

LuCI > Applications

Scroll around to see what you might need.

The base install I have in my example should provide for 95% of what most users use. Since you are new to building OpenWrt and jumping right into building from a fork... keep it simple. More things you add, the greater chance your build will fail to even compile. Familiarize yourself with everything and only then make changes.

1 Like

i did already add nss for that target but no nss firmware will work on the mx5500. only the linksys provided nss firmware in the firmware works but this is very old and does not support ath11k. if you use any other firmware. ethernet will not work on the mx5500. but i dont know how the mx2000 works here since the mx2000 is shipped with the different nss firmware

my reply can only be that the nss 11.3 shipped with the linksys firmware is the only one which works on mr5500 and mx5500. no official 11.3 works and no official 11.x or 12.x works on this device. they all result in non working ethernet. so the nss firmware by linksys is customized. but 11.3 also has no ath11k support. no wifi acceleration is supported then

2 Likes

after update to newest commit of qosmio's qualcommax-6.x-nss-wifi-6.11 branch, i got kernel panic in several minutes( 30min to 2 hours,not always the same) after reboot.
and I have to change disable-gro=1 to make dnsmasq works.

<1>[ 3843.099408] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000010
<1>[ 3843.099460] Mem abort info:
<1>[ 3843.107297]   ESR = 0x0000000096000006
<1>[ 3843.109786]   EC = 0x25: DABT (current EL), IL = 32 bits
<1>[ 3843.113618]   SET = 0, FnV = 0
<1>[ 3843.119079]   EA = 0, S1PTW = 0
<1>[ 3843.121933]   FSC = 0x06: level 2 translation fault
<1>[ 3843.124987] Data abort info:
<1>[ 3843.129842]   ISV = 0, ISS = 0x00000006, ISS2 = 0x00000000
<1>[ 3843.132973]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0
<1>[ 3843.138267]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
<1>[ 3843.143390] user pgtable: 4k pages, 39-bit VAs, pgdp=00000000507cd000
<1>[ 3843.148774] [0000000000000010] pgd=080000005066b003, p4d=080000005066b003, pud=080000005066b003, pmd=0000000000000000
<0>[ 3843.155122] Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP
<4>[ 3843.165691] Modules linked in: ecm(O) nft_fib_inet nf_flow_table_inet ath11k_ahb(O) ath11k(O) nft_tproxy nft_socket nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_fullcone(O) nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack_netlink nf_conntrack mac80211(O) cfg80211(O) tls qrtr_smd qrtr qmi_helpers(O) ppp_async nfnetlink nf_tproxy_ipv6 nf_tproxy_ipv4 nf_socket_ipv6 nf_socket_ipv4 nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c hwmon compat(O) qca_nss_cfi_cryptoapi(O) qca_nss_crypto(O) qca_nss_wifi_meshmgr(O) qca_nss_pppoe(O) pppoe pppox ppp_generic slhc qca_nss_bridge_mgr(O) qca_nss_vlan(O) cryptodev(O) qca_mcs(O) qca_nss_drv(O) algif_skcipher algif_rng algif_hash algif_aead af_alg qca_nss_dp(O) qca_ssdk(O) ramoops reed_solomon pstore
<4>[ 3843.231476] CPU: 0 PID: 929 Comm: napi/ath11k_ahb Tainted: G           O       6.6.52 #0
<4>[ 3843.253715] Hardware name: Redmi AX6 (DT)
<4>[ 3843.261867] pstate: 60000005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--)
<4>[ 3843.265777] pc : 0xffffffc0791c88cc [ath11k@000000009b2bf429+0x63000]
<4>[ 3843.272547] lr : 0xffffffc0791c88b4 [ath11k@000000009b2bf429+0x63000]
<4>[ 3843.279144] sp : ffffffc08173bbf0
<4>[ 3843.285561] x29: ffffffc08173bbf0 x28: ffffffc08173bcc0 x27: 0000000000000000
<4>[ 3843.288869] x26: ffffff8008a32540 x25: 0000000000000001 x24: ffffff80070f9b48
<4>[ 3843.295987] x23: ffffff80052bc000 x22: ffffff8008a32000 x21: ffffff8008a32438
<4>[ 3843.303105] x20: ffffff80033d1100 x19: ffffff80070f0000 x18: 0000000000000000
<4>[ 3843.310223] x17: 0000000000000002 x16: 0000000000000000 x15: 0000000000000000
<4>[ 3843.317340] x14: 0000000000000060 x13: 0000000000000140 x12: 0000000000000002
<4>[ 3843.324458] x11: 0000000000000093 x10: 0000000000000000 x9 : 0000000000000001
<4>[ 3843.331576] x8 : 0000000000000080 x7 : 0000000000000001 x6 : 0000000000000000
<4>[ 3843.338695] x5 : 0000000000c18090 x4 : ffffff8008a32438 x3 : ffffff80070f0000
<4>[ 3843.345813] x2 : 00000000000002bb x1 : 0000000000000000 x0 : 0000000000000001
<4>[ 3843.352931] Call trace:
<4>[ 3843.360039]  0xffffffc0791c88cc [ath11k@000000009b2bf429+0x63000]
<4>[ 3843.362304]  0xffffffc0791c912c [ath11k@000000009b2bf429+0x63000]
<4>[ 3843.368554]  0xffffffc0791b93ec [ath11k@000000009b2bf429+0x63000]
<4>[ 3843.374630]  0xffffffc0790b7274 [ath11k_ahb@000000004f47edf3+0x2000]
<4>[ 3843.380707]  0xffffffc0805e7660
<4>[ 3843.387125]  0xffffffc0805e7888
<4>[ 3843.389988]  0xffffffc0805e79cc
<4>[ 3843.393113]  0xffffffc08006fe50
<4>[ 3843.396239]  0xffffffc080013524
<0>[ 3843.399368] Code: 91400860 39618000 b5ffe921 36001040 (f9400822) 
<4>[ 3843.402496] ---[ end trace 0000000000000000 ]---
<3>[ 3843.415938] pstore: backend (ramoops) writing error (-28)
<0>[ 3843.415966] Kernel panic - not syncing: Oops: Fatal exception in interrupt
<2>[ 3843.420312] SMP: stopping secondary CPUs
<0>[ 3843.427083] Kernel Offset: disabled
<0>[ 3843.431153] CPU features: 0x0,00000000,00020000,0000400b
<0>[ 3843.434370] Memory Limit: none

1 Like

@qosmio
The exact thing that is happening is when I added an interface using quectel_cellular. When the interface starts with simcard inserted, the modem auto restarts itself.

It is working fine using qmi cellular.

here is what I got from the logs

on mainline openwrt, udp has been acting strange for a couple of months now. i do not know if it's hanging but sometimes udp traffic (most oblivous was dns queries which was served from unbound running on the actual device) originating from the router becomes unresponsive, sometimes very high udp packet loss. i can't put my finger on what is the actual issue. so much so that I stopped using mainline openwrt as a routing platform about two months ago as it was unpredictable and unreliable. this was on a filogic 880 device. I am going to try this patch to see if there is improvement.

Again this has nothing to do with the nss stuff as I only use my ax3600 as dump APs.

Curious how you came across this patch from mtk?

2 Likes

Hello @AgustinLorenzo

I saw you had a built arcadyan aw1000

Just checking if you can test if quectel protocol works with your nss build of aw1000?

been a while since i did some wifi throughput test.
currently building off branch: mx4300-6.11
NSS 12.2 + ATH11K 2.12 + 6.11 backports on AX3600
iperf3 test to a local pc on the lan. AX3600 @80MHz (no point for 160MHz as the ethernet port uplinks are 1Gbps)
D/L : 918Mbps (receiving)
U/L: 866Mbps (transmitting)
Everything looks great so far. Stable too.

XXX@XXXXX ~ % iperf3 -c xxx.xxx.xxx.xxx -R
Connecting to host xxx.xxx.xxx.xxx, port 5201
Reverse mode, remote host xxx.xxx.xxx.xxx is sending
[  5] local xx.xx.xx.xx port 52055 connected to xxx.xxx.xxx.xxx port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   106 MBytes   893 Mbits/sec                  
[  5]   1.00-2.00   sec   110 MBytes   924 Mbits/sec                  
[  5]   2.00-3.00   sec   110 MBytes   917 Mbits/sec                  
[  5]   3.00-4.00   sec   108 MBytes   908 Mbits/sec                  
[  5]   4.00-5.00   sec   111 MBytes   927 Mbits/sec                  
[  5]   5.00-6.00   sec   110 MBytes   925 Mbits/sec                  
[  5]   6.00-7.00   sec   109 MBytes   913 Mbits/sec                  
[  5]   7.00-8.00   sec   110 MBytes   925 Mbits/sec                  
[  5]   8.00-9.00   sec   110 MBytes   924 Mbits/sec                  
[  5]   9.00-10.00  sec   110 MBytes   924 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  1.07 GBytes   920 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  1.07 GBytes   918 Mbits/sec                  receiver

iperf Done.

XXX@XXXXX ~ % iperf3 -c xxx.xxx.xxx.xxx
Connecting to host xxx.xxx.xxx.xxx, port 5201
[  5] local xx.xx.xx.xx port 52099 connected to xxx.xxx.xxx.xxx port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.01   sec   103 MBytes   858 Mbits/sec                  
[  5]   1.01-2.01   sec   104 MBytes   869 Mbits/sec                  
[  5]   2.01-3.01   sec   105 MBytes   879 Mbits/sec                  
[  5]   3.01-4.01   sec   104 MBytes   868 Mbits/sec                  
[  5]   4.01-5.01   sec  99.6 MBytes   836 Mbits/sec                  
[  5]   5.01-6.01   sec   103 MBytes   863 Mbits/sec                  
[  5]   6.01-7.01   sec   105 MBytes   880 Mbits/sec                  
[  5]   7.01-8.00   sec   104 MBytes   878 Mbits/sec                  
[  5]   8.00-9.00   sec   106 MBytes   885 Mbits/sec                  
[  5]   9.00-10.01  sec   104 MBytes   872 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  1.01 GBytes   869 Mbits/sec                  sender
[  5]   0.00-10.02  sec  1.01 GBytes   866 Mbits/sec                  receiver

iperf Done.
1 Like

@qosmio

The speed is suddenly not displayed.
image

@qosmio WG on the router is suddenly extremely slow while speed is normal when connecting from another device connected by ethernet. Could this be the UDP patch?

What needs to be changed in order to get the factory.bin file to be compiled?

Reference for workflow file that produces factory.bin with qosmio's build:

I'm assuming it's this

            - name: Clone config
              run: git clone https://${{ secrets.PAT }}@github.com/fhirrepo/custom_openwrt.git files/etc/uci-defaults && rm -rf files/etc/uci-defaults/.git && rm -rf files/etc/uci-defaults/*.yml

but I'm not sure what's in the uci-defaults folder. How would I generate the needed files to compile the factory.bin?

@qosmio speed is back to normal with gro off so it could well be that patch

the line you have highlighted has a script with defaults that this user wants when the router boots up after flashing (runs the first time and sets things up accordingly). could be that, they want it to be an AccessPoint and want it to get an IP from upstream DHCP server because they may not be physically present near it to connect via LAN ports for flashing builds etc. it is equivalent of files under nss-setup/example (those are sophistication which you can worry about later once you get familiar with running successful builds and are able to flash without issues).

to specifically answer: you can remove the 2 lines and run the workflow and it would generate a .bin file which you can check under 'Releases' section.

1 Like

@qosmio I'm not sure if I should ask it here, but, NSS-enabled builds on my WRX36 has WiFi issues when my main bridge is vlan filtering enabled. Phone throws authentication error even though password is correct. Even WPA3 owa throws errors. Open network works.
Tried hacking a veth based bridge to bridge solution, it works with 20mbps speeds