aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: backport fix for nl80211 control port tx (fixes FS#3857)Felix Fietkau2021-06-307-17/+133
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix a regression in starting aggregation sessions on mesh interfacesFelix Fietkau2021-06-291-0/+112
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: print an error if wifi teardown failsBob Cantor2021-06-281-0/+4
| | | | | | | | | drv_mac80211_teardown fails silently if the device to be torn down is not defined. This commit prints an error message. branches affected: trunk, 21.02 Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
* mac80211: always call wireless_set_data (FS#3784)Bob Cantor2021-06-281-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When wifi is turned off, drv_mac80211_teardown sometimes fails (silently) because the device to be torn down is not defined. This situation arises if drv_mac80211_setup was called twice when wifi was turned on. This commit ensures that the device to be torn down is always defined in drv_mac80211_teardown. Steps to reproduce: 1) Use /sbin/wifi to turn on wifi. uci set wireless.@wifi-iface[0].disabled=0 uci set wireless.@wifi-device[0].disabled=0 uci commit wifi 2) Use /sbin/wifi to turn off wifi. uci set wireless.@wifi-device[0].disabled=1 uci commit wifi 3) Observe that wifi is still up. branches affected: trunk, 21.02 Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
* mac80211: fix no_reload logic (FS#3902)Bob Cantor2021-06-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If drv_mac80211_setup is called twice with the same wifi configuration, then the second call returns early with error HOSTAPD_START_FAILED. (wifi works nevertheless, despite the fact that setup is incomplete. But "ubus call network.wireless status" erroneously reports that radio0 is down.) The relevant part of drv_mac80211_setup is, if [ "$no_reload" != "0" ]; then add_ap=1 ubus wait_for hostapd local hostapd_res="$(ubus call hostapd config_add "{\"iface\":\"$primary_ap\", \"config\":\"${hostapd_conf_file}\"}")" ret="$?" [ "$ret" != 0 -o -z "$hostapd_res" ] && { wireless_setup_failed HOSTAPD_START_FAILED return } wireless_add_process "$(jsonfilter -s "$hostapd_res" -l 1 -e @.pid)" "/usr/sbin/hostapd" 1 1 fi This commit sets no_reload = 0 during the second call of drv_mac80211_setup. It is perhaps worth providing a way to reproduce the situation where drv_mac80211_setup is called twice. When /sbin/wifi is used to turn on wifi, uci set wireless.@wifi-iface[0].disabled=0 uci set wireless.@wifi-device[0].disabled=0 uci commit wifi /sbin/wifi makes the following ubus calls, ubus call network reload ubus call network.wireless down ubus call network.wireless up The first and third ubus calls both call drv_mac80211_setup, while the second ubus call triggers wireless_device_setup_cancel. So the call sequence becomes, drv_mac80211_setup wireless_device_setup_cancel drv_mac80211_setup In contrast, when LuCI is used to turn on wifi only a single call is made to drv_mac80211_setup. branches affected: trunk, 21.02 Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
* mac80211: fix an issue with wds links on 802.11ax devicesFelix Fietkau2021-06-191-0/+51
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: remove extra patch accidentally added during rebaseFelix Fietkau2021-06-181-888/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: remove patches stripping down crypto supportFelix Fietkau2021-06-1812-978/+895
| | | | | | | | Use of WPA3 and things like FILS is getting much more common, and platforms that can't affort the extra kilobytes for this code are fading away. Let's not hold back modern authentication methods any longer Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: system hang caused by deferring calls into minstrel to dequeueFelix Fietkau2021-06-174-40/+127
| | | | | | Move the aggregation check to mac80211 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix minstrel sample time checkFelix Fietkau2021-06-171-0/+23
| | | | | | | | We need to skip sampling if the next sample time is after jiffies, not before. This patch fixes an issue where in some cases only very little sampling (or none at all) is performed, leading to really bad data rates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: select iwinfoFelix Fietkau2021-06-171-1/+1
| | | | | | Since iwinfo is now used in the core scripts, it needs to be present on the system Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix processing HE capabilities (FS#3871)Felix Fietkau2021-06-171-1/+1
| | | | | | Use the right argument to fix setting unsupported capabilities to 0 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add support for 802.3 encap offload with software rate controlFelix Fietkau2021-06-122-0/+158
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: improve rate control performanceFelix Fietkau2021-06-121-0/+114
| | | | | | Call rate control handler after intermediate queueuing Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: rely on iwinfo for phy->path and path->phy lookupsFelix Fietkau2021-06-104-42/+3
| | | | | | This avoids inconsistencies from having multiple implementations do the same thing Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to backports-5.10.42Hauke Mehrtens2021-06-0634-2349/+63
| | | | | | | | | | | | The removed patches were integrated upstream. The brcmf_driver_work workqueue was removed in brcmfmac with kernel 5.10.42, the asynchronous call was covered to a synchronous call. There is no need to wait any more. This part was removed manually from this patch: brcm/860-brcmfmac-register-wiphy-s-during-module_init.patch Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: split ath patch in dedicated subdirAnsuel Smith2021-06-0449-0/+8
| | | | | | | | | | The ath patch number is already large and adding other patch for ath11k will add more confusion with the patch numbering. Since the support of ath11k based device is imminent, prepare the mac80211 ath patch dir and split it in the dedicated ath5k, ath9k, ath10k and ath11k (empty for now). Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* mac80211: fix typoFelix Fietkau2021-06-031-1/+1
| | | | | | Remove stray parenthesis Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: do not enable VHT in the default config on 2.4 GHzFelix Fietkau2021-06-021-1/+1
| | | | | | | Some drivers advertise it, but it's not supported at the moment Reported-by: John Thomson <git@johnthomson.fastmail.com.au> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix detecting VHT capabilities when generating the default configFelix Fietkau2021-06-021-1/+1
| | | | | | | The colon does not directly follow the "VHT Capabilities" string Reported-by: John Thomson <git@johnthomson.fastmail.com.au> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: sync nl80211.h with upstream and backport a WPA3 related commitFelix Fietkau2021-05-265-33/+382
| | | | | | Fixes compatibility issues with the latest hostapd update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add more HE capabilitiesFelix Fietkau2021-05-261-5/+81
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix center freq selection for 6 GHzFelix Fietkau2021-05-261-6/+20
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: set hostapd op_class for 6 GHzFelix Fietkau2021-05-261-0/+8
| | | | | | This is needed to disambiguate it from 5 GHz channels Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: rework default config scriptFelix Fietkau2021-05-261-20/+85
| | | | | | | Emit the new band option instead of hwmode Support 6 GHz band and HE options Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: make use of the new 'band' optionFelix Fietkau2021-05-261-14/+31
| | | | | | | Use it to look up frequencies only in the configured band to better deal with channel number overlap Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add 6 GHz support to mac80211_hwsimFelix Fietkau2021-05-262-0/+197
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix ATH_REG_DYNAMIC_USER_REG_HINTSRobert Marko2021-05-231-2/+2
| | | | | | | | | | | | ATH_REG_DYNAMIC_USER_REG_HINTS is currently not being set as mac80211 tries to set it as m which is not possible as its boolean only. Since its used alongside user regulatory, move it to USER_REGD. This is required for ath11k to accept regulatory changes, otherwise it wont accept any changes and will simply force US. Signed-off-by: Robert Marko <robimarko@gmail.com>
* mac80211: backport upstream fixes for FragAttacksFelix Fietkau2021-05-1223-7/+1466
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the patch series description: Several security issues in the 802.11 implementations were found by Mathy Vanhoef (New York University Abu Dhabi), who has published all the details at https://papers.mathyvanhoef.com/usenix2021.pdf Specifically, the following CVEs were assigned: * CVE-2020-24586 - Fragmentation cache not cleared on reconnection * CVE-2020-24587 - Reassembling fragments encrypted under different keys * CVE-2020-24588 - Accepting non-SPP A-MSDU frames, which leads to payload being parsed as an L2 frame under an A-MSDU bit toggling attack * CVE-2020-26139 - Forwarding EAPOL from unauthenticated sender * CVE-2020-26140 - Accepting plaintext data frames in protected networks * CVE-2020-26141 - Not verifying TKIP MIC of fragmented frames * CVE-2020-26142 - Processing fragmented frames as full frames * CVE-2020-26143 - Accepting fragmented plaintext frames in protected networks * CVE-2020-26144 - Always accepting unencrypted A-MSDU frames that start with RFC1042 header with EAPOL ethertype * CVE-2020-26145 - Accepting plaintext broadcast fragments as full frames * CVE-2020-26146 - Reassembling encrypted fragments with non-consecutive packet numbers * CVE-2020-26147 - Reassembling mixed encrypted/plaintext fragments In general, the scope of these attacks is that they may allow an attacker to * inject L2 frames that they can more or less control (depending on the vulnerability and attack method) into an otherwise protected network; * exfiltrate (some) network data under certain conditions, this is specific to the fragmentation issues. A subset of these issues is known to apply to the Linux IEEE 802.11 implementation (mac80211). Where it is affected, the attached patches fix the issues, even if not all of them reference the exact CVE IDs. In addition, driver and/or firmware updates may be necessary, as well as potentially more fixes to mac80211, depending on how drivers are using it. Specifically, for Intel devices, firmware needs to be updated to the most recently released versions (which was done without any reference to the security issues) to address some of the vulnerabilities. To have a single set of patches, I'm also including patches for the ath10k and ath11k drivers here. We currently don't have information about how other drivers are, if at all, affected. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.10.34-1Hauke Mehrtens2021-05-0421-188/+48
| | | | | | The removed patches were applied upstream and are not needed anymore. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211/rtl: backport a rtl8192cu AP mode fixRui Salvaterra2021-05-011-0/+118
| | | | | | | | | Running USB devices in AP mode is never a good idea. That said, fix the TIM issue in rtl8192cu [1], allowing these devices to "work" in AP mode. [1] https://patchwork.kernel.org/project/linux-wireless/patch/20210419065956.6085-1-pkshih@realtek.com/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* mac80211: minstrel_ht: fix issue in calculating success probabilityFelix Fietkau2021-04-281-0/+21
| | | | | | | Missing braces in a macro were leading to badly working rates sometimes getting a success probabilty of 1.0 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add client mode connection monitor fixFelix Fietkau2021-04-111-0/+31
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: support rx timestamps for HE ratesFelix Fietkau2021-04-111-0/+134
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: merge a few pending tx related fixesFelix Fietkau2021-03-283-0/+142
| | | | | | Improve performance and fix potential mgmt tx hangs/warnings Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: rtl: update RTL8821AE PHY/RF parametersRui Salvaterra2021-03-192-0/+819
| | | | | | | | | Create a new directory for Realtek patches and backport the updated PHY and RF parameters patch. Improves the connectivity in the 5 GHz band [1]. [1] https://patchwork.kernel.org/project/linux-wireless/patch/20210219052607.7323-1-pkshih@realtek.com/#23988567 Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* mac80211: backport upstream patches for driver disconnectFelix Fietkau2021-03-155-13/+585
| | | | | | Needed for an mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: fix spelling 'seperate' -> 'separate'Daniel Golle2021-02-281-2/+2
| | | | | | | This popular spelling mistake was also introduced by myself lately. Fix it everywhere. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Update to version 5.10.16-1Hauke Mehrtens2021-02-1512-185/+19
| | | | | | The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Refresh patches againHauke Mehrtens2021-02-1514-110/+124
| | | | | | | A wrong quilt configuration was used last time. Fixes: ed1e234d87fc ("mac80211: refresh patches") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* ath9k: fix transmitting to stations in dynamic SMPS modeFelix Fietkau2021-02-141-0/+49
| | | | | | | | | | When transmitting to a receiver in dynamic SMPS mode, all transmissions that use multiple spatial streams need to be sent using CTS-to-self or RTS/CTS to give the receiver's extra chains some time to wake up. This fixes the tx rate getting stuck at <= MCS7 for some clients, especially Intel ones, which make aggressive use of SMPS. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix a regression in processing rx statsFelix Fietkau2021-02-141-0/+28
| | | | | | | A logic error caused rx rate update to be missed for any driver not using fast-rx Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: refresh patchesFelix Fietkau2021-02-1412-102/+92
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add minstrel performance improvementsFelix Fietkau2021-02-142-0/+181
| | | | | | Reduce fluctuations in rate selection / statistics Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add decapsulation offload supportFelix Fietkau2021-02-143-2/+593
| | | | | | | On hardware that supports this, this will improve performance by passing 802.3 frames from the hardware to the stack Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix a corner case in encapsulation offload supportFelix Fietkau2021-02-141-0/+53
| | | | | | Fix encryption key selection with WEP Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add fq performace improvementsFelix Fietkau2021-02-144-1/+554
| | | | | | Improves performance under load Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.10-rc6-1Hauke Mehrtens2021-02-1453-3213/+105
| | | | | | | | | The removed patches were applied upstream. This adapts ath10k-ct and mt76 to changed APIs. nl80211.h in iw is updated to match the version from backports. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.9.12-1Hauke Mehrtens2021-02-1453-1450/+177
| | | | | | | | | | | The removed patches were applied upstream. Remove the 300-mac80211-optimize-skb-resizing.patch. This patch was not applied upstream, but it conflicts with upstream changes and needs bigger changes. It was applied with Felix to remove this patch for now. It should be reworked and then send upstream later. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* treewide: unify OpenWrt hosted source via @OPENWRTPaul Spooren2021-02-051-3/+3
| | | | | | | | | | | Multiple sources are hosted on OpenWrts source server only. The source URLs to point to the server vary based on different epochs in OpenWrts history. Replace all by @OPENWRT which is an "empty" mirror, therefore using the fallback servers sources.cdn.openwrt.org and sources.openwrt.org. Signed-off-by: Paul Spooren <mail@aparcar.org>