aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: add missing return code checks in AQL improvementsFelix Fietkau2020-08-212-6/+8
| | | | | | Fixes throughput issues with some drivers (e.g. ath10k) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add missing backports for building with 4.14 kernelsFelix Fietkau2020-08-142-0/+54
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: add AQL improvementsFelix Fietkau2020-08-133-0/+403
| | | | | | | Add AQL support for HE drivers. Improve assumed aggregation length based on tx rate Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: Update to version 5.8Hauke Mehrtens2020-08-1010-374/+17
| | | | | | The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: fix spurious disconnect issues with disassoc_low_ack=1 (default)Felix Fietkau2020-08-091-0/+116
| | | | | | | | | | mac80211 reports a packet loss event to user space when 50 consecutive packets were not acked. On a high throughput link with long aggregates and sudden link changes, this can trigger way too easily. Mitigate false positives by only triggering the event on a packet loss if no ACK was received for at least a second Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: exchange mesh 6GHz IE patch for upstream acceptedDavid Bauer2020-08-082-28/+64
| | | | | | | | | | Exchange the patch fixing the kernel ringbuffer WARNING flood for the one accepted upstream. Fixes commit a956c14d6aa4 ("mac80211: util: don't warn on missing sband iftype data") Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: merge performance improvement patchesFelix Fietkau2020-08-063-0/+260
| | | | | | | Fix fq_codel performance issues Add a new rx function for batch processing Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix AQL issuesFelix Fietkau2020-08-062-0/+112
| | | | | | | - Remove bogus STA txq pending airtime underflow warning - Improve tx airtime estimation for A-MPDU traffic Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: make cfg80211 testmode support optional (and disabled by default)Felix Fietkau2020-08-061-1/+16
| | | | | | | Testmode commands are typically only used for manufacturing or vendor specific debugging features, so they should not be in the default image Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: don't kill wireless daemon on teardownDavid Bauer2020-07-311-2/+0
| | | | | | | | Don't kill the wireless daemon on teardown. hostapd as well as wpa_supplicant are managed by procd which would detect the shutdown of either process as a crash loop. Signed-off-by: David Bauer <mail@david-bauer.net>
* hostapd: fix incorrect service nameDavid Bauer2020-07-311-1/+1
| | | | | | | | | | | | | | When retrieving the PID for hostapd and wpa_supplicant via ubus the wrong service name is currently used. This leads to the following error in the log: netifd: radio0 (1409): WARNING (wireless_add_process): executable path /usr/sbin/wpad does not match process path (/proc/exe) Fixing the service name retrieves the correct PID and therefore the warning won't occur. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: util: don't warn on missing sband iftype dataDavid Bauer2020-07-251-0/+28
| | | | | | | | | | | The kernel currently floods the ringbuffer with warnings when adding a mesh interface for a device not support HE 6GHz modes. Return without warning in this case, as mesh_add_he_6ghz_cap_ie calls ieee80211_ie_build_he_6ghz_cap regardless of the supported interface modes. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: Update to version 5.8-rc2-1Hauke Mehrtens2020-07-2339-380/+377
| | | | | | | | | | | | | | | | | | | | | | | | The following patches: * 972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch * 973-ath10k_fix-band_center_freq-handling-for-VHT160-in-recent-firmwares.patch are replaced by this commit in the upstream kernel: * 3db24065c2c8 ("ath10k: enable VHT160 and VHT80+80 modes") The following patches were applied upstream: * 001-rt2800-enable-MFP-support-unconditionally.patch * 090-wireless-Use-linux-stddef.h-instead-of-stddef.h.patch The rtw88 driver is now split into multiple kernel modules, just put it all into one OpenWrt kernel package. rtl8812au-ct was patched to compile against the mac80211 from kernel 5.8, but not runtime tested. Add a patch which fixes ath10k on IPQ40XX, this patch was send upstream and fixes a crash when loading ath10k on this SoC. Tested-by: Stefan Lippers-Hollmann <s.l-h@gmx.de> [ipq40xx/ map-ac2200] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.7.5-1Hauke Mehrtens2020-07-2312-23/+23
| | | | | | The b43 and b43legacy driver now support DRIVER_11W_SUPPORT. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: create channel list for fixed channel operationDavid Bauer2020-07-201-0/+3
| | | | | | | | | | | | Currently a device which has a DFS channel selected using the UCI channel setting might switch to a non-DFS channel in case no chanlist is provided (UCI setting "channels") when the radio detects a DFS event. Automatically add a chanlist consisting of the configured channel when the device does not operate in auto-channel mode and no chanlist set to circumvent this issue. Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: rt2x00: define RF5592 in init_eeprom routineDaniel Golle2020-07-103-3/+54
| | | | | | | | | | | Make sure RF5592 is set for RT5592 chip which apparently sometimes doesn't have RF defined (but always comes with RF5592). This patch was originally submitted on linux-wireless by Tom Psyborg <pozega.tomislav@gmail.com> but got rejected. Turns out the patch is actually needed. Reported-by: Sebastian Gottschall <s.gottschall@dd-wrt.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: allow ACS restriction with fixed channelJan Hoffmann2020-07-061-1/+1
| | | | | | | | | | | This can be useful when a DFS channel is configured, as the ACS channel list is taken into account when switching channels after a radar event. For example, this allows to prevent the SRD channels from being used in that case. Signed-off-by: Jan Hoffmann <jan@3e8.eu> [reorder structure] Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: ath9k: enable MFP capability unconditionallyDavid Bauer2020-06-251-0/+34
| | | | | | | | | | ath9k will already fallback on software-crypto for chipsets not supporting IEEE802.11w (MFP). So advertising MFP is not dependent on disabling HW crypto for all traffic entirely. Tested on Sonicwall SonicPoint Ni (AR9132) Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: fix use of local variableLeon M. George2020-06-241-1/+1
| | | | | | | | | | mac80211_get_addr is called from mac80211_generate_mac, where the local variable initialisation id="${macidx:-0}" suggests that macidx is not always defined. Probably, idx was supposed to be used instead of $(($macidx + 1)). Fixes: 4d99db168cf7 ("mac80211: try to get interface addresses from wiphy sysfs 'addresses' if no mask is set") Signed-off-by: Leon M. George <leon@georgemail.eu>
* mac80211: ath9k: enable adding wireless noise to kernel entropy poolAlan Swanson2020-06-181-0/+8
| | | | | | | | | | This option allows adding the ath9k ADC register output as a source of randomness into the Linux entropy pool at sufficient quality random data (at least 10 bits and up to 22 bits of min-entropy for a 32-bit value). Fixes FS#1444 Signed-off-by: Alan Swanson <reiver@improbability.net>
* hostapd: add support for wifi-station and wifi-vlan sectionsJohn Crispin2020-06-041-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for 2 new uci sections. config wifi-vlan # iface is optional. if it is not defined the vlan will apply # to all interfaces option iface default_radio0 option name guest option vid 100 option network guest config wifi-station # iface is optional. if it is not defined the station will apply # to all interfaces option iface default_radio0 # mac is optional. if it is not defined it will be a catch all # for any sta using this key option mac '00:11:22:33:44:55' # vid is optional. if it is not defined, the sta will be part of # the primary iface. option vid 100 option key testtest With this patch applied it is possible to use multiple PSKs on a single BSS. Signed-off-by: John Crispin <john@phrozen.org>
* mac80211: fix wifi teardownJohn Crispin2020-05-301-4/+6
| | | | | | reverts part of the recent wifi reconf patch. Signed-off-by: John Crispin <john@phrozen.org>
* mac80211: rt2x00: backport patch enabling MFPDaniel Golle2020-05-301-0/+44
| | | | | | | | | | | | From: Rui Salvaterra <rsalvaterra@gmail.com> Date: Mon, 25 May 2020 14:49:07 +0100 Subject: [PATCH] rt2800: enable MFP support unconditionally This gives us WPA3 support out of the box without having to manually disable hardware crypto. The driver will fall back to software crypto if the connection requires management frame protection. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Fix setting radio htmode when using mesh modeEnrique Rodríguez Valencia2020-05-281-0/+1
| | | | | | | When configuring the radio in legacy mode from luci, the htmode is not set correctly to NOHT, causing the radio in mesh mode to be set to HT40. Signed-off-by: Enrique Rodríguez Valencia <enrique.rodriguez@galgus.net>
* mac80211: Fix build on mpc85xx targetHauke Mehrtens2020-05-212-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes the following compile error seen on the mpc85xx target: CC [M] /linux-mpc85xx_p2020/backports-5.7-rc3-1/drivers/net/wireless/intersil/orinoco/main.o In file included from /builder/shared-workdir/build/staging_dir/toolchain-powerpc_8540_gcc-8.4.0_musl/include/stddef.h:17, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/include/uapi/linux/wireless.h:77, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/include/linux/wireless.h:13, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/drivers/net/wireless/intersil/orinoco/main.c:89: /builder/shared-workdir/build/staging_dir/toolchain-powerpc_8540_gcc-8.4.0_musl/include/bits/alltypes.h:106:15: error: conflicting types for 'ptrdiff_t' typedef _Addr ptrdiff_t; ^~~~~~~~~ In file included from /linux-mpc85xx_p2020/backports-5.7-rc3-1/backport-include/linux/types.h:4, from ./include/linux/list.h:5, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/backport-include/linux/list.h:3, from ./include/linux/module.h:9, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/backport-include/linux/module.h:3, from /linux-mpc85xx_p2020/backports-5.7-rc3-1/drivers/net/wireless/intersil/orinoco/main.c:79: ./include/linux/types.h:65:28: note: previous declaration of 'ptrdiff_t' was here typedef __kernel_ptrdiff_t ptrdiff_t; ^~~~~~~~~ scripts/Makefile.build:265: recipe for target '/linux-mpc85xx_p2020/backports-5.7-rc3-1/drivers/net/wireless/intersil/orinoco/main.o' failed Fixes: 289c6324259e ("mac80211: Update to version 5.7-rc3-1") Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.7-rc3-1Hauke Mehrtens2020-05-2123-291/+140
| | | | | | | | | | | This updates the mac80211 backport. The removed patches are already integrated in the upstream version. The 131-Revert-mac80211-aes-cmac-switch-to-shash-CMAC-driver.patch patch was manually adapted to the changes in kernel 5.7. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.6.8-1Hauke Mehrtens2020-05-2138-1419/+58
| | | | | | | | This updates the mac80211 backport. The removed patches are already integrated in the upstream version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.5.19Hauke Mehrtens2020-05-2142-2895/+369
| | | | | | | | This updates the mac80211 backport. The removed patches are already integrated in the upstream version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Update to version 5.4.36-1Hauke Mehrtens2020-05-2117-198/+50
| | | | | | | | | This updates the mac80211 backport to the latest minor version. The removed patch was a backport from the upstream kernel which is now integrated. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: replace backticks by $(...)Adrian Schmutzler2020-05-132-2/+2
| | | | | | This replaces deprecated backticks by more versatile $(...) syntax. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* mac80211: distance config: allow "auto" as a valueAli MJ Al-Nasrawy2020-05-091-1/+2
| | | | | | | | | The user can now enable the ACK timeout estimation algorithm (dynack) for drivers that support it. It is also expected that the distance config accepts the same values as: $ iw phyX set distance XXX Signed-off-by: Ali MJ Al-Nasrawy <alimjalnasrawy@gmail.com>
* mac80211: more wifi reconf related fixesJohn Crispin2020-05-041-18/+24
| | | | | | | | | | | * uci state was not getting reset properly during teardown * AP+STA co-exist state was not flushed properly upon channel switch * remove a debug logger call * properly teardown supplicant instances when they get disabled * add md5 config support for supplicant * don't call wpa_supplicant_prepare_interface twice Signed-off-by: John Crispin <john@phrozen.org>
* mac80211: ath10k: increase rx buffer size to 2048Linus Lüssing2020-04-262-1/+38
| | | | | | | | | | | | | | | | | | | | | | | Before, only frames with a maximum size of 1528 bytes could be transmitted between two 802.11s nodes. For batman-adv for instance, which adds its own header to each frame, we typically need an MTU of at least 1532 bytes to be able to transmit without fragmentation. This patch now increases the maxmimum frame size from 1528 to 1656 bytes. Tested with two ath10k devices in 802.11s mode, as well as with batman-adv on top of 802.11s with forwarding disabled. Fix originally found and developed by Ben Greear. Link: https://github.com/greearb/ath10k-ct/issues/89 Link: https://github.com/greearb/ath10k-ct/commit/9e5ab25027e0971fa24ccf93373324c08c4e992d Cc: Ben Greear <greearb@candelatech.com> Signed-off-by: Linus Lüssing <ll@simonwunderlich.de> Signed-off-by: Sven Eckelmann <sven@narfation.org>
* mac80211: make sure existing iface belongs to correct (fullmac) phyDaniel Golle2020-04-172-9/+19
| | | | | | | | | | | | | | Some FullMAC cfg80211 wireless devices do not support virtual interfaces, hence there is script logic to keep the existing network device. Improve this to support renaming the interface if needed and make sure the existing interface actually belongs to the right phy. Change calls to 'iw' to avoid outputing warnings and errors to not confuse users of such devices. Also bump PKG_RELEASE which has been forgotten in the previous two mac80211 changes. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: drop data frames without key on encrypted linksDavid Bauer2020-04-171-0/+148
| | | | | | | | | | | | | | | | | | | | | | | | | If we know that we have an encrypted link (based on having had a key configured for TX in the past) then drop all data frames in the key selection handler if there's no key anymore. This fixes an issue with mac80211 internal TXQs - there we can buffer frames for an encrypted link, but then if the key is no longer there when they're dequeued, the frames are sent without encryption. This happens if a station is disconnected while the frames are still on the TXQ. Detecting that a link should be encrypted based on a first key having been configured for TX is fine as there are no use cases for a connection going from with encryption to no encryption. With extended key IDs, however, there is a case of having a key configured for only decryption, so we can't just trigger this behaviour on a key being configured. Cc: stable@vger.kernel.org Reported-by: Jouni Malinen <j@w1.fi> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: David Bauer <mail@david-bauer.net>
* mac80211: fix detecting existing interfaceDaniel Golle2020-04-171-1/+1
| | | | | | | | | Instead of using the actual interface name, a hard-coded 'wlan0' has slipped into the script. Replace it. Fixes: ccf2aa9d4b ("mac80211: detect existing interface before adding") Reported-by: John Crispin <john@phrozen.org> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: adapt for single-instance wpadDaniel Golle2020-04-142-8/+8
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: rt2x00: prune more unnecessary exportsDaniel Golle2020-04-015-137/+27
| | | | | | | | | | | | The calibration patches for MT7620 unnecessarily export symbols and populate never accessed function pointers. Remove all that and make functions static as the only place where each of those functions is called is within rt2800lib.c. Also make code more readable by fixing indentation, removing unnecessary parantheses and simplifying some instructions using shorthands here and there. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Update to version 5.4.27Hauke Mehrtens2020-03-2938-654/+57
| | | | | | The removed patches are all integrated in the upstream version now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: Fix rt2x00 exportsHauke Mehrtens2020-03-292-17/+6
| | | | | | | | | | | | | | | | | | | Do not export static functions, they are anyway not referenced by any code in a different module. This fixes the following compile warning: WARNING: "rt2800_rf_aux_tx0_loopback" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_write_dc" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_configstore" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_do_sqrt_accumulation" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_configrecover" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_loft_search" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_iq_search" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_setbbptonegenerator" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL WARNING: "rt2800_rf_aux_tx1_loopback" [/drivers/net/wireless/ralink/rt2x00/rt2800lib] is a static EXPORT_SYMBOL_GPL Acked-by: Daniel Golle <daniel@makrotopia.org> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: rtl8723bs: fix missing MMC dependencyPetr Štetiar2020-03-281-1/+1
| | | | | | | | | | | | Building of ath79-tiny has uncovered following: Package kmod-rtl8723bs is missing dependencies for the following libraries: mmc_core.ko So add this missing dependency. Fixes: 8c26d67a67d0 ("mac80211: realtek: add staging driver for RTL8723BS SDIO module") Signed-off-by: Petr Štetiar <ynezz@true.cz>
* mac80211: realtek: add staging driver for RTL8723BS SDIO modulePetr Štetiar2020-03-281-1/+18
| | | | | | | Adds kernel module for Realtek RTL8723BS SDIO Wireless LAN NIC driver available in the staging. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* hostapd: fix no_reload logicJohn Crispin2020-03-271-2/+4
| | | | | | | the code would unconditionally tear down all interfaces upon a reconf. This should only be done when the reconf call fails. Signed-off-by: John Crispin <john@phrozen.org>
* mac80211: fix brcmfmac monitor interface crashRafał Miłecki2020-03-272-1/+101
| | | | | | | This fixes bug in brcmfmac *exposed* by ipv6/addrconf fix. Fixes: ec8e8e2ef082 ("kernel: backport out-of-memory fix for non-Ethernet devices") Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: do not try to setup hostapd-managed interfaces.Oldřich Jedlička2020-03-201-7/+11
| | | | | | | | | | | | | | | | | | | | | | For virtual access points (when multiple SSIDs are used for one physical AP), there exist one physical network interface and multiple virtual interfaces, which are fully under control of hostapd. When networking is setup, the script `/lib/netifd/wireless/mac80211.sh` is called, which tries to bring the interface up by a call to `ip link set dev <iface> up`. This call might fail for virtual APs, because the virtual interface might not have been created by hostapd yet. There are some artifical delays in the script most probably to handle this, but when DFS channel availability check on 5GHz band is issued, hostapd can delay creating virtual interfaces by a minute. In order to fix this (or work around it), do not try to bring the interface up (this is responsibility of hostapd anyway) and do not try to set txpower on the virtual interface. Fixes FS#2698. Signed-off-by: Oldřich Jedlička <oldium.pro@gmail.com>
* mac80211: fix symbol dependency of rt2x00lib kernel moduleSven Over2020-03-071-2/+8
| | | | | | | | | | | | On platforms that do not have CONFIG_MTD enabled, loading the rt2x00lib kernel module fails because it depends on symbols from the mtd module ("Unknown symbol get_mtd_device_nm"). This commit disables the code that can read the eeprom from mtd if mtd is not enabled. Signed-off-by: Sven Over <sp@cedenti.st> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: enhance wifi reloadJohn Crispin2020-02-251-1/+8
| | | | | | If the reconf call fails force a full restart of the radio. Signed-off-by: John Crispin <john@phrozen.org>
* mac80211: Allow IBSS mode and different beacon intervalsHauke Mehrtens2020-02-241-0/+29
| | | | | | | | ath10k-ct supports the combination to select IBSS (ADHOC) mode and different beacon intervals together. mac80211 does not like this combination, but Ben says this is ok, so remove this check. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: backport fix TID field in monitor mode transmitFredrik Olofsson2020-02-221-0/+45
| | | | | | Backport 753ffad3d6243303994227854d951ff5c70fa9e0 as merged in Linux v5.5-rc3. Signed-off-by: Fredrik Olofsson <fredrik.olofsson@anyfinetworks.com>
* brcm2708: rename target to bcm27xxAdrian Schmutzler2020-02-141-1/+1
| | | | | | | | | | | | | | | | | This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Despite, since subtargets range from bcm2708 to bcm2711, it seems appropriate to use bcm27xx instead of bcm2708 (again, as already done for BOARDNAME). This also renames the packages brcm2708-userland and brcm2708-gpu-fw. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Álvaro Fernández Rojas <noltari@gmail.com>