Commit Graph

62477 Commits

Author SHA1 Message Date
Felix Fietkau
6d91e33644 netifd: update to Git HEAD (2024-10-06)
3c6265fdbd02 wireless: reload wireless device if any vif network bridge changes ifindex

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-10-12 10:13:26 +08:00
Tianling Shen
60fd809e97 uboot-rockchip: Update to 2024.10
Removed upstreamed patches.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
Link: https://github.com/openwrt/openwrt/pull/16647
Signed-off-by: Nick Hainke <vincent@systemli.org>
2024-10-12 10:13:26 +08:00
Thomas Richard
8939618828 scripts/feeds: force kernel package scan after a target installation
When a target is installed from a feed, the linux kernel package is scanned
before the installation of this target.
If some kernel module packages are defined in this feeds at the target
level, there were not parsed during the scan of linux kernel package, as
the target didn't exist yet. So these kernel module packages don't exist.

Once the target is installed, clean the linux kernel packageinfo to force
the scan of the linux kernel package next time this script (or the make
command) is called.

Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://patchwork.ozlabs.org/project/openwrt/patch/mailman.117548.1727195440.1280.openwrt-devel@lists.openwrt.org/
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-10-12 10:13:26 +08:00
Robert Marko
f84df6d65d realtek: refresh patches
CI is saying that patches need to be refreshed, so refresh them.

Link: https://github.com/openwrt/openwrt/pull/16653
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-10-12 10:13:26 +08:00
Felix Fietkau
cd3e15e097 mt76: update to Git HEAD (2024-10-10)
86b41a32a5ac wifi: mac80211: don't use rate mask for offchannel TX either
82a452919f52 wifi: mac80211: handle ieee80211_radar_detected() for MLO
02c07fe539b4 wifi: mt76: mt7996: fix rx filter setting for bfee functionality
a902bfa6db2f wifi: mt76: mt7915: disable the second PCIe link for MT7915
a7d48cd3ed34 wifi: mt76: mt7915: reduce the number of command retries
0d8474602a9b wifi: mt76: mt7915: decrease timeout for commonly issued MCU commands
5f6051569639 wifi: mt76: mt7915: add module param to select 5 GHz or 6 GHz on MT7916
f5bccb122305 wifi: mt76: mt7996: fix invalid interface combinations
6a1199463fc8 wifi: mt76: mt7915: Fix an error handling path in mt7915_add_interface()

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2024-10-12 10:13:26 +08:00
Sean Khan
fdafa477c2 nat46: Bump to version 2024-08-12
Brings in following changes

```
2024-07-31|b42c37d|Fix crash when viewing nat46 kernel module config
2024-07-18|3a9f630|nat46-module: fix modpost warning
2024-07-02|cb69317| "Add network namespace awareness to nat46" - take two.
```

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:15 -04:00
Sean Khan
287b057d2e ath11k_nss: Refresh patches for 6.9.9
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:15 -04:00
Sean Khan
29f38b383b ath11k_nss: skip status ring entry processing (V5)
Update patch from latest version found on patchwork

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:15 -04:00
Sean Khan
40ea5c9086 hostapd: fix MUEDCA patch for hostapd 2024-09-15
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:15 -04:00
Sean Khan
0c6c7025e7 qualcommax: NSS: refresh patches for 6.6.51
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:14 -04:00
Sean Khan
6ecb328fa3 ath11k_nss: utilize existing function to get arvif from dev
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:14 -04:00
Sebastian Gottschall
51c1f0de46 ath11k_nss: fix bss transition firmware crash
fixes: ath11k: fix peer addition/deletion error on sta band migration: d673cb6fe6c03b2be157cc6c5db40481828d282d

the fix for sta band migration raises a new bug which causes the wifi
firmware to crash if you switch between 2 bssid's on the same band. this is
usually caused since the firmware observes 2 stations with the same
bss

Signed-off-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>

Update 999-900-bss-transition-handling.patch

Signed-off-by: qosmio <datapronix@protonmail.com>
2024-10-11 19:19:14 -04:00
Sean Khan
927c5abffe ath11k_nss: WAR for association failure issue with WDS
Every 100 milliseconds, the station sends an "association request" and
the AP adds the peer and the AP responds to the station with an
"association response".

But "association response" takes time to reach the station. Because of
this, the station sends another "association request" to the AP.

In the second associate request, the AP removes the peer and re-adds
the station. Meanwhile, "association response" is reached to station
and station sends "QoS NULL" frame to AP.

The moment the station sends a QoS NULL frame to the ap, the peer on
the AP is deleted and the AP sends a de-authentication to the station.

To fix this issue, increased the assoc timeout period from 100 milli-
seconds to 500 milli seconds.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:14 -04:00
Sean Khan
688e25a60a ath11k_nss: Fix RX thermal throttling on newer 2.12 firmware
There is an issue when enabling thermal support on newer ath11k firmware.
TX/RX rates are being limited, often times 50% of client's HE
capabilities.

The issue stems from a mismatch in WMI API structure. The range to
throttle is currently "-100°C" to "150°C", this essentially means
"always" throttle.

Integrate patch from dd-wrt which adds missing WMI structures and
proper thermal ranges for IPQ5018, IPQ807x, and QCN9000.

Patch-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:14 -04:00
Sean Khan
a87a3382d4 ath11k_nss: Possible fix for WDS
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:14 -04:00
Sean Khan
b46a81392a ath11k_nss: Revert logic from coconut branch in NSS redirect
There was logic that was initially included in the coconut branch of
QSDK for older mac80211 NSS implementation. It was brought over to
address an issue with ath10k where during heavy traffic, AP would trigger
`failed to increase tx pending count: -16, dropping`.

The issue was actually caused by `skb_recyler` malforming some packets.
Disabling `skb_recyler` fixed the error, and therefore the logic
regarding `skb_queue_len(&local->pending[q]) >= 1000` can be reverted to
match what is currently upstream with QSDK.

Alsi refreshed remaning patches after rebase.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:14 -04:00
Sean Khan
2027830ef7 qualcommax: NSS: Refresh patches against 6.6.41
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:13 -04:00
Sean Khan
c867de9529 qualcommax: add notes about SKB_RECYCLER_PREALLOC and SKB_FIXED_SIZE_2K
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:13 -04:00
Sean Khan
f9f488a83f qualcommax: enable skb_recycle for IPQ > 256M
Also set SKB_FIXED_SIZE_2K if IPQ memory profile is < 512M

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:13 -04:00
Sean Khan
cfd7b7ed8c iproute2: NSS: sync patch from QSDK 12.5
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:13 -04:00
Sean Khan
5d9a513a0c qualcommax: skbuff: at latest changes from QSDK
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:13 -04:00
Sean Khan
8611b43a4f qualcommax: skbuff_recycle: add proc option to enable/disable
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 <datapronix@protonmail.com>
AuthorDate: Sat Jul 13 18:43:52 2024 -0400
Commit:     Sean Khan <datapronix@protonmail.com>
CommitDate: Sat Jul 13 18:43:52 2024 -0400

    nss-drv: add skb_recycler init script

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:13 -04:00
Sean Khan
57c7743358 qualcommax: Add new menu item for IPQ settings
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 <datapronix@protonmail.com>
2024-10-11 19:19:12 -04:00
Sean Khan
a0c5d7feac qualcommax: Switch to upstream default config
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:12 -04:00
Sean Khan
6ec6ed6699 ath11k_nss: optimize qca-nss-pbuf init script
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 <datapronix@protonmail.com>
2024-10-11 19:19:12 -04:00
Sean Khan
6ec201e486 ath11k_nss: Bump version 6.6.15 to 6.9.9
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:12 -04:00
Sean Khan
177f3f0601 ath11k_nss: Check for NSS FW 11.4 and build accordingly
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 <datapronix@protonmail.com>

ath11k_nss: rename '*.patch.patch' to '.patch'

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:12 -04:00
Sean Khan
f2d0a9d32b ath11k_nss: Refresh patches
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:12 -04:00
Sean Khan
cccefb7d6b qualcommax: NSS: Enable NSS for Asus RT-AX89X
NSS offload feature enablement for Asus RT-AX89X

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:11 -04:00
Sean Khan
a5c7dc2f73 qualcommax: skbuff_recycle: allow specifiying max size
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:11 -04:00
Sean Khan
aa89d5e95f qualcommax: add coherent_pool=2M swiotlb=noforce
Add them for all current qualcommax platforms

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:11 -04:00
Sean Khan
9998af7141 ath11k_nss: add missing NL80211_ATTR_HE_MUEDCA_PARAMS
Signed-off-by: Sean Khan <datapronix@protonmail.com>

ath11k_nss: fix missing semicolon ';'

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:11 -04:00
Sean Khan
e18383e9de Revert "ath11k_nss: Add mac80211 based AQL support"
This reverts commit b1b446335beee744c7a74770d7383618d9cc3202.
2024-10-11 19:19:11 -04:00
Sean Khan
65b6b1ca65 hostapd: handle updated MU-EDCA params from driver
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 <datapronix@protonmail.com>
AuthorDate: Tue Feb 27 00:45:32 2024 -0500
Commit:     Sean Khan <datapronix@protonmail.com>
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 <datapronix@protonmail.com>
2024-10-11 19:19:11 -04:00
Sean Khan
2aaf7db5d9 ath11k_nss: fix monitor mode
commit 072327212c033baf96365a5045673c5981eb0bdf (HEAD -> next, origin/next)
Author:     John Crispin <john@phrozen.org>
AuthorDate: Fri Jul 5 15:42:24 2024 +0200
Commit:     John Crispin <john@phrozen.org>
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 <john@phrozen.org>

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:10 -04:00
Sean Khan
ef28c51b9c wifi_nss: Revert using napi threaded helper function
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:10 -04:00
Sean Khan
531755b24d Revert "qualcommax: NSS: introduce helper functions for NAPI threading"
This reverts commit 5cf32cfe3edca047b7347236496c275bc23ae7fb.
2024-10-11 19:19:10 -04:00
Sean Khan
1725d090d9 ath11k_nss: add tracing for update_muedca_params_event
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:10 -04:00
Sean Khan
d083973b9c ath10k-ct: Use NAPI threaded helper functions
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:10 -04:00
Sean Khan
4580fb6743 ath10k-ct: Bump patch for 6.4 to 6.7
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:10 -04:00
Sean Khan
7f25553e0d qualcommax: NSS: Add default packages drv, ecm, bridge-mgr
These packages are required for basic NSS offloading. So ensure they're
selected for all qualcommax targets.

  * kmod-qca-nss-ecm (Enhanced Connection Manager)
  * kmod-qca-nss-drv (NSS Driver)
  * kmod-qca-nss-drv-bridge-mgr (NSS Manager for Bridges)

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:09 -04:00
Sean Khan
b9b8072d71 ath11k_nss: fix incorrectly applied ath11k_pci threaded napi patch
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:09 -04:00
Sean Khan
50768a29ad wifi_nss: Use NAPI threaded helper functions
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:09 -04:00
Sean Khan
55ede04914 qualcommax: NSS: introduce helper functions for NAPI threading
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:09 -04:00
Sean Khan
0996df5b06 qualcommax: clean up kernel config, align with QSDK
Cleaned up erronous settings for disabled features. The syntax should be
"# CONFIG_SOME_OPTION is not set", rather than simply commenting it out.

Removed left over config options from 5.15, and enabled features
recommended by QSDK:

```
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_MULTI_IRQ_HANDLER=y
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_HZ_FIXED=0
CONFIG_NO_HZ=y
```

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:09 -04:00
Sean Khan
777260b609 qualcommax: Fix threaded NAPI scheduling
Revert to using the default kernel timer (CONFIG_HZ_100).

Setting the timer to 1000hz is unecessary and just adds CPU overhead. It
also causes atomic scheduling issues in various threaded tasks,
especially when using threaded NAPI.

When the kernel timer frequency is set to 1000 Hz, it generates interrupts
1000 times per second. This increased frequency can lead to more
frequent context switches and interrupt handling, which can
interfere with other kernel activities.

Since network packet processing is offloaded to the NSS cores, the main CPU
does not need high-resolution timer interrupts to manage network
traffic efficiently. The NSS cores handle this independently.

This is the setting used and recommended by Qualcomm for all their IPQ
platforms.

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:09 -04:00
Sean Khan
976b191d1f ath11k_nss: Add mac80211 based AQL support
Add wake_tx_queue mac op to support AQL and support
txq dequeueing from mac80211. Also implement a
simple scheduler for pulling all skbs from txqs
of all AC's at the end of tx completion NAPI.

Tested-on: IPQ5018 hw1.0 AHB WLAN.HK.2.6.0.1-00861-QCAHKSWPL_SILICONZ-1

Signed-off-by: Tamizh Chelvam Raja <quic_tamizhr@quicinc.com>

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:09 -04:00
Sean Khan
0855540311 wifi_nss: Add threaded NAPI for ath10k and ath11k
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:08 -04:00
Sean Khan
8beb7d5d26 ath11k_nss: Drop unnecessary iphone fix patch
Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:08 -04:00
Sean Khan
db9ba5cdb1 ath11k_nss: Organize patch order and formatting
NSS patches should always get applied last as to avoid fuzzing issues
with upstream patches.

Also cleanup patches that introduced spaces as indents vs. tabs

Signed-off-by: Sean Khan <datapronix@protonmail.com>

ath11k_nss: drop upstreamed patch

A variation of this patch 'wifi: mac80211: Use flexible array in struct ieee80211_tim_ie'
was upstreamed in commit 'e6e4d90b69027d74ba7e9a0a586b95a5714e10c0'.
Remove it to avoid compilation issues.

Signed-off-by: Sean Khan <datapronix@protonmail.com>

ath11k_nss: Fix patch conflict

Signed-off-by: Sean Khan <datapronix@protonmail.com>
2024-10-11 19:19:08 -04:00