aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: do not enable VHT in the default config on 2.4 GHzFelix Fietkau2021-11-231-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> (cherry-picked from commit 42a99b18ff23fa768a6ae5f1076f15cbfa494f24)
* mac80211: fix detecting VHT capabilities when generating the default configFelix Fietkau2021-11-231-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> (cherry-picked from commit 3518b793a2f2293e7e9124b5beae7b09887c5e32)
* mac80211: add more HE capabilitiesFelix Fietkau2021-11-231-5/+81
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit fbd6f099f50e77d2bb95708c62e86a358779251a)
* mac80211: fix center freq selection for 6 GHzFelix Fietkau2021-11-231-6/+20
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 8d79915327b7b9ed221f513589281328e4fdc6ef)
* mac80211: set hostapd op_class for 6 GHzFelix Fietkau2021-11-231-0/+8
| | | | | | | This is needed to disambiguate it from 5 GHz channels Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit c8bcdd561909034a14cbfd785e13848cbd5f5e50)
* mac80211: rework default config scriptFelix Fietkau2021-11-231-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> (cherry-picked from commit 8504212f65865449dd6b9ed9daa0ba9781f8f287)
* mac80211: make use of the new 'band' optionFelix Fietkau2021-11-231-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> (cherry-picked from commit 8b8c1cb09bf2259e647a15d0c881b5dea15330da)
* mac80211: Update to backports-5.10.68Hauke Mehrtens2021-09-2229-135/+84
| | | | | | | | | | | | | | | | | | Refresh all patches. The removed patches were integrated upstream. This contains fixes for CVE-2020-3702 1. These patches (ath, ath9k, mac80211) were included in kernel versions since 4.14.245 and 4.19.205. They fix security vulnerability CVE-2020-3702 [1] similar to KrØØk, which was found by ESET [2]. Thank you Josef Schlehofer for reporting this problem. [1] https://nvd.nist.gov/vuln/detail/CVE-2020-3702 [2] https://www.welivesecurity.com/2020/08/06/beyond-kr00k-even-more-wifi-chips-vulnerable-eavesdropping/ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: print an error if wifi teardown failsBob Cantor2021-06-301-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> (cherry-picked from commit 3933e29d1b87c713167cf4730b68e5f18af4f140)
* mac80211: always call wireless_set_data (FS#3784)Bob Cantor2021-06-301-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> (cherry-picked from commit d515f6b6cde357bf480d32a7387f07ea40e85e52)
* mac80211: fix no_reload logic (FS#3902)Bob Cantor2021-06-301-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> (cherry-picked from commit a29ab3b79affb62fda82e0825ed811eaf482dd3c)
* 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> (cherry-picked from commit de499573006ab4f32ded9fd66a62ec5e0c183e8a)
* mac80211: add support for 802.3 encap offload with software rate controlFelix Fietkau2021-06-301-0/+119
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit f2c6d892cacb5d884bdd638bc7574c1ee98514a5)
* mac80211: improve rate control performanceFelix Fietkau2021-06-304-1/+353
| | | | | | | | | | | | Call rate control handler after intermediate queueuing Includes follow-up fixes Signed-off-by: Felix Fietkau <nbd@nbd.name> cherry-picked from commits: - 7dd8829ef915f1c5fc728be8f8360c61ddaadf1b - a603e82dd342680d584c4eb5f1b222e056379890 - 8bb4437c01ca35a5ac67e391630a1b24cb52dbb7
* mac80211: fix an issue with wds links on 802.11ax devicesFelix Fietkau2021-06-191-0/+51
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 89c9ccc3b241d8f07c22a1c271211322c4703f7b)
* 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: sync nl80211.h with upstream and backport a WPA3 related commitFelix Fietkau2021-06-174-31/+380
| | | | | | | Fixes compatibility issues with the latest hostapd update Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 91abeebd3bd29a98de516e49260d61165096009a)
* mac80211: Update to backports-5.10.42Hauke Mehrtens2021-06-0633-1532/+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> (cherry picked from commit 04a260911ca0f10a0e37c487c220e1aae3623dda)
* mac80211: backport upstream fixes for FragAttacksFelix Fietkau2021-05-1623-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/rtl: backport a rtl8192cu AP mode fixRui Salvaterra2021-05-141-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> (cherry picked from commit eeda8652f1655d4f9c11e9c9f51ddcd3377d119a)
* 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> (cherry picked from commit 17ac9849d3ff687c8c14d63e46f3e205adc22a3e)
* 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> (cherry-picked from commit 12cb52bd0665da33cb5dc64697f1751a8b33fb05)
* mac80211: add client mode connection monitor fixFelix Fietkau2021-04-111-0/+31
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit dfdb28c24aa60cf057ec45cbc11ab48ba2655f53)
* mac80211: support rx timestamps for HE ratesFelix Fietkau2021-04-111-0/+134
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 7d8e14e44f76e18d1696565569ec50ccdce963b3)
* mac80211: merge a few pending tx related fixesFelix Fietkau2021-04-043-0/+142
| | | | | | | Improve performance and fix potential mgmt tx hangs/warnings Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 571aedbc6cbb7a9bfc96bcad543a39d158925cbc)
* mac80211: backport upstream patches for driver disconnectFelix Fietkau2021-04-045-13/+585
| | | | | | | Needed for an mt76 update Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 5dc501507222b38d731b89c3311d8253b73dd0e7)
* 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>
* mac80211: fix station rate table updates on assocFelix Fietkau2021-02-011-0/+38
| | | | | | | | If the driver uses .sta_add, station entries are only uploaded after the sta is in assoc state. Fix early station rate table updates by deferring them until the sta has been uploaded Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix incorrect parameterDavid Bauer2021-02-011-1/+1
| | | | | | | he_mu_beamformer only accepts values of 0 and 1 according to the hostapd documentation. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: convert UniFi Outdoor+ HSR support to OFDavid Bauer2021-02-011-25/+10
| | | | | | | | Enable support for the Ubiquiti UniFi Outdoor+ RF filter via device-tree. The old way of using platform data is not required anymore, as it was only used on the now removed ar71xx target. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: fix an uninitialized variable warningFelix Fietkau2021-01-265-48/+51
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: minstrel_ht: fix regression in the max_prob_rate fixFelix Fietkau2021-01-261-0/+23
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: remove accidentally duplicated line in minstrel_ht patchFelix Fietkau2021-01-261-2/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add significant minstrel_ht performance improvementsFelix Fietkau2021-01-256-0/+1670
| | | | | | Completely redesign the rate sampling approach Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix rounding error in minstrel_ht throughput calculationFelix Fietkau2021-01-151-0/+34
| | | | | | Fixes rate selection with lower data rates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix an uninitialized stack variable in the minstrel updateFelix Fietkau2021-01-142-3/+11
| | | | | | It can lead to out-of-bounds access and invalid rates Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: improve error handling when adding hostapd configDaniel Golle2021-01-142-8/+8
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: use hostapd PID returned from config_addDaniel Golle2021-01-102-3/+2
| | | | | | | Use PID returned from config_add instead of querying procd when adding configuration to hostapd. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Add wil6210 driverRobert Marko2021-01-051-3/+15
| | | | | | | | | | This patch adds wil6210 driver for Wilocity/QCA based 802.11ad PCI cards. Driver uses cfg80211 and nl80211 but not mac80211. Integration for UCI and LuCI will come in other patches. Signed-off-by: Robert Marko <robimarko@gmail.com>