aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
Commit message (Collapse)AuthorAgeFilesLines
* mac80211: fix spurious disconnections with powersave clientsFelix Fietkau2018-11-131-0/+26
| | | | | | Affects all drivers using ieee80211_tx_status_noskb, e.g. ath9k and mt76 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: brcmfmac: add 2 more recent changesRafał Miłecki2018-11-093-0/+112
| | | | | | | | | | First one is a fix for reporting channels to the user space. Important for users as they could try setting invalid channel and fail to start an interface. Later is a support for newer FullMAC chipset firmwares. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: backport firmware_request_nowarn and firmware_request_cacheFelix Fietkau2018-11-091-0/+19
| | | | | | Required for an mt76 update to the latest version from master Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: backport and include linux/overflow.hFelix Fietkau2018-11-091-0/+322
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport sg_init_marker()Felix Fietkau2018-11-091-0/+30
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: brcmutil: backport chanspec debugging patchRafał Miłecki2018-11-071-0/+83
| | | | | | It helps debugging possible WARN-ings. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: brcmfmac: backport the latest 4.20 changesRafał Miłecki2018-11-074-0/+244
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b50f162b3cce3d95874e4394f4765413f58765f1)
* mac80211: brcmfmac: rename 4.20 backport patchesRafał Miłecki2018-11-074-0/+0
| | | | | | | Include kernel version to help tracking changes. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit f7a3459ab9c4d8f5102c8ae0861ca481571703f7)
* mac80211: add iw command wrapper with error loggingRafał Miłecki2018-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | Currently it's close to impossible to tell what part of mac80211 setup went wrong. Errors logged into system log look like this: radio0 (6155): command failed: No error information (-524) radio0 (6155): command failed: Not supported (-95) radio0 (6155): command failed: I/O error (-5) radio0 (6155): command failed: Too many open files in system (-23) With this commit change it's getting clear: command failed: No error information (-524) Failed command: iw dev wlan0 del command failed: Not supported (-95) Failed command: iw phy phy0 set antenna_gain 0 command failed: I/O error (-5) Failed command: iw phy phy0 set distance 0 command failed: Too many open files in system (-23) Failed command: iw phy phy0 interface add wlan0 type __ap Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit ffa80bf5a784a34b81e32144669f30560780bdb6)
* ath9k: fix dynack in IBSS modeKoen Vandeputte2018-11-065-0/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, dynack was only tested upstream using AP/STA mode. Testing it on IBSS, showed that late-ack detection was broken. This is caused due to dynack using Association Request/Response frames for late-ack detection, which IBSS does not use. Also allowing Authentication frames here solves this. A second issue also got fixed, which was also seen AP/STA mode: When a station was added, the estimated value would be exponentially averaged using 0 as a starting point. This means that on larger distances, the ack timeout was still not high enough before synchronizing would run out of late-ack's for estimation. Fix this by using the initial estimated value as a baseline and only start averaging in the following estimation rounds. Test setup: - 2x identical devices: RB912UAG-5HPnD + 19dB sector - IBSS - 2x2 802.11an (ar9340), HT20, long GI - RSSI's -70 / -71 - Real distance: 23910 meter Results (60s iperf runs): Fixed coverage class 54 (up to 24300m): * 21.5 Mbits/sec Dynack: * 28.9 Mbits/sec Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* mac80211: fix A-MSDU packet handling with TCP retransmissionFelix Fietkau2018-10-111-0/+31
| | | | | | | Improves local TCP throughput and fixes use-after-free bugs that could lead to crashes. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix management frame protection issue with mt76 (and possibly ↵Felix Fietkau2018-09-291-0/+25
| | | | | | | | | other drivers) Software crypto wasn't working for management frames because the flag indicating management frame crypto was missing Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: fix tx queue allocation for active monitor interfacesFelix Fietkau2018-09-221-0/+26
| | | | | | Fixes a crash with drivers like ath9k Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: backport upstream fixesKoen Vandeputte2018-09-2116-55/+702
| | | | | | | | | | | Backport most significant upstream fixes (excl. hwsim fixes) Refreshed all patches. Contains important fixes for CSA (Channel Switch Announcement) and A-MSDU frames. [slightly altered to apply cleanly] Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath9k: fix unloading the moduleFelix Fietkau2018-09-202-15/+10
| | | | | | | | | Registering a GPIO chip with the ath9k device as parent prevents unload, because the gpiochip core increases the module use count. Unfortunately, the only way to avoid this at the moment seems to be to register the GPIO chip without a parent device Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: brcmfmac: backport CYW89342 support & fixes from 4.20Rafał Miłecki2018-09-124-0/+208
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b3d441c5f7c5247c1b0c3b6e9827d49a27093d50)
* mac80211: brcmfmac: backport patch for per-firmware featuresRafał Miłecki2018-09-121-0/+84
| | | | | | | | This allows driver to support features that can't be dynamically discovered. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit fecbd91c7c12b5b1cfe894c2901083cc42863aae)
* mac80211: brcmfmac: backport 4.19 patches preparing monitor mode supportRafał Miłecki2018-09-126-1/+383
| | | | | | | | | Monitor mode isn't supported yet with brcmfmac, it's just an early work. This also prepares brcmfmac to work stable with new firmwares which use updated struct for passing STA info. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit c0608c6a27e74923dc94772072d4a279d652b3fc)
* mac80211: mwl8k: Expand non-DFS 5G channelsAntonio Silverio2018-08-271-0/+37
| | | | | | | Add non-DFS 5G upper channels (149-165) besides existed 4 lower channels (36, 40, 44, 48). Signed-off-by: Antonio Silverio <menion@gmail.com>
* mac80211: backport brcmfmac fixes & debugging helpers from 4.18Rafał Miłecki2018-07-279-2/+341
| | | | | | | | | | | | | The most important is probably regression fix in handling platform NVRAM. That bug stopped hardware from being properly calibrated breaking e.g. 5 GHz for Netgear R8000. Other than that it triggers memory dumps when experiencing firmware problems which is important for debugging purposes. Fixes: 2811c97803e5 ("mac80211: backport brcmfmac firmware & clm_blob loading rework") Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b26214adb53da2816ff830b6cd6e31e1dafa2635)
* mac80211: Expose support for ath9k DynackKoen Vandeputte2018-07-121-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enables support for Dynack feature. When a remote station is far away, we need to compensate for the distance by allowing more time for an ACK to arrive back before issueing a retransmission. Currently, it needs to be set fixed to indicate the maximum distance the remote station will ever be. While this mostly works for static antennae, it introduces 2 issues: - If the actual distance is less, speed is reduced due to a lot of wates wait-time - If the distance becomes greater, retries start to occur and comms can get lost. Allowing to set it dynamically using dynack ensures the best possible tradeoff between speed vs distance. This feature is currently only supported in ath9k. it is also disabled by default. Enabling it can be done in 2 ways: - issue cmd: iw phy0 set distance auto - sending the NL80211_ATTR_WIPHY_DYN_ACK flag to mac80211 driver using netlink Disabling it can be done by providing a valid fixed value. To give an idea of a practical example: In my usecase, we have mesh wifi device installed on ships/platforms. Currently, the coverage class is set at 12000m fixed. When a vessel moved closer (ex. 1500m), the measured link capacity was a lot lower compared to setting the coverage class fixed to 1500m Dynack completely solved this, nearly providing double the bandwidth at closer range compared to the fixed setting of 12000m being used. Also when a vessel sailed to a distance greater than the fixed setting, communication was lost as the ACK's never arrived within the max allowed timeframe. Actual distance: 6010m iperf 60s run avg Fixed 12150m: 31 Mbit/s Dynack: 58 Mbit/s Fixed 6300m: 51 Mbit/s Dynack: 59 Mbit/s Fixed 3000m: 13 Mbit/s (lots of retries) Dynack: 58 Mbit/s Actual distance: 1504m iperf 60s run avg Fixed 12150m: 31 Mbit/s Dynack: 86 Mbit/s Fixed 6300m: 55 Mbit/s Dynack: 87 Mbit/s Fixed 3000m: 67 Mbit/s Dynack: 87 Mbit/s Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* mac80211: initialize sinfo in cfg80211_get_stationSven Eckelmann2018-07-081-0/+42
| | | | | | | | | | | | | | | | | | | | Most of the implementations behind cfg80211_get_station will not initialize sinfo to zero before manipulating it. For example, the member "filled", which indicates the filled in parts of this struct, is often only modified by enabling certain bits in the bitfield while keeping the remaining bits in their original state. A caller without a preinitialized sinfo.filled can then no longer decide which parts of sinfo were filled in by cfg80211_get_station (or actually the underlying implementations). cfg80211_get_station must therefore take care that sinfo is initialized to zero. Otherwise, the caller may tries to read information which was not filled in and which must therefore also be considered uninitialized. In batadv_v_elp_get_throughput's case, an invalid "random" expected throughput may be stored for this neighbor and thus the B.A.T.M.A.N V algorithm may switch to non-optimal neighbors for certain destinations. Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com> (cherry picked from commit 87493dac11f3c7bbbc1fed9aef1cf9ff62053ab0)
* mac80211: make rtl8xxxu build againJohn Crispin2018-06-261-0/+38
| | | | | | | we only wanted to drop rtl8xxxue support Signed-off-by: John Crispin <john@phrozen.org> (cherry picked from commit d8981133b27e7deebc79dc5fc51beb06b3b0a221)
* mac80211: rtl8xxxu: drop support patchesJohn Crispin2018-06-2658-3569/+0
| | | | | | | | | | After a very enlightening but unfortunately far too short exchange with Jes we mutually agreed to drop the patches. They are unfortunately not ready yet. Acked-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: John Crispin <john@phrozen.org> (cherry picked from commit 66c5696cdf9599ccef652a651f52c0f7f53da44a)
* mac80211: backport brcmfmac changes from kernel 4.18Rafał Miłecki2018-06-2311-0/+631
| | | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit c446e38c862201dd4d6a4fb8ea6e49172980952d)
* mac80211: backport brcmfmac firmware & clm_blob loading reworkRafał Miłecki2018-06-238-41/+1392
| | | | | | | It backports remaining brcmfmac changes from 4.17. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 7e8eb7f309a802ba10a13ddb807c6a31fecc9183)
* mac80211: backport brcmfmac data structure reworkRafał Miłecki2018-06-2310-9/+1426
| | | | | | | It backports brcmfmac commits from kernel 4.17. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 3c8bb92655c68a07abf5358ef23eb98422ed8d6d)
* mac80211: backport "brcmfmac: cleanup and some rework" from 4.17Rafał Miłecki2018-06-239-1/+772
| | | | | | | | | | | | It was described by Arend as: > This series is intended for 4.17 and includes following: > > * rework bus layer attach code. > * remove duplicate variable declaration. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit 0da9303e5b444e2c98c24719c48c09f4c976c5a7)
* mac80211: fix up ath10k led patchJohn Crispin2018-06-221-26/+52
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mac80211: drop 355-ath9k-limit-retries-for-powersave-response-frames.patchJohn Crispin2018-06-2218-235/+153
| | | | | | | several people reported this bug to be causing drop out issues Signed-off-by: John Crispin <john@phrozen.org> (cherry picked from commit cac1a4be66f548735878beccc10dc4b1ec7ad364)
* mac80211: ath10k fix vht160 firmware crashAnsuel Smith2018-06-222-0/+182
| | | | | | | When the 160mhz width is selected the ath10k firmware crash. This fix this problem. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> (cherry picked from commit 134e832814f1986c7ee06ac00806ebb6e762fd15)
* mac80211: ath10k add leds supportAnsuel Smith2018-06-221-0/+617
| | | | | | | This adds support for leds handled by the wireless chipset. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> (cherry picked from commit 61d57a2f88b90ba951012e66c7c6fae9234c97b4)
* mac80211: rt2x00: no longer use TXOP_BACKOFF for probe framesDaniel Golle2018-06-112-1/+46
| | | | | | | | Import a revert-commit from Stanislaw Gruszka which significantly improves WiFi performance on rt2x00 based hardware. Signed-off-by: Daniel Golle <daniel@makrotopia.org> (cherry-picked from commit f4a639a3d7d40b4f63c431c2d554c479fbcc6b74)
* mac80211: refactor non-{sae,dfs} mesh initializationDaniel Golle2018-05-152-47/+48
| | | | | | | | | | | | Refactor mesh initialization into a separate function, do some cleaning on the way to make the code more readable. Changes: * Move iw mesh setup to new mac80211_setup_mesh() * fallback on 'ssid' parameter in case 'mesh_id' isn't set * move setting of freq variable to shared code as it is needed for both, the wpa_supplicant and the iw based setup. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: Re-enable encrypted 11s meshpointSven Eckelmann2018-05-142-2/+2
| | | | | | | | | | The commit 574e4377fad5 ("mac80211: properly setup mesh interface") uses the variable $wpa to decide whether encrypted meshpoint is requested by the user or not. But the variable $wpa will only be set correctly after the function wireless_vif_parse_encryption is called. Fixes: 574e4377fad5 ("mac80211: properly setup mesh interface") Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
* mac80211: properly setup mesh interfaceDaniel Golle2018-05-142-4/+15
| | | | | | | Setup wpa_supplicant for encrypted mesh or when using DFS channels and adjust interface setup to pass fixed frequency for mesh mode. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: fix build error for external kernel.Sandeep Sheriker Mallikarjun2018-05-071-5/+10
| | | | | | | | | | fixed build error when external kernel is selected from menuconfig. The patches present in target/linux/generic does not gets applied to external kernel and build fails while compiling mac82011 & regmap-core kernel modules. as a fix added check in Makefile for CONFIG_EXTERNAL_KERNEL_TREE present or not. Signed-off-by: Sandeep Sheriker Mallikarjun <sandeepsheriker.mallikarjun@microchip.com>
* mac80211: update patch to read ath10k variant from DTThomas Hebb2018-04-203-13/+18
| | | | | | | | | This patch was revised upstream before being merged, and OpenWrt's copy was never updated to reflect the revision. Signed-off-by: Thomas Hebb <tommyhebb@gmail.com> [refreshed patches] Signed-off-by: Mathias Kresin <dev@kresin.me>
* mac80211: pass down noscan to wpa_supplicantDaniel Golle2018-04-202-2/+2
| | | | Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: join 5GHz checksLeon M. George2018-04-191-6/+3
| | | | | | | | | | Before this commit, devices supporting both 2.4GHz and 5GHz would be configured for 2.4GHz by default - unless they have VHT capabilities. With this commit, channel 36 is only set when the frequency is supported. VHT isn't checked unless that is the case. Signed-off-by: Leon M. George <leon@georgemail.eu>
* mac80211: ipw2200-fw: fix download mirror(s)Stefan Lippers-Hollmann2018-04-181-1/+5
| | | | | | | bughost.org hasn't existed for 6-8 years, add a couple of current mirrors to avoid the fallback to http://mirror2.openwrt.org/sources/. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* mac80211: ipw2100-fw: fix download mirror(s)Stefan Lippers-Hollmann2018-04-181-1/+5
| | | | | | | bughost.org hasn't existed for 6-8 years, add a couple of current mirrors to avoid the fallback to http://mirror2.openwrt.org/sources/. Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* mac80211: ath10k: Suppress "Unknown eventid: 36925" warningsStefan Lippers-Hollmann2018-04-181-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | Merge upstream patch from Sathishkumar Muruganandam <murugana@codeaurora.org> for OpenWrt's backports package: https://lkml.kernel.org/r/<1522049641-19521-1-git-send-email-murugana@codeaurora.org> Commit-ID: 606204bb863fa3b0bb54929d79b4dc46338f9180 * FW has Smart Logging feature enabled by default for detecting failures * and processing FATAL_CONDITION_EVENTID (36925 - 0x903D) back to host. * * Since ath10k doesn't implement the Smart Logging and FATAL CONDITION * EVENT processing yet, suppressing the unknown event ID warning by moving * this under ATH10K_DBG_WMI. * * Simulated the same issue by having associated STA powered off when * ping flood was running from AP backbone. This triggerd STA KICKOUT * in AP followed by FATAL CONDITION event 36925. * * Issue was reproduced and verified in below DUT * ------------------------------------------------ * AP mode of OpenWRT QCA9984 running 6.0.8 with FW ver 10.4-3.5.3-00053 * * Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org> Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
* mac80211: Fix loading of rsi_sdio moduleHauke Mehrtens2018-04-181-0/+96
| | | | | | | | When CONFIG_PM was not set rsi_sdio_reinit_device() was not compiled into the driver but referenced. This is a backport form the mainline Linux kernel. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mac80211: add RedPine RS9113 module supportEvgeniy Didin2018-04-182-0/+125
| | | | | | | | | | | RedPine RS9113 wireless module requires rsi91x driver to be built and linux-firmware/rsi/rs9113_wlan_qspi.rps to be installed. Also we add patch for successful compilation of rsi91x driver. Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com> Cc: Alexey Brodkin <abrodkin@synopsys.com> Cc: Hauke Mehrtens <hauke@hauke-m.de> Cc: John Crispin <john@phrozen.org>
* Revert "mac80211: pass hostapd control socket to mesh-mode supplicant"Daniel Golle2018-04-181-1/+1
| | | | | | | | This reverts commit 1356a66f94f31e636fafec514a1c658356ef51b3. The change breaks wpa_supplicant.conf generation, more work is needed to fix mesh+AP. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: pass hostapd control socket to mesh-mode supplicantDaniel Golle2018-04-131-1/+1
| | | | | | | | | | | Unlike when operating in Ad-Hoc mode, we apparently need to pass the hostapd control socket interface to wpa_supplicant when using 802.11s mesh mode. There also seems to still be something wrong with the logic setting channel and (v)htmode parameters... Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* mac80211: backport brcmfmac fixes from 4.16Rafał Miłecki2018-03-218-3/+345
| | | | Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* mac80211: avoid changing skb truesize in A-MSDU aggregationFelix Fietkau2018-03-191-9/+1
| | | | | | Should fix recently reported data corruption issues Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mac80211: ath10k: search all IEs for variant before falling backChristian Lamparter2018-03-142-0/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the patch that was posted to ath10k-devel ML: <https://patchwork.kernel.org/patch/10233491/> |From: Thomas Hebb <tommyhebb@gmail.com> |Subject: [PATCH] ath10k: search all IEs for variant before falling back |Date: Wed, 21 Feb 2018 11:43:39 -0500 |[...] |This patch fixes the issue by first searching the entire file for the ID |with variant, and searching for the fallback ID only if that search |fails. It also includes some code cleanup in the area, as |ath10k_core_fetch_board_data_api_n() no longer does its own string |mangling to remove the variant from an ID, instead leaving that job to a |new flag passed to ath10k_core_create_board_name(). | |I've tested this patch on a QCA4019 and verified that the driver behaves |correctly for 1) both fallback and variant BDFs present, 2) only fallback |BDF present, and 3) no matching BDFs present. | |Fixes: 1657b8f84ed9 ("ath10k: search SMBIOS for OEM board file extension") |Signed-off-by: Thomas Hebb <tommyhebb@gmail.com> Note: 937-ath10k-calibration-variant.patch has been reassigned a new 081 number, as it now ships with upstream.... But also because this patch requires the change in ath10k_core_create_board_name(). Signed-off-by: Christian Lamparter <chunkeey@gmail.com>