forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sync 16/7 #146
Merged
rmandrad
merged 99 commits into
rmandrad:qualcommax-6.x-nss-wifi
from
qosmio:qualcommax-6.x-nss-wifi
Jul 17, 2024
Merged
sync 16/7 #146
rmandrad
merged 99 commits into
rmandrad:qualcommax-6.x-nss-wifi
from
qosmio:qualcommax-6.x-nss-wifi
Jul 17, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1. Rename function _do_env_set() to env_do_env_set(). 2. Replace kwbimage hack with UBOOT_CUSTOMIZE_CONFIG: "--disable TOOLS_KWBIMAGE" and "--disable TOOLS_LIBCRYPTO". 3. Disable CONFIG_CMD_BOOTEFI_BOOTMGR for all supported devices because the newly added UEFI bootmenu entries doesn't work. 4. Enable CONFIG_VERSION_VARIABLE for the OpenWrt One. Signed-off-by: Shiji Yang <[email protected]> Co-authored-by: Daniel Golle <[email protected]>
It seems that most of them are manually modified. However, we can use `make savedefconfig` to generate a clean defconfig file. Refreshed by: ``` Boards=( mt7623n_bpir2_defconfig \ mt7623a_unielec_u7623_02_defconfig \ mt7622_bananapi_bpi-r64-sdmmc_defconfig \ mt7622_bananapi_bpi-r64-emmc_defconfig \ mt7622_bananapi_bpi-r64-snand_defconfig \ mt7622_linksys_e8450_defconfig \ mt7622_ubnt_unifi-6-lr-v1_defconfig \ mt7622_ubnt_unifi-6-lr-v2_defconfig \ mt7622_ubnt_unifi-6-lr-v3_defconfig \ ravpower-rp-wd009-ram_defconfig \ mt7621_zbtlink_zbt-wg3526-16m_defconfig \ mt7986_netcore_n60_defconfig \ mt7986a_bpi-r3-emmc_defconfig \ mt7986a_bpi-r3-nor_defconfig \ mt7986a_bpi-r3-sd_defconfig \ mt7986a_bpi-r3-snand_defconfig \ mt7986_xiaomi_redmi-ax6000_defconfig \ mt7986_tplink_tl-xdr4288_defconfig \ mt7986_tplink_tl-xdr6086_defconfig \ mt7986_tplink_tl-xdr6088_defconfig \ mt7981_qihoo-360t7_defconfig \ mt7981_xiaomi_mi-router-wr30u_defconfig \ mt7981_h3c_magic-nx30-pro_defconfig \ mt7986a_glinet_gl-mt6000_defconfig \ mt7981_cmcc_rax3000m-emmc_defconfig \ mt7981_cmcc_rax3000m-nand_defconfig \ mt7981_jcg_q30-pro_defconfig \ mt7986_zyxel_ex5601-t0_defconfig \ mt7981_xiaomi_mi-router-ax3000t_defconfig \ mt7986a_jdcloud_re-cp-03_defconfig \ mt7986a_bpi-r3-mini-emmc_defconfig \ mt7986a_bpi-r3-mini-snand_defconfig \ mt7981_nokia_ea0326gmp_defconfig \ mt7988a_bananapi_bpi-r4-emmc_defconfig \ mt7988a_bananapi_bpi-r4-sdmmc_defconfig \ mt7988a_bananapi_bpi-r4-snand_defconfig \ mt7988a_bananapi_bpi-r4-poe-emmc_defconfig \ mt7988a_bananapi_bpi-r4-poe-sdmmc_defconfig \ mt7988a_bananapi_bpi-r4-poe-snand_defconfig \ mt7622_xiaomi_redmi-router-ax6s-ubi-loader_defconfig \ mt7981_openwrt-one-nor_defconfig \ mt7981_openwrt-one-spi-nand_defconfig \ ) for Board in ${Boards[@]} do echo "Refresh board ${Board}" make ${Board} make savedefconfig cat ./defconfig > ./configs/${Board} done ``` Signed-off-by: Shiji Yang <[email protected]>
There is no point in hard-coding the UBI volume numbers as we are dynamically looking up the volume by volume name in all cases by now. Remove this relict as it causes problems without being useful for anything. Signed-off-by: Daniel Golle <[email protected]>
Add entry for the BananaPi R3 mini to the platform_check_image() function where it has been missing. Signed-off-by: Daniel Golle <[email protected]>
408c2cc libfstools: skip JFFS2 padding when BLOCKSIZE was given 013050f fstools: remove redundant F2FS_MINSIZE definition Signed-off-by: Daniel Golle <[email protected]>
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.39 Manually rebased: generic/backport-6.6/0080-v6.9-smp-Avoid-setup_max_cpus_namespace_collision_shadowing.patch Removed upstreamed: generic/backport-6.6/801-v6.11-gpio-mmio-do-not-calculate-bgpio_bits-via-ngpios.patch[1] generic/backport-6.6/0081-v6.10-cpu-Fix-broken-cmdline-nosmp-and-maxcpus-0.patch[2] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.39&id=dee87316b5f5f167a201491a774bbd6e10c8dd94 2. gregkh/linux@6978779 Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia <[email protected]> Co-authored-by: Hauke Mehrtens <[email protected]> Link: openwrt#15928 Signed-off-by: Hauke Mehrtens <[email protected]>
https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.98 All patches automatically rebased. Build system: bcm53xx ath79 Signed-off-by: Zxl hhyccc <[email protected]> Link: openwrt#15935 Signed-off-by: Hauke Mehrtens <[email protected]>
Remove an unnecessary config option that was breaking the build Signed-off-by: Felix Fietkau <[email protected]>
The eMMC chip used in a small batch of these devices has issues operating in HS400 mode. Reducing to HS200 mode works around the problem and does not cause any noticeable performance penalties as smaller chips are not fast enough to saturate the bus. Root cause analysis is pending. Signed-off-by: Chad Monroe <[email protected]>
This fixes multiple security problems: * [Medium] CVE-2024-1544 Potential ECDSA nonce side channel attack in versions of wolfSSL before 5.6.6 with wc_ecc_sign_hash calls. * [Medium] CVE-2024-5288 A private key blinding operation, enabled by defining the macro WOLFSSL_BLIND_PRIVATE_KEY, was added to mitigate a potential row hammer attack on ECC operations. * [Low] When parsing a provided maliciously crafted certificate directly using wolfSSL API, outside of a TLS connection, a certificate with an excessively large number of extensions could lead to a potential DoS. * [Low] CVE-2024-5991 In the function MatchDomainName(), input param str is treated as a NULL terminated string despite being user provided and unchecked. * [Medium] CVE-2024-5814 A malicious TLS1.2 server can force a TLS1.3 client with downgrade capability to use a ciphersuite that it did not agree to and achieve a successful connection. * [Medium] OCSP stapling version 2 response verification bypass issue when a crafted response of length 0 is received. * [Medium] OCSP stapling version 2 revocation bypass with a retry of a TLS connection attempt. Unset DISABLE_NLS to prevent setting the unsupported configuration option --disable-nls which breaks the build now. Link: openwrt#15948 Signed-off-by: Hauke Mehrtens <[email protected]>
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.40 All patches (one in this case) automatically rebased. Build system: x86/64 Build-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000 Run-tested: x86/64/AMD Cezanne, flogic/glinet_gl-mt6000 Signed-off-by: John Audia <[email protected]> Link: openwrt#15956 Signed-off-by: Hauke Mehrtens <[email protected]>
Initramfs images are not supported by imagebuilder. With recent changes to support Per Device Rootfs, we now generate an image and a vmlinux for each Rootfs and these additional files are all shipped in the imagebuilder tar. Drop these new file and any vmlinux-initramfs as they are not used and increase the final size of the imagebuilder archive. Signed-off-by: Christian Marangi <[email protected]>
feeds: Switch to fork that requires nss qdisc Without it, NSS based SQM doesn't work.
Signed-off-by: bitthief <[email protected]> package: kernel: nat46: add kernel 6.1 support Signed-off-by: bitthief <[email protected]> Co-Developed-by: Sean Khan <[email protected]>
Instead of 'install', 'cp', use standard build functions Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: bitthief <[email protected]> Co-Developed-by: Sean Khan <[email protected]>
Signed-off-by: bitthief <[email protected]> qualcommax: dts: provide label for NSS reserved-memory Provide a label for the NSS reserved-memory node so it can be easily passed to the NSS DRV instead of having to global match by name which is fragile. Signed-off-by: bitthief <[email protected]>
Signed-off-by: bitthief <[email protected]>
Signed-off-by: bitthief <[email protected]>
Attempt at getting NSS WiFi Offload working on kernel 6.1 (backport 6.5) These patches are a mix of @Ansuel branch for 5.15 (ipq807x-5.15-ecm-wifi) Ansuel@3ecaee7 And QUIC's upstream NSS patches on [NHSS.QSDK.12.4.5.r3](https://git.codelinaro.org/clo/qsdk/oss/system/feeds/wlan-open.git) For the actual package setup (Makfiles,ath.mk) Qualcomm's branch is under 'wlan-open/NHSS.QSDK.12.4.5.r3' Looks like they've swtiched to using backports 6.5-rc3, and figured to use a mix of their patches on 'NHSS.QSDK.12.4.5.r3' (nss) 'wlan-open/NHSS.QSDK.12.4.5.r3' (syncing with openwrt main). Booting with "nss_offload=1 frame_mode=2" Logs show: [ 16.606282] WARNING: CPU: 2 PID: 3524 at ath11k_nss_tx+0x1d4/0x1e0 [ath11k] [ 16.611060] Modules linked in: ecm pppoe ppp_async nft_fib_inet nf_flow_table_inet ath11k_ahb ath11k pptp pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_fullcone nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_compat nft_chain_nat nf_tables nf_nat nf_flow_table nf_conntrack_netlink nf_conntrack mac80211 iptable_mangle iptable_filter ipt_REJECT ipt_ECN ip_tables cfg80211 xt_time xt_tcpudp xt_tcpmss xt_statistic xt_multiport xt_mark xt_mac xt_limit xt_length xt_hl xt_ecn xt_dscp xt_comment xt_TCPMSS xt_LOG xt_HL xt_DSCP xt_CLASSIFY x_tables wireguard slhc sch_cake qrtr_smd qrtr qmi_helpers nfnetlink nf_reject_ipv6 nf_reject_ipv4 nf_log_syslog nf_defrag_ipv4 mhi libcrc32c libchacha20poly1305 compat sch_tbf sch_ingress sch_htb sch_hfsc em_u32 cls_u32 cls_route cls_matchall cls_fw cls_flow cls_basic act_skbedit act_mirred act_gact qca_nss_cfi_cryptoapi [ 16.611215] qca_nss_crypto qca_nss_qdisc qca_nss_wifi_meshmgr qca_nss_gre ledtrig_usbport qca_mcs bonding ip6_gre ip_gre gre ifb nat46 nf_defrag_ipv6 sit qca_nss_drv ip6_tunnel tunnel6 tunnel4 nls_utf8 nls_iso8859_1 nls_cp437 vxlan seqiv michael_mic uas usb_storage leds_gpio xhci_plat_hcd xhci_pci xhci_hcd dwc3 dwc3_qcom qca_nss_dp qca_ssdk ramoops reed_solomon pstore gpio_button_hotplug ext4 mbcache jbd2 aquantia hwmon crc_ccitt crc32c_generic [ 16.721723] CPU: 2 PID: 3524 Comm: hostapd Not tainted 6.1.68 #0 [ 16.743958] Hardware name: Dynalink DL-WRX36 (DT) [ 16.750032] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 16.754635] pc : ath11k_nss_tx+0x1d4/0x1e0 [ath11k] [ 16.761403] lr : ath11k_nss_tx+0x1bc/0x1e0 [ath11k] [ 16.766264] sp : ffffffc00b1db790 [ 16.771122] x29: ffffffc00b1db790 x28: 0000000000000038 x27: 0000000000000000 [ 16.774602] x26: ffffff8006dd7430 x25: ffffff8007ea9dc8 x24: 0000000060000012 [ 16.781719] x23: ffffff8005c6a060 x22: ffffff8005c6a060 x21: ffffff80072f12d8 [ 16.788837] x20: ffffff8007ea9dc8 x19: ffffff8006082800 x18: 0000000000000005 [ 16.795957] x17: 6976312065707974 x16: 207061636e652062 x15: 6b73207874207373 [ 16.803075] x14: ffffffc00a0dd518 x13: 000000000000018b x12: 000000000000018b [ 16.810192] x11: 00000000ffffffea x10: ffffffc00a135518 x9 : 0000000000000001 [ 16.817310] x8 : 0000000000000001 x7 : 0000000000017fe8 x6 : c0000000ffffefff [ 16.824429] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000 [ 16.831547] x2 : ffffff80072f1370 x1 : 0000000000000000 x0 : 0000000000000001 [ 16.838665] Call trace: [ 16.845774] ath11k_nss_tx+0x1d4/0x1e0 [ath11k] [ 16.848035] ath11k_mac_tx_mgmt_pending_free+0x3034/0x9600 [ath11k] [ 16.852551] ieee80211_handle_wake_tx_queue+0x68/0xb10 [mac80211] [ 16.858801] ieee80211_probereq_get+0xca4/0x11f0 [mac80211] [ 16.865049] ieee80211_tx_prepare_skb+0x1dc/0x240 [mac80211] [ 16.870432] ieee80211_xmit+0xcc/0x120 [mac80211] [ 16.876333] __ieee80211_subif_start_xmit+0x2b8/0x380 [mac80211] [ 16.880937] ieee80211_subif_start_xmit+0x40/0x3b0 [mac80211] [ 16.887013] ieee80211_subif_start_xmit_8023+0xb8/0x430 [mac80211] [ 16.892656] dev_hard_start_xmit+0x8c/0x110 [ 16.898728] __dev_queue_xmit+0x1f0/0xbc0 [ 16.902808] dev_queue_xmit+0x14/0x20 [ 16.906975] packet_sendmsg+0x768/0x1260 [ 16.910620] __sys_sendto+0xdc/0x140 [ 16.914613] __arm64_sys_sendto+0x28/0x40 [ 16.918174] invoke_syscall.constprop.0+0x5c/0x110 [ 16.922081] do_el0_svc+0x58/0x170 [ 16.926765] el0_svc+0x18/0x60 [ 16.930149] el0t_64_sync_handler+0x114/0x120 [ 16.933190] el0t_64_sync+0x174/0x178 [ 16.933197] ---[ end trace 0000000000000000 ]--- [ 16.933230] ath11k c000000.wifi: failed to transmit frame -22 [ 17.041495] ath11k c000000.wifi: encap mismatch in nss tx skb encap type 1vif encap type 2 [ 17.041578] ath11k c000000.wifi: failed to transmit frame -22 Which is confusing since the parameter is definitley set to '2'. ➤ cat /sys/module/ath11k/parameters/frame_mode 2 Booting with either "nss_offload=1 frame_mode=3" (RAW), or "nss_offload=1 frame_mode=1" (Native Wifi) Results in: [ 15.644742] ath11k c000000.wifi: peer not found for nss peer delete [ 15.744742] ath11k c000000.wifi: peer not found for nss peer delete [ 15.745742] ath11k c000000.wifi: peer not found for nss peer delete [ 15.746682] ath11k c000000.wifi: peer not found for nss peer delete Clients connect and then are immediately kicked off, stuck in a loop. ath11k-nss: Wifi offloading working (unstable) Wifi offloading seems to be working, however it is not stable. Logs will initially show a lot of flooding. ``` [Sun Dec 17 02:43:25 2023] ath11k c000000.wifi: peer not found for nss peer delete [Sun Dec 17 02:43:28 2023] ath11k c000000.wifi: peer not found for nss peer delete [Sun Dec 17 02:43:30 2023] ath11k c000000.wifi: peer not found for nss peer delete [Sun Dec 17 02:43:32 2023] ath11k c000000.wifi: peer not found for nss peer delete [Sun Dec 17 02:43:34 2023] ath11k c000000.wifi: peer not found for nss peer delete [Sun Dec 17 02:43:40 2023] ath11k c000000.wifi: peer not found for nss peer delete [Sun Dec 17 02:43:41 2023] ath11k c000000.wifi: peer not found for nss peer delete [Sun Dec 17 02:43:46 2023] ath11k c000000.wifi: peer not found for nss peer delete ``` But eventually ends up subsiding. Needs heavy testing... ath11k_nss: Add mac address to debug `nss peer delete` warnings also delete ath10k patch, and refresh. ath11k_nss: FIX `nss peer delete` + encap errors This should hopefullly fix the following errors: ``` [Sun Dec 24 22:03:21 2023] ath11k c000000.wifi: encap mismatch in nss tx skb encap type 1vif encap type 2 [Sun Dec 24 22:03:21 2023] ath11k c000000.wifi: failed to transmit frame -22 [Sun Dec 24 22:08:25 2023] ath11k c000000.wifi: encap mismatch in nss tx skb encap type 1vif encap type 2 [Sun Dec 24 22:08:25 2023] ath11k c000000.wifi: failed to transmit frame -22 ``` Clients should also be able to switch between 2Ghz and 5Ghz AP, as well as join using password (no longer required to boot with NSS off first, connect the client to acquire PSK, and reboot back with nss wifi offload enabled). Uptime has been 5 hours and so far no issues. ath11k_nss: Remove unecessary clang-tidy formatting ath11k_nss: add 'debug_mode' flag quiet warnings Will properly handle: ``` [Mon Dec 25 16:51:34 2023] ath11k c000000.wifi: encap mismatch in nss tx skb encap type 1 vif encap type 2 ``` should take the path for native wifi encap ath11k_nss: Rework depends, make `nss_redirect` optional 1.) Added a reworked `qca-nss-pbuf` init script from QSDK that will set sysctl NSS `n2hcfg` wifi options based on board type and available RAM. 2.) ath11k is fully capable of offloading wifi, it does not need mac80211 to create any NSS vifs. This lowers overhead and has actually shown considerable speed improvements for CPU programs on the router side (i.e. SMB). I believe ax3600's IoT (ath10k) would require it for offloading. I've added 2 new makemenu options, `MAC80211_NSS_SUPPORT` which enables NSS related features, and `MAC80211_NSS_REDIRECT` which provides the option to autoload the module on boot with `nss_redirect=1`. 3.) Reverted the option that deafulted `ATH11K_MEM_PROFILE_512M` to true. This was not required for platforms with 1GB or more memory (which is most of them). The default is 1GB. Select for platforms like Xiaomi AX3600. ath11k_nss: remove requirement for '/sys/kernel/debug/ath11k' ath11k_nss: set default values lower to avoid eating up memory ath11k_nss: Add NSS VLAN support + improvements 1) tweaked qca-nss-pbuf script to better handle different board configs 2) added some QSDK NSS patches for dynamic vlan, WDS. 3) added QSDK fixes for beacon, and bt-coex For devices that keep getting disconnected (mostly on 2G). It is recommended to use the following settings for wifi. Change for your country. config wifi-device 'radio0' option type 'mac80211' option path 'platform/soc/c000000.wifi' option band '5g' option txpower '24' option country 'PA' option channel '100' option htmode 'HE160' option cell_density '0' config wifi-iface 'default_radio0' option device 'radio0' option network 'lan' option mode 'ap' option encryption 'psk2' option key 'SOME_PASSWORD' option ssid 'EXAMPLE_5G' option dtim_period '3' option max_inactivity '86400' option disassoc_low_ack '0' config wifi-device 'radio1' option type 'mac80211' option path 'platform/soc/c000000.wifi+1' option band '2g' option htmode 'HT20' option channel '1' option txpower '36' option country 'PA' option cell_density '0' config wifi-iface 'default_radio1' option device 'radio1' option network 'lan' option mode 'ap' option ssid 'EXAMPLE_2G' option encryption 'psk2' option key 'SOME_PASSWORD' option max_inactivity '86400' option dtim_period '3' option disassoc_low_ack '0' WPA3 should be disabled, and left as WPA2. Experimenting with max_inactivity, dtim_period, and disassoc_low_ack to hopefully resolve the deauth disconnects.
`dev.nss.n2hcfg.n2h_wifi_pool_buf` must be set BEFORE setting `dev.nss.n2hcfg.n2h_high_water_core0`, otherwise it resets the value.
ath11k_nss: bugfix change start order value 'dev.nss.n2hcfg.n2h_wifi_pool_buf' was not getting set, wait till after qca-nss-drv is loaded. ath11k_nss: finally fix n2hcfg values not being set
Memory allocations in the driver & mac80211 are logged and populate those values to the user space via debugfs. This stats will give the snapshot of the memory being used by the driver at the time of dumping these memory stats. Command: cat /sys/kernel/debug/ath11k/ipq8074\ hw2.0/memory_stats Sample output of the stats MEMORY STATS IN BYTES: malloc size : 6287583 ce_ring_alloc size: 109308 dma_alloc size:: 10831860 htc_skb_alloc size: 3840 wmi alloc size: 0 per peer object: 4644 rx_post_buf size: 5091840 Total size: 22329075 User can disable/enable the memory stats accounting with the below command. echo N > /sys/kernel/debug/ath11k/ipq8074\ hw2.0/enable_memory_stats where N = 0 to disable logging, 1 to enable the logging. Note: This should be enabled/disabled only after wifi is down. User shouldn't enable/disable when the wifi is up to avoid accounting the negative values which cause incorrect values in the memory stats. Command: cat /sys/kernel/debug/ieee80211/phyX/memory_stats memory stats: malloc_size: 108
In case you want to specify the memory profile to use rather than letting it autodetect. The following new uci option is introduced. pbuf. config general opt option memory_profile '' choices are 1gb, 512mb, 256mb. Delete option to let it autodetect. NOTE: You must reboot after changing these settings, for it to autoapply. ath11k_nss: fix compilation and rename some patches
also support offload for the following: mac80211: * vlan * mesh (partial) ath11k: * vlan
bugfixes: * Rreverted patch `105-ath11k-fix-monitor-crash-if-tx-offload-is-enabled.patch`. Initial test show lower memory use. `ieee80211_tx_status_8023` was also removed upstream for a reason as it wasn't being used, and the logic behind it was flawed. See https://patchwork.kernel.org/project/linux-wireless/patch/[email protected] * Mmemory profile for '256M' was missing logic that was in 512/1G. Should build correctly now * added more qsdk related patches to nss/offload ath11k_nss: fix up patches ath11k_nss: revert m3, fix coredump when rebooting M3 SSR dump logic makes the router coredump. Just putting dummy case to skip warning. [12394.072384] Hardware name: Dynalink DL-WRX36 (DT) [12394.079758] Call trace: [12394.084354] dump_backtrace.part.0+0xbc/0xd0 [12394.086614] show_stack+0x18/0x30 [12394.091127] dump_stack_lvl+0x6c/0x88 [12394.094339] dump_stack+0x18/0x34 [12394.097985] bad_page+0xe0/0x110 [12394.101282] __free_pages_ok+0x33c/0x360 [12394.104582] __free_pages+0xbc/0xe0 [12394.108487] dma_direct_free+0xd0/0x140 [12394.111701] dma_free_attrs+0x90/0xb0 [12394.115519] ath11k_qmi_fwreset_from_cold_boot+0x9e0/0xa10 [ath11k] [12394.119343] ath11k_qmi_deinit_service+0x64/0x21d0 [ath11k] [12394.125419] ath11k_core_deinit+0xa4/0xc0 [ath11k] [12394.130974] 0xffffffc000fb3600 [12394.135831] platform_shutdown+0x24/0x40 [12394.138871] device_shutdown+0x14c/0x240 [12394.143037] kernel_restart+0x40/0xb0 [12394.146944] __do_sys_reboot+0xcc/0x200 [12394.150502] __arm64_sys_reboot+0x24/0x30 [12394.154148] invoke_syscall.constprop.0+0x5c/0x110 [12394.158317] do_el0_svc+0x58/0x170 [12394.163001] el0_svc+0x18/0x60 [12394.166386] el0t_64_sync_handler+0x114/0x120 [12394.169426] el0t_64_sync+0x174/0x178
uci option pbuf.opt.memory_profile must be explicity set to auto, 1gb, 512m, 256m to run.
Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
This reverts commit 5cf32cfe3edca047b7347236496c275bc23ae7fb.
Signed-off-by: Sean Khan <[email protected]>
commit 072327212c033baf96365a5045673c5981eb0bdf (HEAD -> next, origin/next) Author: John Crispin <[email protected]> AuthorDate: Fri Jul 5 15:42:24 2024 +0200 Commit: John Crispin <[email protected]> CommitDate: Fri Jul 5 15:42:40 2024 +0200 ath11k: fix monitor mode Enabling CPTCFG_ATH11K_MEM_PROFILE_512M will change the layout of struct hal_rx_desc_ipq8074. This broke monitor mode. Fix it by not modifying the struct even if the 512MB profile is enabled. Fixes: WIFI-12102 Signed-off-by: John Crispin <[email protected]> Signed-off-by: Sean Khan <[email protected]>
This patch handles the updating of MU-EDCA parameters indicated by driver. Driver requests to update the parameters and Parameter Set Update Count in beacon frames. This patch addresses only AP mode. Three actions are taken to successfully update MU-EDCA parameters in beacon: (1) Update MU-EDCA parameters stored in hostapd The following Access Categories (AC) are updated: VO: Voice VI: Video BE: Best Effort BK: Background (2) Increment Parameter Set Update Count (3) Update beacon with new parameters There aren't any options to configure, hostapd simply updates MU-EDCA published by ath11k driver. To verify params are getting updated, set log_level to '1' and check logger i.e. `uci set wireless.radio0.log_level=1` ``` Sat Jul 6 15:36:10 2024 daemon.debug hostapd: phy0-ap0: IEEE 802.11 MU-EDCA: Updated MU-EDCA parameters for AC 0: BE: 3, BK: 7, VI: 2, VO: 2 Sat Jul 6 15:36:10 2024 daemon.debug hostapd: phy0-ap0: IEEE 802.11 MU-EDCA: Updated MU-EDCA parameters for AC 1: BE: 164, BK: 164, VI: 67, VO: 50 Sat Jul 6 15:36:10 2024 daemon.debug hostapd: phy0-ap0: IEEE 802.11 MU-EDCA: Updated MU-EDCA parameters for AC 2: BE: 255, BK: 2, VI: 255, VO: 255 ``` Requires the following patches applied to 'ath11k/subsys' commit ce7f1ad354869d85abdf8e8ed8d36599e057ba5d Author: Sean Khan <[email protected]> AuthorDate: Tue Feb 27 00:45:32 2024 -0500 Commit: Sean Khan <[email protected]> CommitDate: Sat Jul 6 15:19:26 2024 -0400 ath11k_nss: FW Initiated Dynamic MU-EDCA package/kernel/mac80211/patches/nss/ath11k/203-mac80211-ath11k-fw-dynamic-muedca.patch package/kernel/mac80211/patches/nss/subsys/203-mac80211-ath11k-fw-dynamic-muedca.patch Signed-off-by: Sean Khan <[email protected]>
This reverts commit b1b446335beee744c7a74770d7383618d9cc3202.
Signed-off-by: Sean Khan <[email protected]> ath11k_nss: fix missing semicolon ';' Signed-off-by: Sean Khan <[email protected]>
Add them for all current qualcommax platforms Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
NSS offload feature enablement for Asus RT-AX89X Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
Some features are not available in NSS firmware 11.4.0.5 * `NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_4ADDR` This was introduced in `NHSS.QSDK.11.5`. To avoid unexpected issues, disable the case check for `NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_4ADDR` if `CONFIG_NSS_FIRMWARE_VERSION_11_4` is selected. Signed-off-by: Sean Khan <[email protected]> ath11k_nss: rename '*.patch.patch' to '.patch' Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
New: * Add UCI option to /etc/config/pbuf 1. `stats_disable` - Allows disabling extended stats collection. (Default: '1') 2. `scaling_governor` - Allow specifying CPU governor. (Default: disabled ) Choices depend on what your system is compiled with. Can be found using: ```sh cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors ondemand performance schedutil ``` Changes: * Rather than hardcode every device model's memory profile. Simply read the memory available from `/proc/meminfo`. * Scaling governor is no longer forced as `performance`. It is now user configurable. * Hash bitmap is now calculated from number of CPUs rather than hardcoded to `15` * Limit `n2h_queue_limit_core` to `256`. This was set to `2048` which is too high when NSS wifi is also enabled. Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
Rather mess with target 'config-*' files, introduce a custom menu item that consolidates all IPQ related kernel settings in one menu. Most of these can be left as default since the options are derived from the initial NSS fork for 'config-6.6'. Options include: 1) enable or disable building `skbuff_recycle` 2) enable or disable preemption 3) select IPQ memory profile Signed-off-by: Sean Khan <[email protected]>
There are instances where `skbuff_recycle` messes up skb headers causing various issues in network related activities. This was initially meant to resolve issues with memory usage issues on 6.1. Introduce a proc option to enable or disable skbuff_recycle. The default is to have it enabled. Users on 512M platforms should test if memory leaks still occur with this option disabled. echo 0 > /proc/net/skb_recycler/skb_recycler_enable echo 1 > /proc/net/skb_recycler/skb_recycler_enable NOTE: There is a new script in `qca-nss-drv` that will automatically manage this as an UCI configurable option. commit 217a4fa43ba2ad0a02e8080dfde11ad23534aa8c (HEAD -> NSS-12.5-K6.x) Author: Sean Khan <[email protected]> AuthorDate: Sat Jul 13 18:43:52 2024 -0400 Commit: Sean Khan <[email protected]> CommitDate: Sat Jul 13 18:43:52 2024 -0400 nss-drv: add skb_recycler init script Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
Also set SKB_FIXED_SIZE_2K if IPQ memory profile is < 512M Signed-off-by: Sean Khan <[email protected]>
Signed-off-by: Sean Khan <[email protected]>
This patch cleans up the following warnings during build: "warning: format not a string literal" ``` conf.c: In function 'conf_askvalue': conf.c:89:17: warning: format not a string literal and no format arguments [-Wformat-security] 89 | printf(_("(NEW) ")); | ^~~~~~ conf.c: In function 'conf_choice': conf.c:285:33: warning: format not a string literal and no format arguments [-Wformat-security] 285 | printf(_(" (NEW)")); | ^~~~~~ conf.c: In function 'check_conf': conf.c:440:41: warning: format not a string literal and no format arguments [-Wformat-security] 440 | printf(_("*\n* Restart config...\n*\n")); | ^~~~~~ conf.c: In function 'main': conf.c:617:41: warning: format not a string literal and no format arguments [-Wformat-security] 617 | _("\n*** The configuration requires explicit update.\n\n")); | ^ conf.c:669:25: warning: format not a string literal and no format arguments [-Wformat-security] 669 | fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n")); | ^~~~~~~ conf.c:673:25: warning: format not a string literal and no format arguments [-Wformat-security] 673 | fprintf(stderr, _("\n*** Error during update of the configuration.\n\n")); | ^~~~~~~ conf.c:684:25: warning: format not a string literal and no format arguments [-Wformat-security] 684 | fprintf(stderr, _("\n*** Error during writing of the configuration.\n\n")); | ^~~~~~~ ``` And POSIX Yacc warnings ``` lex -ozconf.lex.c -L zconf.l yacc -ozconf.tab.c -t -l zconf.y zconf.y:34.1-7: warning: POSIX Yacc does not support %expect [-Wyacc] 34 | %expect 32 | ^~~~~~~ zconf.y:97.1-11: warning: POSIX Yacc does not support %destructor [-Wyacc] 97 | %destructor { | ^~~~~~~~~~~ gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS -c -o zconf.tab.o zconf.tab.c gcc conf.o zconf.tab.o -o conf ``` After: gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS -c -o conf.o conf.c yacc -Wno-yacc -ozconf.tab.c -t -l zconf.y gcc -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -DKBUILD_NO_NLS -c -o zconf.tab.o zconf.tab.c gcc conf.o zconf.tab.o -o conf Signed-off-by: Sean Khan <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thanks for your contribution to OpenWrt!
To help keep the codebase consistent and readable,
and to help people review your contribution,
we ask you to follow the rules you find in the wiki at this link
https://openwrt.org/submitting-patches
Please remove this message before posting the pull request.