aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: sync rx STP fix with updated versionFelix Fietkau2022-10-071-12/+14
| | | | | | Add back skb length check and fix a minor issue in protocol detection Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix issues with receiving small STP packetsFelix Fietkau2022-10-072-0/+122
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix compile error when mesh is disabledKoen Vandeputte2022-10-041-1/+3
| | | | | | | | | | | | | | | | | | | This fixes following compile error seen when building mac80211 with mesh disabled: .../backports-5.15.58-1/net/mac80211/agg-rx.c: In function 'ieee80211_send_addba_resp': ...backports-5.15.58-1/net/mac80211/agg-rx.c:255:17: error: 'struct sta_info' has no member named 'mesh' 255 | if (!sta->mesh) | ^~ sta_info.h shows this item as being optional based on flags: struct mesh_sta *mesh; Guard the check to fix this. Fixes: f96744ba6b ("mac80211: mask nested A-MSDU support for mesh") Signed-off-by: Koen Vandeputte <koen.vandeputte@citymesh.com>
* mac80211: mask nested A-MSDU support for meshDavid Bauer2022-10-021-0/+31
| | | | | | | | | | | | mac80211 incorrectly processes A-MSDUs contained in A-MPDU frames. This results in dropped packets and severely impacted throughput. As a workaround, don't indicate support for A-MSDUs contained in A-MPDUs. This improves throughput over mesh links by factor 10. Ref: https://github.com/openwrt/mt76/issues/450 Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: fix decap offload for stations on AP_VLAN interfacesFelix Fietkau2022-09-301-0/+37
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix parameter reading for AC_BE tx burstingAlberto Martinez-Alvarez2022-09-241-2/+2
| | | | | | | | | | | | | | | The "tx_burst" option which should control the value was expecting more of a list and hence tx_queue_data2_burst value wasn't updated. Yes, it would make sense to have a list for this, the existing code only updates tx_queue_data2_burst and not the other tx_queue_data[0134]_burst values. Signed-off-by: Alberto Martinez-Alvarez <amteza@gmail.com> (formatted commit message, wrote extra information into commit, moved tx_burst to existing json_get_vars) Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* mac80211: remove broken CFG80211_WEXT select from the r8723bs driverFelix Fietkau2022-09-231-0/+10
| | | | | | Fixes a build error Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: mark lib80211 as hiddenFelix Fietkau2022-09-231-0/+1
| | | | | | | Prevents build errors by ensuring that it is only selected when a wext based driver that needs it is also selected Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: disable drivers that rely on wireless extensionsFelix Fietkau2022-09-223-0/+5
| | | | | | They are unmaintained and don't work properly with current wifi scripts Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: disable wireless extensions only when neededFelix Fietkau2022-09-221-1/+0
| | | | | | They are only needed by a few very old drivers Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: rt2x00: replace patches with v3 of pending seriesDaniel Golle2022-09-1827-544/+938
| | | | | | | See also patchwork for submission progress: https://patchwork.kernel.org/project/linux-wireless/cover/cover.1663445157.git.daniel@makrotopia.org/ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: rt2x00: fix typoSungbo Eo2022-09-182-5/+3
| | | | | | Add missing semicolon and refresh patches. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* mac80211: clean and submit a bunch of rt2x00 patchesDaniel Golle2022-09-1719-680/+791
| | | | | | | | | | Clean and submit patches, mostly related to MT7620 to linux-wireless mailing list: https://patchwork.kernel.org/project/linux-wireless/list/?series=677770 Replace local patches with now submitted versions. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: merge upstream fixesKoen Vandeputte2022-09-163-0/+179
| | | | | | fetched from upstream kernel v5.15.67 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* mac80211: merge pending fixes for tx queueing issuesFelix Fietkau2022-09-152-0/+87
| | | | | | Fixes a potential deadlock and a tx queue hang on STA assoc Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: rt2x00: experimental improvements for MT7620 wifiDaniel Golle2022-09-121-0/+423
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Serge Vasilugin reports: To improve mt7620 built-in wifi performance some changes: 1. Correct BW20/BW40 switching (see comments with mark (1)) 2. Correct TX_SW_CFG1 MAC reg from v3 of vendor driver see https://gitlab.com/dm38/padavan-ng/-/blob/master/trunk/proprietary/rt_wifi/rtpci/3.0.X.X/mt76x2/chips/rt6352.c#L531 3. Set bbp66 for all chains. 4. US_CYC_CNT init based on Programming guide, default value was 33 (pci), set chipset bus clock with fallback to cpu clock/3. 5. Don't overwrite default values for mt7620. 6. Correct some typos. 7. Add support for external LNA: a) RF and BBP regs never be corrected for this mode b) eLNA is driven the same way as ePA with mt7620's pin PA but vendor driver explicitly pin PA to gpio mode (for forrect calibration?) so I'm not sure that request for pa_pin in dts-file will be enough First 5 changes (really 2) improve performance for boards w/o eLNA/ePA. Changes 7 add support for eLNA Configuration w/o eLAN/ePA and with eLNA show results tx/rx (from router point of view) for each stream: 35-40/30-35 Mbps for HT20 65-70/60-65 Mbps for HT40 Yes. Max results for 2T2R client is 140-145/135-140 with peaks 160/150, It correspond to mediatek driver results. Boards with ePA untested. Reported-by: Serge Vasilugin <vasilugin@yandex.ru> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: add patch descriptions to rt2x00 patchesDaniel Golle2022-09-126-1/+76
| | | | | | | Prepare patches for sending upstream by adding patch descriptions generated from the original OpenWrt commits adding each patch. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: parse the correct set of HE capabilities for AP modeSultan Alsawaf2022-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | It is common for 802.11ax NICs to support more than just AP mode, which results in there being a distinct set of HE capabilities for each mode. As (bad) luck would have it, iw prints out info for each HE mode in sequential order according to `enum nl80211_iftype`, and AP mode isn't always first. As a result, the wrong set of HE capabilities can be parsed if an AP NIC supports station (managed) mode or any other mode preceding AP mode, since only the first set of HE capabilities printed by iw is parsed from awk's output. This has a noticeable impact on beamforming for example, since managed mode usually doesn't have beamformer capabilities enabled, while AP mode does. Hostapd won't be set up with the configs to enable beamformer capabilities in this scenario, causing hostapd to disable beamforming to HE stations even when it's supported by the AP. Always parse the correct set of HE capabilities for AP mode to fix this. This is achieved by trimming all of iw's output prior to the AP mode capabilities, which ensures that the first set of HE capabilities are always for AP mode. Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
* base-files: wifi: add random MAC support for wifi-ifaceManas Sambhus2022-08-112-3/+6
| | | | | | | | | Add support for randomly generating a MAC address for a wifi-iface instance by setting `macaddr` to `random` When set to `random`, a new locally administered unicast MAC address is generated and assigned to the iface everytime it is (re-)configured Signed-off-by: Manas Sambhus <manas.sambhus+github@gmail.com>
* mac80211: backport upstream fix for unitialized lock usageKoen Vandeputte2022-08-081-0/+46
| | | | | | | | | | | | | | | Backports upstream fix from 5.19 lockdep complains use of uninitialized spinlock at ieee80211_do_stop() [1], for commit f856373e2f31ffd3 ("wifi: mac80211: do not wake queues on a vif that is being stopped") guards clear_bit() using fq.lock even before fq_init() from ieee80211_txq_setup_flows() initializes this spinlock. According to discussion [2], Toke was not happy with expanding usage of fq.lock. Since __ieee80211_wake_txqs() is called under RCU read lock, we can instead use synchronize_rcu() for flushing ieee80211_wake_txqs(). Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* mac80211: Update to version 5.15.58-1Hauke Mehrtens2022-07-3130-247/+91
| | | | | | | | This updates mac80211 to version 5.15.58-1 which is based on kernel 5.15.58. The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: fix AQL issue with multicast trafficFelix Fietkau2022-07-131-0/+30
| | | | | | Exclude multicast from pending AQL budget Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: enable CONFIG_BRCMFMAC_SDIO for imx/cortexa7Lech Perczak2022-07-111-0/+1
| | | | | | | TechNexion PICO-PI-IMX7D uses BCM4339 Wi-Fi interface in SDIO mode. Enable SDIO support for imx/cortexa7 to fully support it in images. Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
* mac80211: Add DRIVER_11AX_SUPPORT dependency to mac80211-hwsim and iwlwifiHauke Mehrtens2022-07-032-2/+2
| | | | | | | The mac80211-hwsim and the Intel iwlwifi driver support ieee80211ax, add the missing DRIVER_11AX_SUPPORT dependency too. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: rename patch to avoid duplicate patch numberFelix Fietkau2022-07-021-0/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix mesh queue selection issueFelix Fietkau2022-07-021-0/+28
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: read alternative brcm fw names from DTStijn Tintel2022-07-011-0/+205
| | | | | | This patch is required for the Raspberry Pi Zero 2 W. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* mac80211: add patch for mwifiex to fix cryptic errors/warningsJosef Schlehofer2022-06-291-0/+200
| | | | | | | | | | | | | | | In Turris MOX SDIO card [1], which uses Marvell 88W997 and its driver mwifiex, you might get cryptic messages, which are not helpful to use. @pali created patch, which improves messages by the driver and he will send this to Linux kernel soon. Before: [ 81.026156] mwifiex_sdio mmc1:0001:1: CMD_RESP: cmd 0x20 error, result=0x1 After: [ 15.784018] mwifiex_sdio mmc1:0001:1: CMD_RESP: cmd RF_ANTENNA (0x20) error, result=0x1 Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
* mac80211: mwl: add patch to raise global limit of SSID up to 4Josef Schlehofer2022-06-291-0/+46
| | | | | | | SDIO chip 88W9997 from NXP [1] is quite limited by its firmware and driver. Add hacky patch to allow up to 4 SSID instead of 3 SSID. Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
* hostapd: introduce min_tx_power optionStijn Tintel2022-06-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce a new option min_tx_power to configure the minimum permitted max TX power (in dBm) for ACS and DFS channel selection. Imagine the following regulatory rules: * 5180 MHz [36] (21.0 dBm) * 5200 MHz [40] (21.0 dBm) * 5220 MHz [44] (21.0 dBm) * 5240 MHz [48] (21.0 dBm) * 5260 MHz [52] (20.0 dBm) (radar detection) * 5280 MHz [56] (20.0 dBm) (radar detection) * 5300 MHz [60] (20.0 dBm) (radar detection) * 5320 MHz [64] (20.0 dBm) (radar detection) * 5500 MHz [100] (21.0 dBm) (radar detection) * 5520 MHz [104] (21.0 dBm) (radar detection) * 5540 MHz [108] (21.0 dBm) (radar detection) * 5560 MHz [112] (21.0 dBm) (radar detection) * 5580 MHz [116] (21.0 dBm) (radar detection) * 5600 MHz [120] (21.0 dBm) (radar detection) * 5620 MHz [124] (21.0 dBm) (radar detection) * 5640 MHz [128] (21.0 dBm) (radar detection) * 5660 MHz [132] (21.0 dBm) (radar detection) * 5680 MHz [136] (21.0 dBm) (radar detection) * 5700 MHz [140] (21.0 dBm) (radar detection) * 5720 MHz [144] (13.0 dBm) (radar detection) * 5745 MHz [149] (13.0 dBm) * 5765 MHz [153] (13.0 dBm) * 5785 MHz [157] (13.0 dBm) * 5805 MHz [161] (13.0 dBm) * 5825 MHz [165] (13.0 dBm) * 5845 MHz [169] (13.0 dBm) * 5865 MHz [173] (13.0 dBm) When ACS or DFS end up selecting channel 144 or higher, some clients might no longer be able to communicate with the AP due to the TX power being limited to 13 dBm. Setting min_tx_power to 20 will result in hostapd not considering these channels during ACS or after a DFS event. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: David Bauer <mail@david-bauer.net>
* hostapd: introduce background_radar optionStijn Tintel2022-06-281-1/+6
| | | | | | | | | | | | | | Introduce a new option background_radar to toggle hostapd's background radar feature. Enabling this allows DFS CAC to run on dedicated radio RF chains while the radio(s) are otherwise running normal AP activities on other channels. As OpenWrt configures hostapd to use a channel list even when a single channel is configured, using this feature requires a list of channels in /etc/config/wireless. Alternatively, channel can be set to auto. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: David Bauer <mail@david-bauer.net>
* ath10k: enable encapsulation offload by defaultTiago Gaspar2022-06-271-1/+2
| | | | | | | | | | | | | | Enable ath10k offload by default. This improves wireless performance without requiring user configuration. This adds ath10k_core to the AUTOLOAD section so that the frame_mode paramter can be added to /etc/modules.d and passed to the driver. The frame_mode 2 enables ethernet mode on the firmware/driver. This parameter is set by passing a different value to the frame_mode value on kmod insmod. Link to the original patchset: https://patchwork.kernel.org/project/linux-wireless/cover/20220516032519.29831-1-ryazanov.s.a@gmail.com/ Signed-off-by: Tiago Gaspar <tiagogaspar8@gmail.com>
* mac80211: increase airtime scheduler quantumFelix Fietkau2022-06-261-0/+53
| | | | | | improves performance by requiring fewer iterations over tx queues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add airtime fairness improvementsFelix Fietkau2022-06-259-6/+1698
| | | | | | | | This reverts the airtime scheduler back from the virtual-time based scheduler to the deficit round robin scheduler implementation. This reduces burstiness and improves fairness by improving interaction with AQL. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: brcmfmac: allow setting MAC from NVMEM cellsTomasz Maciej Nowak2022-06-243-4/+107
| | | | | | | | | The MAC can be stored in OTP memory or in flash memory, currently the driver could read it only from OTP. Backport the patch allowing setting the MAC address from flash. Some modules have the OTP programmed but the ODM/OEM decided to overwrite it with value stored in flash. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* ath10k: backport encapsulation offload supportZhijun You2022-06-1911-20/+520
| | | | | | | | This backports encap offload support from upstream. On some ath10k devices there can be about 10% improvement on tx throughput. Users can turn it on by setting frame_mode=2. Signed-off-by: Zhijun You <hujy652@gmail.com>
* Revert "mac80211: add airtime fairness rework/fixes"Felix Fietkau2022-06-183-986/+2
| | | | | | | This reverts commit 96012227e578a0d8dcfa86823db97345e98e2c8f. Needs some more work until it is ready Signed-off-by: Felix Fietkau <nbd@nbd.name>
* Revert "mac80211: sync airtime fairness fixes with updated upstream submission"Felix Fietkau2022-06-186-239/+90
| | | | | | | This reverts commit 958785508cc802de75698607670f9a236883d24d. Needs some more work until it is ready Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: sync airtime fairness fixes with updated upstream submissionFelix Fietkau2022-06-156-90/+239
| | | | | | | | - fix ath10k latency issues - reject too large weight values - code cleanup Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: sync nl80211.h with upstreamDavid Bauer2022-06-111-0/+22
| | | | | | | | | | | | Sync nl80211.h with upstream in order to maintain parity with nl80211_copy.h shipped with hostapd. This is necessary, as currently the enum value for NL80211_EXT_FEATURE_RADAR_BACKGROUND mismatches between hostapd and mac80211. This breaks background radar capability detection in hostapd. Reported-by: Lorenzo Bianconi <lorenzo@kernel.org> Signed-off-by: David Bauer <mail@david-bauer.net>
* hostapd: randomize default BSS colorDavid Bauer2022-06-081-1/+3
| | | | | | | In case no specific BSS color is configured, set it to a random value. Signed-off-by: David Bauer <mail@david-bauer.net> Tested-by: Stijn Tintel <stijn@linux-ipv6.be>
* mac80211: add airtime fairness rework/fixesFelix Fietkau2022-06-043-2/+986
| | | | | | | latency and short-term fairness is improved by fixing the tx queue sorting so that it considers the pending AQL budget Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add a bug fix for a rare crashFelix Fietkau2022-06-021-0/+38
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: introduce BSS color collision detectionDavid Bauer2022-05-291-0/+118
| | | | | | | | | | | | | | | | | | Add ieee80211_rx_check_bss_color_collision routine in order to introduce BSS color collision detection in mac80211 if it is not supported in HW/FW (e.g. for mt7915 chipset). Add IEEE80211_HW_DETECTS_COLOR_COLLISION flag to let the driver notify BSS color collision detection is supported in HW/FW. Set this for ath11k which apparently didn't need this code. Tested-by: Peter Chiu <Chui-Hao.Chiu@mediatek.com> Co-developed-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Ryder Lee <ryder.lee@mediatek.com> Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org> Link: https://lore.kernel.org/r/a05eeeb1841a84560dc5aaec77894fcb69a54f27.1648204871.git.lorenzo@kernel.org [clarify commit message a bit, move flag to mac80211] Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: ath10k: backport bus and device specific API 1 BDF selectionRobert Marko2022-05-196-14/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some ath10k IPQ40xx devices like the MikroTik hAP ac2 and ac3 require the BDF-s to be extracted from the device storage instead of shipping packaged API 2 BDF-s. This is required as MikroTik has started shipping boards that require BDF-s to be updated, as otherwise their WLAN performance really suffers. This is however impossible as the devices that require this are release under the same revision and its not possible to differentiate them from devices using the older BDF-s. In OpenWrt we are extracting the calibration data during runtime and we are able to extract the BDF-s in the same manner, however we cannot package the BDF-s to API 2 format on the fly and can only use API 1 to provide BDF-s on the fly. This is an issue as the ath10k driver explicitly looks only for the board.bin file and not for something like board-bus-device.bin like it does for pre-cal data. Due to this we have no way of providing correct BDF-s on the fly, so lets extend the ath10k driver to first look for BDF-s in the board-bus-device.bin format, for example: board-ahb-a800000.wifi.bin If that fails, look for the default board file name as defined previously. So, backport the upstream ath10k patch. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: fix QCA9561 PA biasThibaut VARÈNE2022-04-181-0/+47
| | | | | | | | | | | | | | This patch fixes an invalid TX PA DC bias level on QCA9561, which results in a very low output power and very low throughput as devices are further away from the AP (compared to other 2.4GHz APs), following a suggestion from nbd[1]. This patch has been submitted upstream[2]. [1] https://lore.kernel.org/all/91c58969-c60e-2f41-00ac-737786d435ae@nbd.name [2] https://lore.kernel.org/linux-wireless/20220417145145.1847-1-hacks+kernel@slashdirt.org/ Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* Revert "mac80211 adjust QCA9561 PA bias"Petr Štetiar2022-04-171-18/+0
| | | | | | | | | | | | | | | This reverts commit f9ff282d17ec652d63fa2404e47bb0e15ed95b69 as during upstream patch review process nbd pointed out, that this patch needs more work: "The patch looks wrong to me. I'm pretty sure that AR_CH0_TOP2 is the correct register, the definition has an explicit check for 9561 as well. I believe this patch works by accident because it avoids writing a wrong value to that register." 1. https://lore.kernel.org/all/91c58969-c60e-2f41-00ac-737786d435ae@nbd.name Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mac80211 adjust QCA9561 PA biasThibaut VARÈNE2022-04-151-0/+18
| | | | | | | | | | | | | | | ath9k is setting the TX PA DC bias level different on QCA9561 and QCA9565 although they have the same radio IP-core, which results in a very low output power and very low throughput as devices are further away from the AP (compared to other 2.4GHz APs.) In real life testing, without this patch the 2.4GHz throughput on Yuncore XD3200 is around 10Mbps sitting close to the AP, and close to theoretical maximum with the patch applied. Signed-off-by: Clemens Hopfer <openwrt@wireloss.net> [edit commit message] Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* mac80211: backport minstrel_ht fix for legacy ratesFelix Fietkau2022-04-121-0/+61
| | | | | | Fixes OFDM rates on 5 GHz Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.15.33-1Hauke Mehrtens2022-04-1033-439/+85
| | | | | | | | | | | | | | This updates mac80211 to version 5.15.33-1 which is based on kernel 5.15.33. The removed patches were applied upstream. This new release contains many fixes which were merged into the upstream Linux kernel. This also contains the following new drivers which are needed for ath11k: * net/qrtr/ * drivers/bus/mhi/ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>