Commit Graph

1394 Commits

Author SHA1 Message Date
Rafał Miłecki
8888cb725d mac80211: brcm: backport remaining brcmfmac 5.2 patches
This improves FullMAC firmware compatibility, adds logging in case of
firmware crash and *may* fix "Invalid packet id" errors.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-06-16 18:58:51 +02:00
Christian Lamparter
82b78a9659 mac80211: refresh patches
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-06-15 19:55:32 +02:00
Sven Eckelmann
2f84bb1af2 mac80211: ath10k: adjust tx power reduction for US regulatory domain
FCC allows maximum antenna gain of 6 dBi. 15.247(b)(4):

> (4) The conducted output power limit
> specified in paragraph (b) of this section
> is based on the use of antennas
> with directional gains that do not exceed
> 6 dBi. Except as shown in paragraph
> (c) of this section, if transmitting
> antennas of directional gain greater
> than 6 dBi are used, the conducted
> output power from the intentional radiator
> shall be reduced below the stated
> values in paragraphs (b)(1), (b)(2),
> and (b)(3) of this section, as appropriate,
> by the amount in dB that the
> directional gain of the antenna exceeds
> 6 dBi.

https://www.gpo.gov/fdsys/pkg/CFR-2013-title47-vol1/pdf/CFR-2013-title47-vol1-sec15-247.pdf

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-06-15 19:55:32 +02:00
Sven Eckelmann
f17529a122 mac80211: ath10k: fix max antenna gain unit
Most of the txpower for the ath10k firmware is stored as twicepower (0.5 dB
steps). This isn't the case for max_antenna_gain - which is still expected
by the firmware as dB.

The firmware is converting it from dB to the internal (twicepower)
representation when it calculates the limits of a channel. This can be seen
in tpc_stats when configuring "12" as max_antenna_gain. Instead of the
expected 12 (6 dB), the tpc_stats shows 24 (12 dB).

Tested on QCA9888 and IPQ4019 with firmware 10.4-3.5.3-00057.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-06-15 19:55:32 +02:00
Sven Eckelmann
01142665b7 mac80211: ath9k: Increase allowed antenna gain to 6 dBi
FCC allows maximum antenna gain of 6 dBi. 15.247(b)(4):

> (4) The conducted output power limit
> specified in paragraph (b) of this section
> is based on the use of antennas
> with directional gains that do not exceed
> 6 dBi. Except as shown in paragraph
> (c) of this section, if transmitting
> antennas of directional gain greater
> than 6 dBi are used, the conducted
> output power from the intentional radiator
> shall be reduced below the stated
> values in paragraphs (b)(1), (b)(2),
> and (b)(3) of this section, as appropriate,
> by the amount in dB that the
> directional gain of the antenna exceeds
> 6 dBi.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-06-15 19:55:32 +02:00
Deng Qingfang
367813b9b1 ramips: mt7620: fix dependencies
MT7620 integrated WMAC does not need RT2x00 PCI driver or firmware
Also corrected kmod-eeprom-93cx6 and kmod-lib-crc-itu-t dependencies
according to original Kconfig and lsmod output

This will remove some unnecessary packages from MT7620 target to
save some space

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[75 characters per line in the commit message]
2019-05-11 01:05:11 +02:00
Hauke Mehrtens
1325e74e0c kernel: Remove support for kernel 3.18
No target is using kernel 3.18 anymore, remove all the generic
support for kernel 3.18.

The removed packages are depending on kernel 3.18 only and are not used on
any recent kernel.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-05-03 22:41:38 +02:00
Hauke Mehrtens
cd3b298533 omap24xx: Remove unmaintained target
This target only supports kernel 4.1, which is not supported in OpenWrt
any more for multiple releases. It also looks like there is no active
maintainer for this target.
Remove the code and all the packages which are only used by this target.

To add this target to OpenWrt again port it to a recent and supported
kernel version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-05-03 21:27:12 +02:00
Daniel Golle
26dafeeba4 mac80211: rt2x00: replace patches with upstream version
Support for RT3883/RT3663 was merged upstream [1]. Use that patch
instead of our original series. The resulting source tree is
exactly identical, this commit is merely reorganizing the patches.

[1]: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git/commit/?id=d0e61a0f7cca51ce340a5a73595189972122ff25

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-04-29 18:39:04 +02:00
Felix Fietkau
6e7e2f4421 mac80211: fix regression in skb resizing optimization in monitor mode (FS#2254)
struct ieee80211_local needs to be passed in separately instead of
dereferencing the (potentially NULL) sdata

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-04-24 09:33:38 +02:00
Rafał Miłecki
083056c83f mac80211: brcm: backport brcmfmac 5.2 patches
This includes some USB fixes and early work on FullMAC firmware crash
recovery.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-04-18 10:16:10 +02:00
Petr Štetiar
8293e7532f mac80211: Fix rate_idx underflow in mwl8k (FS#2218)
Add a patch for mwl8k which fixes endless reboot loops on Linksys EA4500
with certain 5G configurations.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-04-14 23:42:03 +02:00
Daniel Golle
9385ff654e mac80211: rt2x00: replace patch with upstream version
Replace the patch introduced by commit d0b969eee8 ("mac80211: rt2x00:
do not increment sequence number while re-transmitting") was merged
into wireless-drivers.git. Replace our version with the merged version.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-04-12 22:14:47 +02:00
Hauke Mehrtens
3183430df4 mac80211: update to version 4.19.32-1
The removed patches are now integrated in the upstream kernel.
Refresh all patches on top of the new backports release.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Tested-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2019-04-06 16:31:04 +02:00
Felix Fietkau
b3d8b3ab8e mac80211: set noscan=1 if sta/adhoc/mesh interfaces are present
Fixes channel selection issues and suppresses an unnecessary extra scan

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-04-03 10:40:09 +02:00
Felix Fietkau
1dd536f1fa mac80211: improve performance by deferring tx queue selection
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-04-03 10:40:09 +02:00
Felix Fietkau
38860fe2e4 mac80211: fix an issue with the TXQ scheduling API and powersave clients
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-20 10:41:30 +01:00
Felix Fietkau
ca9ad880f2 mac80211: improve the txq scheduling API to deal with driver buffered packets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-20 10:41:30 +01:00
Felix Fietkau
60659b2d9e mac80211: optimize skb resizing to avoid reallocation when using 802.11s + batman-adv
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-20 10:41:30 +01:00
Alexander Couzens
dd3214f95d
mac80211: netifd: Use a mask when using iw set antenna
The keyword "all" is only supported by `iw set antenna` if
it's used as the only argument.
Convert "all" into a mask before calling `iw set antenna`.

Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
2019-03-16 21:16:28 +01:00
Felix Fietkau
4cf1394f51 mac80211: add a few performance improvement patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-16 19:59:02 +01:00
Felix Fietkau
6869ae2ab5 mac80211: improve locking around the txq scheduling / airtime fairness API
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-16 19:59:02 +01:00
Felix Fietkau
04e4b779cc mac80211: backport the txq scheduling / airtime fairness API
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-16 19:59:02 +01:00
Felix Fietkau
fb0a80f4cf mac80211: fix an unaligned access in the mesh hash table function
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-16 19:59:02 +01:00
Felix Fietkau
5cda4a3e30 mac80211: update and fix the patch to allow 4-byte aligned tx skbs
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-16 19:59:02 +01:00
Felix Fietkau
51e1092fae mac80211: allocate tailroom for forwarded mesh packets
Fixes a warning + packet loss on encrypted mesh networks with forwarding

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-16 19:59:02 +01:00
Daniel Golle
36530ba72a mac80211: rt2x00: import and update pending patches
Imported from patchwork, patches marked with '=' have already been in
our tree:
 [v3,1/4] cfg80211: add ratelimited variants of err and warn
 [v3,2/4] rt2x00: use ratelimited variants dev_warn/dev_err
 [v3,3/4] rt2x00: check number of EPROTO errors
=[v3,4/4] rt2x00: do not print error when queue is full

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-12 11:44:27 +01:00
Vijayakumar Durai
d0b969eee8 mac80211: rt2x00: do not increment sequence number while re-transmitting
Currently STA+AP re-transmitting the management frames with
incremented sequence number if hardware is assigning the sequence.

Fix is to assign the sequence number for Beacon by hardware
and for other Management frames software will assign the
sequence number

Signed-off-by: Vijayakumar Durai <vijayakumar.durai1@vivint.com>
2019-03-05 03:54:39 +01:00
Hauke Mehrtens
4590af2065 mac80211: Activate DRIVER_11W_SUPPORT for more capable drivers
ieee80211w support is only activated in hostapd when at least one
capable driver is build into the image. Many drivers which are capable
of ieee80211 (MFP) and have the MFP_CAPABLE set in the driver are still
missing the DRIVER_11W_SUPPORT dependency. Add this to more driver
capable of ieee80211w.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-03-03 16:44:47 +01:00
Felix Fietkau
c6caa7a27a mac80211: add a fix to prevent unsafe queue wake calls during restart
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-01 14:56:04 +01:00
Felix Fietkau
82d306b595 mac80211: backport tx queue start/stop fix
Among other things, it fixes a race condition on calling ieee80211_restart_hw

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-03-01 13:14:29 +01:00
Daniel Golle
98f86e61ea mac80211: rt2x00: cleanup ePA, RXIQ and TX-LOFT code
consolidate patch 651-rt2x00-remove-unneccesary-code.patch.
fixup the most obvious whitespace problems in RXIQ and TX-LOFT code.
always backup registers bbpr1, bbpr4, bbpr241 and bbpr242 to avoid
compiler warning about them being potentially uninitialized.
no functional changes (intended)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-01 07:14:01 +01:00
Daniel Golle
7cf6e11721 mac80211: rt2x00: patch tracking cosmetics
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-01 04:09:00 +01:00
Sven Eckelmann
4beed12d85 mac80211: ath10k: fix incorrect multicast/broadcast rate setting
If no mcast_rate is set for the wifi-iface then there is no rate_idx (0)
set for the bss. This breaks for example 5GHz meshpoint interfaces because
0 maps to a CCK rate (11Mbit/s).

Fixes: db90c243a0 ("mac80211: update to version based on 4.19-rc4")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-02-26 23:20:04 +01:00
Hauke Mehrtens
b1c614784d mac80211: Add WDS / 4addr fix for ath10k supported devices
This should fix the WDS / 4addr mode with ath10k and probably other
devices.
This patch was found here: https://patchwork.kernel.org/patch/10692383/

Fixes: d9eefa7a70 ("mac80211: rebase ontop of v4.18.5")
Reported-by: Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-02-26 23:20:04 +01:00
Stanislaw Gruszka
426ffc563a mac80211: rt2x00: fix crash on release_firmware
Fix crash due to passing invalid r2x00dev->eeprom_file pointer to
release_firmware(). Since we copy eeprom data with EEPROM_SIZE
in rt2800_read_eeprom() we can use eeprom_file->size as marker
if the file was crated by request_firmware().

Acked-by: Kristian Evensen <kristian.evensen@gmail.com>
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
2019-02-26 22:57:32 +01:00
Rafał Miłecki
2d139450a3 mac80211: backport more brcmfmac changes queued for the 5.1
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-02-20 23:06:16 +01:00
Arnout Vandecappelle (Essensium/Mind)
2e0f41e73a hostapd: add Multi-AP patches and config options
Cherry-pick Multi-AP commits from uptream:
 9c06f0f6a hostapd: Add Multi-AP protocol support
 5abc7823b wpa_supplicant: Add Multi-AP backhaul STA support
 a1debd338 tests: Refactor test_multi_ap
 bfcdac1c8 Multi-AP: Don't reject backhaul STA on fronthaul BSS
 cb3c156e7 tests: Update multi_ap_fronthaul_on_ap to match implementation
 56a2d788f WPS: Add multi_ap_subelem to wps_build_wfa_ext()
 83ebf5586 wpa_supplicant: Support Multi-AP backhaul STA onboarding with WPS
 66819b07b hostapd: Support Multi-AP backhaul STA onboarding with WPS
 8682f384c hostapd: Add README-MULTI-AP
 b1daf498a tests: Multi-AP WPS provisioning

Add support for Multi-AP to the UCI configuration. Every wifi-iface gets
an option 'multi_ap'. For APs, its value can be 0 (multi-AP support
disabled), 1 (backhaul AP), 2 (fronthaul AP), or 3 (fronthaul + backhaul
AP). For STAs, it can be 0 (not a backhaul STA) or 1 (backhaul STA, can
only associate with backhaul AP).

Also add new optional parameter to wps_start ubus call of
wpa_supplicant to indicate that a Multi-AP backhaul link is required.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-02-20 13:17:11 +01:00
Daniel Golle
8554982e1f mac80211: rt2x00: replace pending by merged patches
Those have by now been merged into wireless-drivers-next:
 17ae2acd1a6f rt2x00: remove unneeded check
 5991a2ecd070 rt2x00: remove confusing AGC register
 9ad3b5565445 rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band
 7aca14885ede rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620
 c7ff1bfeaf1c rt2800: comment and simplify AGC init for RT6352

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-02-20 13:17:11 +01:00
Daniel Golle
d4c999bb89 mac80211: rt2x00: backport accepted and pending patches from upstream
backport from wireless-drivers-next, replacing some existing patches in
our tree (marked with '=' are those which were already present):
 f483039cf51a rt2x00: use simple_read_from_buffer()
=5c656c71b1bf rt2800: move usb specific txdone/txstatus routines to rt2800lib
=0b0d556e0ebb rt2800mmio: use txdone/txstatus routines from lib
=5022efb50f62 rt2x00: do not check for txstatus timeout every time on tasklet
=adf26a356f13 rt2x00: use different txstatus timeouts when flushing
=0240564430c0 rt2800: flush and txstatus rework for rt2800mmio
 6eba8fd22352 rt2x00: rt2400pci: mark expected switch fall-through
 10bb92217747 rt2x00: rt2500pci: mark expected switch fall-through
 916e6bbcfcff rt2x00: rt2800lib: mark expected switch fall-throughs
 641dd8068ecb rt2x00: rt61pci: mark expected switch fall-through
 750afb08ca71 cross-tree: phase out dma_zalloc_coherent()
=c2e28ef7711f rt2x00: reduce tx power to nominal level on RT6352
 a4296994eb80 rt2x00: Work around a firmware bug with shared keys
 2587791d5758 rt2x00: no need to check return value of debugfs_create functions

pending on linux-wireless:
 rt2x00: remove unneeded check
 rt2x00: remove confusing AGC register
 rt2800: enable TX_PIN_CFG_LNA_PE_ bits per band
 rt2800: enable TX_PIN_CFG_RFRX_EN only for MT7620
 rt2800: comment and simplify AGC init for RT6352
 rt2x00: do not print error when queue is full
 rt2800: partially restore old mmio txstatus behaviour
 rt2800: new flush implementation for SoC devices
 rt2800: move txstatus pending routine
 rt2800mmio: fetch tx status changes
 rt2800mmio: use timer and work for handling tx statuses timeouts
 rt2x00: remove last_nostatus_check
 rt2x00: remove not used entry field
 rt2x00mmio: remove legacy comment

While at it also rename some existing patches now that there are
separate folders with patches for each driver to make things a bit
nicer to handle.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-02-19 09:05:34 +01:00
Deng Qingfang
f5db5742e4 iw: update to 5.0.1
Refresh patches

MIPS IPK size increases:
iw-tiny: +3k
iw-full: +10k

Signed-off-by: Deng Qingfang <dengqf6@mail2.sysu.edu.cn>
[Remove sha256, nan, bloom, measurements and ftm from tiny version]
[sync nl80211 between backports and iw]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-02-17 17:33:18 +01:00
Hauke Mehrtens
d48a8ed40d mac80211: update to version 4.19.23-1
This updates mac80211 to backports version 4.19.23-1 which includes all
the stable fixes from kernel 4.19.23.
The removed patches are included in this version.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2019-02-17 17:33:18 +01:00
Rafał Miłecki
9485ea721e mac80211: brcmfmac: backport early changes queued for the Linux 5.1
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-02-12 14:18:18 +01:00
Rafał Miłecki
0994e65c6a mac80211: brcmfmac: backport remaining patches from the Linux 5.0
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-02-12 13:50:40 +01:00
Sven Eckelmann
2b51d8591f mac80211: ath10k: support for management rate control
Issues a wmi command to firmware when multicast rate change is received with the
new BSS_CHANGED_MCAST_RATE flag.  Also fixes the incorrect fixed_rate setting
for CCK rates which got introduced with addition of ath10k_rates_rev2 enum.

By default the firmware uses 1Mbps and 6Mbps rate for management packets
in 2G and 5G bands respectively. But when the user selects different
basic rates from the userspace, we need to send the management
packets at the lowest basic rate selected by the user.

Signed-off-by: Sven Eckelmann <sven@narfation.org>
2019-02-11 19:02:42 +01:00
Rafał Miłecki
83bcacb521 mac80211: brcmfmac: fix a possible NULL pointer dereference
This fixes a possible crash in the brcmf_fw_request_nvram_done():
[   31.687293] Backtrace:
[   31.689760] [<c004fb4c>] (__wake_up_common) from [<c004fc38>] (__wake_up_locked+0x1c/0x24)
[   31.698043]  r10:c6794000 r9:00000009 r8:00000001 r7:bf54dda0 r6:a0000013 r5:c78e7d38
[   31.705928]  r4:c78e7d3c r3:00000000
[   31.709528] [<c004fc1c>] (__wake_up_locked) from [<c00502a8>] (complete+0x3c/0x4c)
[   31.717148] [<c005026c>] (complete) from [<bf54590c>] (brcmf_fw_request_nvram_done+0x5c8/0x6a4 [brcmfmac])
[   31.726818]  r7:bf54dda0 r6:c6794000 r5:00001990 r4:c6782380
[   31.732544] [<bf545344>] (brcmf_fw_request_nvram_done [brcmfmac]) from [<c0204e40>] (request_firmware_work_func+0x38/0x60)
[   31.743607]  r10:00000008 r9:c6bdd700 r8:00000000 r7:c72c3cd8 r6:c67f4300 r5:c6bda300
[   31.751493]  r4:c67f4300
[   31.754046] [<c0204e08>] (request_firmware_work_func) from [<c0034458>] (process_one_work+0x1e0/0x318)
[   31.763365]  r4:c72c3cc0
[   31.765913] [<c0034278>] (process_one_work) from [<c0035234>] (worker_thread+0x2f4/0x448)
[   31.774107]  r10:00000008 r9:00000000 r8:c6bda314 r7:c72c3cd8 r6:c6bda300 r5:c6bda300
[   31.781993]  r4:c72c3cc0
[   31.784545] [<c0034f40>] (worker_thread) from [<c003984c>] (kthread+0x100/0x114)
[   31.791949]  r10:00000000 r9:00000000 r8:00000000 r7:c0034f40 r6:c72c3cc0 r5:00000000
[   31.799836]  r4:c735dc00 r3:c79ed540
[   31.803438] [<c003974c>] (kthread) from [<c00097d0>] (ret_from_fork+0x14/0x24)
[   31.810672]  r7:00000000 r6:00000000 r5:c003974c r4:c735dc00
[   31.816378] Code: e5b53004 e1a07001 e1a06002 e243000c (e5934000)
[   31.822487] ---[ end trace a0ffbb07a810d503 ]---

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-02-11 11:28:03 +01:00
Daniel Golle
f9850e9d2c mac80211: rt2x00: remove patch causing low tx power
Remove 980-rt2x00-reduce-power-consumption-on-mt7620.patch which in
combination with the most recently added patch reportedly causes TX
power to be too weak.

"without patches rssi on receiver is ~ -23dBm with 980 about -35dBm,
with both patches drops below -40dBm. with 987 only ~-28dBm"

We may need to reconsider this once we have implemented TSSI.

Fixes: cdb58b2bfe ("mac80211: rt2x00: reduce tx power to nominal level on RT6352")
Reported-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-02-08 13:13:39 +01:00
Daniel Golle
cdb58b2bfe mac80211: rt2x00: reduce tx power to nominal level on RT6352
Current implementation of RT6352 support provides too high tx power
at least on iPA/eLNA devices. Reduce amplification of variable gain
amplifier by 6dB to match board target power of 17dBm.
Transmited signal strength with this patch is similar to that of
stock firmware or pandorabox firmware. Throughput measured with iperf
improves. Device tested: Xiaomi Miwifi Mini.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-02-08 00:08:58 +01:00
Felix Fietkau
e1496d631e mac80211: fix an issue with allocated tailroom for encrypted mgmt packets
Fixes kernel warnings and connectivity issues in encrypted mesh networks

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-01-29 11:12:11 +01:00
Oever González
69aa1c5ac0 mac80211: ath: add extra 'regulatory domains'
This patch adds several country codes to the regd.h and regd_common.h
files in order to support devices whose country codes are not present in
the original list.

Without this patch, all devices whose manufacturer programmed any of these
code in their EEPROM will run without wireless interfaces.

Signed-off-by: Oever González <notengobattery@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [matched signed-off]
2019-01-26 21:41:04 +01:00
Christian Lamparter
13251aa92b mac80211: ath10k: remove "ath10k: fix otp failure result" patch
Initially this patch was introduced as a quick fix following
the removal of 936-ath10k_skip_otp_check.patch which caused
multiple ath10k pcie devices in various ipq806x and ar71xx/ath79
targets to malfunction.

Thankfully, the affected devices have been updated to utilize
the pre-caldata method. And finally with the switch to ath10k-ct,
which never had the patch or any reports of similar issues, I
think it's time to remove this patch since it is no longer needed.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2019-01-24 15:53:02 +01:00
Felix Fietkau
c8280e6e14 mac80211: add support for indicating missing tx A-MPDU length
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-01-20 19:01:12 +01:00
Rafał Miłecki
adc8b374e3 mac80211: brcmfmac: backport fixes from the 5.0-rc1
This fixes:
1) Getting STA info with newer firmwares
2) Getting DMI / UEFI / OF data
3) Possible memory corruption in firmware loading code

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-01-08 09:17:11 +01:00
Rafał Miłecki
df57d71a1a mac80211: brcmfmac: trivial patches rename to use v5.0
This matches Linus releasing 5.0-rc1 in place of 4.21-rc1.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-01-08 09:17:11 +01:00
Rafał Miłecki
529c95cc15 mac80211: brcmfmac: fix use-after-free & possible NULL pointer dereference
1) Using fwctx variable after brcmf_fw_request_done() was executed meant
   accessing freed memory.
2) Using fwctx->completion for the wait_for_completion_timeout() call
   could reuslt in NULL pointer dereference on fw loading error or if
   brcmf_fw_request_done() was executed quickly enough.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2019-01-07 17:13:59 +01:00
Felix Fietkau
488af51f81 mac80211: add ABI_VERSION to fix rebuild of dependent packages after upgrades
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2019-01-06 21:48:11 +01:00
Daniel F. Dickinson
8d2a9e8027 ath9k: Avoid OF no-eeprom quirks when no qca,no-eeprom
Based on the process of discovery in
https://github.com/openwrt/openwrt/pull/1613, it has become clear
that (at least) the PowerCloud System CR5000 was unable to get
working 5GHz wireless (PCIe) because AH_USE_EEPROM was unconditionally
masked out, not only when qca,noeeprom was in the DTS.

This patch moves mask AH_USE_EEPROM into the if ... qca,noeeprom
OF test.

Thanks to Christian Lampartar (@chunkeey) for the heavy lifting and help.

Patch has been prepared for upstream and will be submitted after review
by @chunkeey and @xdarklight.

Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
2018-12-22 15:08:24 +01:00
Koen Vandeputte
4b60ea236e mac80211: backport upstream fixes
d350a0f43118 nl80211: fix memory leak if validate_pae_over_nl80211() fails
a50e5fb8db83 mac80211: fix a kernel panic when TXing after TXQ teardown

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-12-20 14:03:39 +01:00
Hauke Mehrtens
ac5a6acbb1 mac80211: Update to version 4.19.7-1
This updates the backports package used in mac80211 to version 4.19.7-1
which is based on kernel 4.19.7. This integrates all the stable fixes
introduces in this kernel version.

The deleted patches are not needed any more because they are either
included in the upstream Linux kernel 4.19.7 or in backports 4.19.7-1.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-12-13 21:33:31 +01:00
Mathias Kresin
d35f2a5565 ath9k: register GPIO chip for OF targets
This partitialy reverts commit ccab68f2d3.

Registering the GPIO chip without a parent device completely breaks the
ath9k GPIOs for device tree targets.

As long as boards using the devicetree don't have the gpio-controller
property set for the ath9k node, the unloading of the driver works as
expected.

Register the GPIO chip with the ath9k device as parent only for OF
targets to find a trade-off between the needs of driver developers and
the broken LEDs and buttons seen by users.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-12-12 12:28:26 +01:00
Stijn Tintel
f208f77811 mac80211: fix brcmfmac on brcm2708
An upstream change broke brcmfmac when loaded with modparam roamoff=1.
As we are carrying a patch that enables roamoff by default on the
brcm2708 target to improve stability, wireless is currently broken
there. Add a patch to fix brcmfmac with roamoff=1.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-12-04 22:45:08 +02:00
Felix Fietkau
5ffacceb7b mac80211: fix reordering of buffered broadcast packets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-11-28 23:23:38 +01:00
Felix Fietkau
3879fc2b1a mac80211: fix spurious disconnections with powersave clients
Affects all drivers using ieee80211_tx_status_noskb, e.g. ath9k and mt76

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-11-13 20:35:29 +01:00
Rafał Miłecki
4d5b0efc09 mac80211: brcmfmac: backport the last accepted 4.21 changes
It's a typo fix & patch that helps debugging possible WARN-ings.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-11-07 11:17:00 +01:00
Rafał Miłecki
3eab6b8275 mac80211: brcmfmac: backport NVRAM loading improvements
This adds support for storing board specific NVRAM files as firmware.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-11-07 11:11:08 +01:00
Rafał Miłecki
5932eb690f mac80211: brcmfmac: backport firmware loading cleanup
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-11-07 09:43:32 +01:00
Rafał Miłecki
b50f162b3c mac80211: brcmfmac: backport the latest 4.20 changes
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-11-07 09:14:55 +01:00
Rafał Miłecki
f7a3459ab9 mac80211: brcmfmac: rename 4.20 backport patches
Include kernel version to help tracking changes.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-11-07 08:54:16 +01:00
Koen Vandeputte
5ac34818f9 ath9k: fix dynack in IBSS mode
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>
2018-11-06 11:49:27 +01:00
Hauke Mehrtens
9fcfcd49f8 mac80211: hermes-pcmcia: add missing dependency to kmod-pcmcia-core
This fixes a build problem on x86.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-10-21 16:46:16 +02:00
Felix Fietkau
e220ffb533 mac80211: fix A-MSDU packet handling with TCP retransmission
Improves local TCP throughput and fixes use-after-free bugs that could lead
to crashes.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-10-11 18:42:54 +02:00
Daniel Engberg
6e6e7adc8c mac80211: Use @KERNEL alias instead of hardlink
Use @KERNEL alias provided by toolchain instead of relying on a specific site.

Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
2018-10-07 02:10:15 +02:00
Felix Fietkau
502bcd93fe mac80211: move marvell packaging code to marvell.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-10-06 13:02:29 +02:00
Felix Fietkau
2804a7f13e mac80211: move intel packaging code to intel.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-10-06 13:02:29 +02:00
Felix Fietkau
1f14ac9a0c mac80211: move realtek packaging code to realtek.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-10-06 13:02:29 +02:00
Felix Fietkau
7f984dab1c mac80211: move broadcom packaging code to broadcom.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-10-06 13:02:29 +02:00
Felix Fietkau
bde8ddf1ad mac80211: move atheros/qca packaging code to ath.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-10-06 13:02:29 +02:00
Felix Fietkau
ece90fc9df mac80211: move rt2x00 packaging code to ralink.mk
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-10-06 13:02:29 +02:00
Felix Fietkau
fe6606c7ba mac80211: remove duplicated lines for building packages, use PKG_DRIVERS instead
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-10-06 13:02:29 +02:00
Felix Fietkau
93db9a65da mac80211: fix management frame protection issue with mt76 (and possibly 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>
2018-09-29 16:05:14 +02:00
Hauke Mehrtens
92a96dd662 mac80211: fix ipw200 build with kernel < 4.10
The __change_mtu() function is only compiled when
CPTCFG_IPW2200_PROMISCUOUS is set, more it to the general area.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-28 21:40:11 +02:00
Hauke Mehrtens
2a64c7ea74 mac80211: Use backports-4.19-rc5-1.tar.xz
This is an official release with some minor changes compared to the
unofficial 4.19-rc4-1 we used before.
* added bcma and ssb again, which is removed in OpenWrt
* fix to build with kernel 4.19
* other minor fixes not relevant for Openwrt.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-27 00:22:06 +02:00
Hauke Mehrtens
4fcbad1aa0 mac80211: fix compile warning in 986-rt2x00-add-TX-LOFT-calibration.patch
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-26 16:39:44 +02:00
Hauke Mehrtens
ec684ce193 mac80211: Add patches which were added later
These patches were added after the new matches structure for the
mac80211 package was created. All the deleted patches are already
integrated in kernel 4.19-rc4.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-26 16:39:44 +02:00
Hauke Mehrtens
db90c243a0 mac80211: update to version based on 4.19-rc4
This updates mac80211 to backports based on kernel 4.19-rc4.

I plan to integrate all the patches which are in this tar into upstream
backports soon.

I used the backports generated from this code:
https://github.com/hauke/backports/commits/wip2

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-09-26 16:39:44 +02:00
Daniel Golle
de1c58a64b mac80211: rt2x00: add experimental patches from Stanislaw Gruszka
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-09-26 16:39:44 +02:00
Daniel Golle
c837c41a76 mac80211: rt2x00: remove obsolete patch
According to Stanislaw Gruszka the patch
    600-23-rt2x00-rt2800mmio-add-a-workaround-for-spurious-TX_F.patch
should be dropped.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-09-26 16:39:44 +02:00
Tomislav Požega
d449233fd2 mac80211: rt2x00: add TX LOFT calibration
Add TX LOFT calibration from mtk driver.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:44 +02:00
Tomislav Požega
5d1620f29c mac80211: rt2x00: add RXIQ calibration
Add RXIQ calibration found in mtk driver. With old openwrt builds this gets us ~8Mbps more of RX bandwidth (test with iPA/eLNA layout).
Please try if this makes any difference among various board/RF layouts.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:43 +02:00
Tomislav Požega
e125b6abb2 mac80211: rt2x00: add RXDCOC calibration
Add RXDCOC calibration code from mtk driver. Please try if this makes any difference among various board/RF layouts.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:43 +02:00
Tomislav Požega
061541f207 mac80211: rt2x00: add r calibration
Add r calibration code as found in mtk driver.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:43 +02:00
Tomislav Požega
66929e3414 mac80211: rt2x00: add RF self TXDC calibration
Add TX self calibration based on mtk driver.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
2018-09-26 16:39:43 +02:00
Tomislav Požega
6044682b83 mac80211: rt2x00: write registers required for reducing power consumption
Write registers required for reducing power consumption like the vendor
driver does when ADJUST_POWER_CONSUMPTION_SUPPORT is set.
This helps devices to sync at better TX/RX rates and improves overall
performance.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: edited commit message]
2018-09-26 16:39:39 +02:00
John Crispin
d9eefa7a70 mac80211: rebase ontop of v4.18.5
Signed-off-by: John Crispin <john@phrozen.org>
2018-09-26 16:35:33 +02:00
Felix Fietkau
a32a70f4f2 ath9k: add back support for using tx99 with active monitor interfaces
Fixes controlling bitrate

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-22 18:41:38 +02:00
Felix Fietkau
7decdf923a mac80211: fix tx queue allocation for active monitor interfaces
Fixes a crash with drivers like ath9k

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-09-22 18:41:36 +02:00
Felix Fietkau
ccab68f2d3 ath9k: fix unloading the module
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>
2018-09-20 10:08:17 +02:00
Rafał Miłecki
b3d441c5f7 mac80211: brcmfmac: backport CYW89342 support & fixes from 4.20
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-09-12 08:40:24 +02:00
Rafał Miłecki
ffa80bf5a7 mac80211: add iw command wrapper with error logging
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>
2018-09-10 09:03:09 +02:00
Koen Vandeputte
77024a9d95 mac80211: backport upstream fixes
Backport most significant upstream fixes (excl. hwsim fixes)
Refreshed all patches.

Contains important fixes for CSA (Channel Switch Announcement)
and A-MSDU frames.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2018-09-07 17:21:24 +02:00
Felix Fietkau
d9792152fd ath9k: fix setting up tx99 with a monitor mode interface
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-08-25 19:18:08 +02:00
Antonio Silverio
672c430d6e mac80211: mwl8k: Expand non-DFS 5G channels
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>
2018-08-25 15:40:23 +02:00
Rafał Miłecki
fecbd91c7c mac80211: brcmfmac: backport patch for per-firmware features
This allows driver to support features that can't be dynamically
discovered.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-07-31 09:45:03 +02:00
Sven Eckelmann
ef39d0079b mac80211: ath10k: Limit available channels via DT ieee80211-freq-limit
Tri-band devices (1x 2.4GHz + 2x 5GHz) often incorporate special filters in
the RX and TX path. These filtered channel can in theory still be used by
the hardware but the signal strength is reduced so much that it makes no
sense.

There is already a DT property to limit the available channels but ath10k
has to manually call this functionality to limit the currrently set wiphy
channels further.

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
2018-07-30 20:46:13 +02:00
Rafał Miłecki
c0608c6a27 mac80211: brcmfmac: backport 4.19 patches preparing monitor mode support
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>
2018-07-27 08:04:14 +02:00
Rafał Miłecki
b26214adb5 mac80211: backport brcmfmac fixes & debugging helpers from 4.18
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: 7e8eb7f309 ("mac80211: backport brcmfmac firmware & clm_blob loading rework")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-07-26 23:21:46 +02:00
Ansuel Smith
2dcd955aea mac80211: backport and update patches for ath10k
This commit refreshes and updates the VHT160 ath10k support fix patches
and adds a number of backports from ath-next:

 * 8ed05ed06fca ath10k: handle tdls peer events
 * 229329ff345f ath10k: wmi: modify svc bitmap parsing for wcn3990
 * 14d65775687c ath10k: advertise TDLS wider bandwidth support for 5GHz
 * bc64d05220f3 ath10k: debugfs support to get final TPC stats for 10.4 variants
 * 8b2d93dd2261 ath10k: Fix kernel panic while using worker (ath10k_sta_rc_update_wk)
 * 4b190675ad06 ath10k: fix kernel panic while reading tpc_stats
 * be8cce96f14d ath10k: add support to configure channel dwell time
 * f40105e67478 ath: add support to get the detected radar specifications
 * 6f6eb1bcbeff ath10k: DFS Host Confirmation
 * 260e629bbf44 ath10k: fix memory leak of tpc_stats
 * 38441fb6fcbb ath10k: support use of channel 173
 * 2e9bcd0d7324 ath10k: fix spectral scan for QCA9984 and QCA9888 chipsets

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
[move backported patches in the 3xx number space, bring in upstream order,
 replace incomplete patch files with git format-patch ones, rewrite commit
 message, fix subject]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2018-07-22 22:25:33 +02:00
Koen Vandeputte
8b42a260ed mac80211: Expose support for ath9k Dynack
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>
2018-07-11 16:23:51 +02:00
Sven Eckelmann
87493dac11 mac80211: initialize sinfo in cfg80211_get_station
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>
2018-07-07 18:33:57 +02:00
John Crispin
d8981133b2 mac80211: make rtl8xxxu buils again
we only wanted to drop rtl8xxxue support

Signed-off-by: John Crispin <john@phrozen.org>
2018-06-26 16:00:33 +02:00
John Crispin
66c5696cdf mac80211: rtl8xxxu: drop support patches
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>
2018-06-26 15:45:30 +02:00
Stijn Tintel
34e22653ac mac80211: enable ath10k LED support by default
Commit 61d57a2f88 adds ath10k LED
support, but doesn't add an option to actually enable it.

After enabling this option, a LED named ath10k-phy0 appears in sysfs,
and a trigger can be assigned to it. Since 60deb3cdef the default set
trigger is the tpt one.

Enable it by default, as most devices using ath10k chips shouldn't be
severely space-constrained. There are likely many devices that can
benefit from having it enabled, like my testing device.

Before:
   text    data     bss     dec     hex filename
 245311    8899      16  254226   3e112 ath10k_core.ko

After:
   text    data     bss     dec     hex filename
 245979    8899      16  254894   3e3ae ath10k_core.ko

Tested on a D-Link DAP-2695-A1 (ar71xx).

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2018-06-25 22:00:05 +02:00
Mathias Kresin
60deb3cdef mac80211: ath10k: use tpt LED trigger by default
Use the tpt LED trigger for each created phy led. Ths way LEDs attached
to the ath10k GPIO pins are indicating the phy status and blink on
traffic.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-06-25 20:52:18 +02:00
John Crispin
cac1a4be66 mac80211: drop 355-ath9k-limit-retries-for-powersave-response-frames.patch
several people reported this bug to be causing drop out issues

Signed-off-by: John Crispin <john@phrozen.org>
2018-06-22 09:43:56 +02:00
Ansuel Smith
134e832814 mac80211: ath10k fix vht160 firmware crash
When the 160mhz width is selected the ath10k firmware crash. This fix this problem.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-06-22 09:31:32 +02:00
Ansuel Smith
61d57a2f88 mac80211: ath10k add leds support
This adds support for leds handled by the wireless chipset.

Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
2018-06-22 09:31:32 +02:00
Rafał Miłecki
c446e38c86 mac80211: backport brcmfmac changes from kernel 4.18
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-06-18 07:41:40 +02:00
Rafał Miłecki
7e8eb7f309 mac80211: backport brcmfmac firmware & clm_blob loading rework
It backports remaining brcmfmac changes from 4.17.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-06-18 07:41:40 +02:00
Rafał Miłecki
3c8bb92655 mac80211: backport brcmfmac data structure rework
It backports brcmfmac commits from kernel 4.17.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-06-17 22:46:35 +02:00
Rafał Miłecki
0da9303e5b mac80211: backport "brcmfmac: cleanup and some rework" from 4.17
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>
2018-06-17 22:46:29 +02:00
Sven Eckelmann
4270847a2c mac80211: ath10k: Allow to enable the thermal code of ath10k
Some ath10k firmware versions allow to access the chip internal a
temperature sensor and allow to reduce the amount of the time when the card
is allowed to send. The latter is required on devices which tend to
overheat.

An userspace service has to read
/sys/class/ieee80211/phy*/device/hwmon/hwmon*/temp1_input regularly and
then decide how much the device has to be throttled. This can be done by
writing to /sys/class/ieee80211/phy*/device/cooling_device/cur_state. By
default it is not throttled (0) but it can be throttled up to 100(%).

Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
2018-06-09 16:32:39 +02:00
Daniel Golle
f4a639a3d7 mac80211: rt2x00: no longer use TXOP_BACKOFF for probe frames
Import a revert-commit from Stanislaw Gruszka which significantly
improves WiFi performance on rt2x00 based hardware.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-05-28 15:49:41 +02:00
John Crispin
83fb9ec5e0 ath79: make ahb wifi work
Signed-off-by: John Crispin <john@phrozen.org>
2018-05-24 15:43:39 +02:00
Daniel Golle
96f4792fdb mac80211: refactor non-{sae,dfs} mesh initialization
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>
2018-05-15 02:05:56 +02:00
Sven Eckelmann
547042398a mac80211: Re-enable encrypted 11s meshpoint
The commit 574e4377fa ("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: 574e4377fa ("mac80211: properly setup mesh interface")
Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
2018-05-14 18:37:44 +02:00
Daniel Golle
574e4377fa mac80211: properly setup mesh interface
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>
2018-05-14 09:48:58 +02:00
Sandeep Sheriker Mallikarjun
441c26da6a kernel: fix build error for external kernel.
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>
2018-05-07 10:31:35 +02:00
Thomas Hebb
751746c736 mac80211: update patch to read ath10k variant from DT
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>
2018-04-20 21:08:52 +02:00
Daniel Golle
465d4bc538 mac80211: pass down noscan to wpa_supplicant
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-04-20 07:52:19 +02:00
Leon M. George
3a6c3c9c1c mac80211: join 5GHz checks
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>
2018-04-19 14:40:26 +02:00
Stefan Lippers-Hollmann
8267a0b234 mac80211: ipw2200-fw: fix download mirror(s)
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>
2018-04-18 23:57:20 +02:00
Stefan Lippers-Hollmann
18fe577530 mac80211: ipw2100-fw: fix download mirror(s)
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>
2018-04-18 23:57:13 +02:00
Stefan Lippers-Hollmann
a330ecebf5 mac80211: ath10k: Suppress "Unknown eventid: 36925" warnings
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>
2018-04-18 23:57:03 +02:00
Hauke Mehrtens
51e4868fc9 mac80211: Fix loading of rsi_sdio module
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>
2018-04-18 23:57:03 +02:00
Evgeniy Didin
36314c12c0 mac80211: add RedPine RS9113 module support
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>
2018-04-18 23:56:55 +02:00
Daniel Golle
e633b21c14 Revert "mac80211: pass hostapd control socket to mesh-mode supplicant"
This reverts commit 1356a66f94.
The change breaks wpa_supplicant.conf generation, more work is needed
to fix mesh+AP.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-04-18 17:55:23 +02:00
Daniel Golle
1356a66f94 mac80211: pass hostapd control socket to mesh-mode supplicant
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>
2018-04-13 03:27:01 +02:00
Rafał Miłecki
0f1a1489a6 mac80211: backport brcmfmac fixes from 4.16
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-21 08:36:14 +01:00
Felix Fietkau
e062bd8563 mac80211: avoid changing skb truesize in A-MSDU aggregation
Should fix recently reported data corruption issues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-19 21:35:00 +01:00
Christian Lamparter
e713b5ba6f mac80211: ath10k: search all IEs for variant before falling back
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>
2018-03-14 19:04:51 +01:00
John Crispin
54b275c8ed ipq40xx: add target
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: John Crispin <john@phrozen.org>
2018-03-14 19:04:50 +01:00
Felix Fietkau
916277a033 mac80211: minstrel: make short preamble CCK available when not used at connect time
The BSS short preamble state can change without rate control
update notification.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-10 11:57:42 +01:00
Felix Fietkau
6011f7bcf0 mac80211: fix a tx queue memory accounting error
Fixes rare hard to trigger tx hangs after some time

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-10 10:20:45 +01:00
Felix Fietkau
11d70f0600 mac80211: avoid sampling rates that are too slow, improves throughput
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-03 18:51:53 +01:00
Rafał Miłecki
9046e921af mac80211: brcmfmac: better logging of firmware api errors
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 18:45:20 +01:00
Rafał Miłecki
9543fb1ecd mac80211: brcmfmac: backport remaining changes from 4.16
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 18:36:04 +01:00
Rafał Miłecki
8d78cccc6e mac80211: brcmfmac: enlarge caps buffer & final sdio restructuring
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 18:26:12 +01:00
Rafał Miłecki
66bdf62a2a mac80211: brcmfmac: restructuring sdio access functions - take 2
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 18:15:51 +01:00
Rafał Miłecki
bb04b7ced7 mac80211: brcmfmac: restructuring sdio access functions
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 18:07:09 +01:00
Rafał Miłecki
e52e8480ad mac80211: brcmfmac: backport remaining changes from 4.15
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 15:17:03 +01:00
Rafał Miłecki
c29a2a4283 mac80211: brcmfmac: firmware halt and scan cleanup
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 15:17:02 +01:00
Rafał Miłecki
81542331cb mac80211: reorder patches putting backports first
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 15:14:11 +01:00
Felix Fietkau
1f427bd616 mac80211: add a missing check to the last minstrel fix
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-01 14:45:11 +01:00
Rafał Miłecki
a186c2ab70 mac80211: rename patches accepted upstream
This is to simplify maintenance. It's easy to say now which patches need
some extra work and/or sending upstream. Updating to newer backports
should be also simpler with this.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2018-03-01 13:54:42 +01:00
Felix Fietkau
2389ebbd48 Revert "ath: do not apply broken power limits with ATH_USER_REGD"
This reverts commit 79a768a90f.
Some devices can go over their power limits with this commit, so this
needs to be handled on a case by case basis instead

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-01 13:35:30 +01:00
Felix Fietkau
cc19aa3e71 mac80211: update the A-MSDU fast-rx patch to the latest version
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-01 13:35:29 +01:00
Felix Fietkau
d59c6b53f4 mac80211: add more minstrel fixes
Improves 2.4 GHz throughput

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-01 13:35:11 +01:00
Felix Fietkau
55bd80f6d8 mac80211: fix regression introduced by the recent minstrel changes
The cck rates array needs to be initialized for both the minstrel and
the minstrel_ht variant

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-03-01 12:03:10 +01:00
Felix Fietkau
c4c64f5305 mac80211: add an optimization for fast-rx support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-28 12:46:02 +01:00
Felix Fietkau
fb1be20d63 mac80211: sync fast-rx patch with updated version
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-23 13:58:36 +01:00
Felix Fietkau
393661640b mac80211: fix various issues with fast-rx mode
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-23 10:15:23 +01:00
Felix Fietkau
848a4abf27 ath9k: merge a RCU fix for station tx cleanup
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-22 15:37:59 +01:00
Felix Fietkau
c8d07575e5 mac80211: add minstrel improvements/fixes
- Simplify debugfs code
- Reduce size
- Fix handling of CCK rates

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 19:29:33 +01:00
Felix Fietkau
526921f20e mac80211: round up tx status headroom
Fixes unaligned access exceptions in mt76 when transmitting beacons

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 19:28:36 +01:00
Hauke Mehrtens
80771af83d mac80211: move wifi detect hotplug script to later
Make it easily possible to add a custom script in front of this hotplug
script which adds new devices. This is needed for the mvebu target in
which we want to migrate the old configuration before new devices are
getting detected.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-02-13 22:24:56 +01:00
Matthias Schiffer
bf1032d71f
mac80211: replace revert for 11s compatiblity with upstream fix
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-31 13:42:23 +01:00
Matthias Schiffer
d58c8f4029
mac80211: revert "wireless: set correct mandatory rate flags"
Revert upstream commit 1bd773c077de "wireless: set correct mandatory rate
flags", as it breaks 11s interoperability: nodes can only associate when
neither or both have this patch. As this is a regression from released
versions, revert to the old code for now.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-26 23:30:23 +01:00
Felix Fietkau
166741240a mac80211: mesh: drop frames appearing to be from us
Upstream backport to fix issues arising from devices with duplicate MAC
addresses

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-01-25 10:54:14 +01:00
Felix Fietkau
e2c0e904c0 ath9k: discard undersized packets
Sometimes the hardware will push small packets that trigger a WARN_ON
in mac80211. Discard them early to avoid this issue.

Reported-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-01-17 12:32:48 +01:00
Felix Fietkau
765599cb0e mac80211: remove support code for authsae
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-01-17 11:05:11 +01:00
Matthias Schiffer
e9fa0b9f3a
ath9k, ath10k(-ct): move spectral scan support under a separate config symbol
Backport patches that separate spectral scan support from general debugfs
support of ath9k/ath10k; this allows to remove the dependency on
KERNEL_RELAY from these driver packages even with debugfs enabled and
avoids the memory footprint of the relay buffers allocated by ath9k/ath10k
even when they aren't used at all.

The KERNEL_RELAY dependency is moved to a new config symbol that enables
spectral scan support in these drivers.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2018-01-13 19:54:45 +01:00
Sven Eckelmann
f39fc67c8e mac80211: ath10k: search DT for BDF variant info
Board Data File (BDF) is loaded upon driver boot-up procedure. The right
board data file is identified on QCA4019 using bus, bmi-chip-id and
bmi-board-id.

The problem, however, can occur when the (default) board data file cannot
fulfill the vendor requirements and it is necessary to use a different
board data file.

This problem was solved for SMBIOS by adding a special SMBIOS type 0xF8.
Something similar has to be provided for systems without SMBIOS but with
device trees. No solution was specified by QCA and therefore a new one has
to be found for ath10k.

The device tree requires addition strings to define the variant name

    wifi@a000000 {
    	status = "okay";
    	qcom,ath10k-calibration-variant = "RT-AC58U";
    };

    wifi@a800000 {
    	status = "okay";
    	qcom,ath10k-calibration-variant = "RT-AC58U";
    };

This would create the boarddata identifiers for the board-2.bin search

 *  bus=ahb,bmi-chip-id=0,bmi-board-id=16,variant=RT-AC58U
 *  bus=ahb,bmi-chip-id=0,bmi-board-id=17,variant=RT-AC58U

Signed-off-by: Sven Eckelmann <sven.eckelmann@open-mesh.com>
2018-01-13 07:58:19 +01:00
Zoltan HERPAI
1f8585cf99 merge: ssid: update default ssid
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2017-12-08 19:41:18 +01:00
Felix Fietkau
111b499024 mac80211: tweak TSQ settings
Latencies can be much higher on wifi devices, especially with
aggregation. Tune the network stack setting introduced in the previous
commit to account for that.
This commit reintroduces the previously reverted one with a fix for the
crash issues

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-29 17:46:41 +01:00
Felix Fietkau
47fa8654a1 Revert "mac80211: tweak TSQ settings"
This reverts commit 2dc485250d.
This patch needs some additional checks in order to avoid overwriting
unrelated fields for request sockets.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-28 14:23:43 +01:00
Felix Fietkau
6a6dc94e0c mac80211: fix a race condition that could lead to a use-after-free on a timer
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-20 20:05:19 +01:00
Felix Fietkau
9247864b6e mac80211: fix netlink family id for nl80211 messages
Fixes responses for nl80211 calls

Reported-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-20 17:52:51 +01:00
Luis Araneda
1c139d664b mac80211: enable brcmfmac's SDIO support on sunxi target
Needed to support some SDIO connected cards, like AMPAK modules

Signed-off-by: Luis Araneda <luaraneda@gmail.com>
2017-11-17 08:20:22 +01:00
Felix Fietkau
2dc485250d mac80211: tweak TSQ settings
Latencies can be much higher on wifi devices, especially with
aggregation. Tune the network stack setting introduced in the previous
commit to account for that

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-16 15:23:55 +01:00
Felix Fietkau
f9fa266faf mac80211: update to wireless-testing 2017-11-01
The wireless regdb is now loaded via firmware loading, CRDA support and
built-in regdb support have been removed.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-16 15:23:35 +01:00
Felix Fietkau
d91494eedf hostapd: rework frequency/ht/vht selection for ibss/mesh
- Remove obsolete patch chunks regarding fixed_freq
- Instead of patching in custom HT40+/- parameters, use the standard
config syntax as much as possible.
- Use fixed_freq for mesh
- Fix issues with disabling obss scan when using fixed_freq on mesh

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-15 18:49:12 +01:00
Antonio Quartulli
0da54fa642 mac80211: don't pass the hostapd ctrl iface in adhoc
Passing the ctrl iface to wpa_supplicant will automatically cause wpa_supplicant
to send "STOP_AP" messages to the hostapd. This breaks the AP interfaces.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
2017-11-15 18:49:12 +01:00
Mathias Kresin
8d3857a347 ath9k: unset the default LED pin if used by platform buttons
Unset the default LED gpio pin if the same gpio pin is used by a button
defined via platform button. It prevents the change of the GPIO value
on wireless up/down or wireless traffic.

Fixes: FS#1129

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-11-04 09:50:13 +01:00
Jonas Gorski
3689f7c8ef mac80211: ath10k: switch to AutoProbe
Now that we have working module dependency generation, we can switch to
AutoProbe and let modprobe handle loading required modules.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-10-27 13:06:15 +02:00
Jonas Gorski
1dcd8e7cf1 mac80211: backport fixes for fix for CVE-2017-13080
Backport two fixes for the fix of CVE-2017-13080, preventing side channel
attacks and making it work for TKIP.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-10-26 15:41:07 +02:00
Stijn Tintel
2f701194c2 mac80211: backport kernel fix for CVE-2017-13080
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-10-17 01:56:31 +03:00
Hauke Mehrtens
08bbb804c8 mac80211: ath6kl: add missing usb-core dependency to kmod-ath6kl-usb
This fixes a build problem with many targets.

Fixes 618ed77a17 ("mac80211: add ath6kl kernel modules")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-10-15 10:53:46 +02:00
Ben Whitten
618ed77a17 mac80211: add ath6kl kernel modules
Allow board to include the ath6kl kernel modules.

Signed-off-by: Ben Whitten <ben.whitten@gmail.com>
2017-10-15 00:24:21 +02:00
Felix Fietkau
5bd006aa26 mac80211: fix tx power regression
Revert an accidental change that was introduced by having an old version
of the patch in my git tree, which was merged in 609208597b

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-10-13 20:28:47 +02:00
Felix Fietkau
609208597b mac80211: update to wireless-testing 2017-10-06
Rework the code to get rid of some extra kernel module dependencies
introduced in the last update.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-10-13 11:45:57 +02:00
Hauke Mehrtens
ba1aedafeb mac80211: fix compile error on PowerPC (PPC_85xx)
Including linux/interrupt.h in linux/hrtimer.h causes this error message
on PowerPC builds on x86, ARM and MIPS it works:

  CC [M]  /backports-4.14-rc2-1/compat/main.o
In file included from /backports-4.14-rc2-1/backport-include/linux/printk.h:5:0,
                 from ./include/linux/kernel.h:13,
                 from /backports-4.14-rc2-1/backport-include/linux/kernel.h:3,
                 from ./include/linux/list.h:8,
                 from /backports-4.14-rc2-1/backport-include/linux/list.h:3,
                 from ./include/linux/module.h:9,
                 from /backports-4.14-rc2-1/backport-include/linux/module.h:3,
                 from /backports-4.14-rc2-1/compat/main.c:1:
./include/linux/ratelimit.h: In function 'ratelimit_state_exit':
./include/linux/ratelimit.h:62:11: error: dereferencing pointer to incomplete type 'struct task_struct'
    current->comm, rs->missed);
           ^
./include/linux/printk.h:279:37: note: in definition of macro 'pr_warning'
  printk(KERN_WARNING pr_fmt(fmt), ##__VA_ARGS__)
                                     ^
./include/linux/ratelimit.h:61:3: note: in expansion of macro 'pr_warn'
   pr_warn("%s: %d output lines suppressed due to ratelimiting\n",
   ^

The backport of the hrtimer_start() functions needs the
linux/interrupt.h because some parts are defined there. Fix this by
moving the hrtimer_start() backport to the linux/interrupt.h backport
header file.

Fixes: a8f63a0717: ("mac80211: update to backports-4.14-rc2")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-10-01 16:41:19 +02:00
Hauke Mehrtens
a8f63a0717 mac80211: update to backports-4.14-rc2
This updates mac80211 to backprots-4.14-rc2.
This was compile and runtime tested with ath9k, ath10k and b43
with multiple stations and ieee80211w and in different scenarios by many
other people.

To create the backports-4.14-rc2-1.tar.xz use this repository:
https://git.kernel.org/pub/scm/linux/kernel/git/backports/backports.git
from tag v4.14-rc2-1

Then run this:
./gentree.py --git-revision v4.14-rc2 --clean  <path to linux repo> ../backports-4.14-rc2-1

This also adapts the ath10k-ct and mt76 driver to the changed cfg80211
APIs and syncs the nl80211.h file in iw with the new version from
backports-4.14-rc2.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-10-01 12:49:11 +02:00
Hauke Mehrtens
45d0b88e44 mac80211: make iwlwifi select AC support
Some NICs supported by this driver support ieee80211 AC.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-09-17 15:08:53 +02:00
Hauke Mehrtens
aa00d11526 linux-firmware: pack Intel iwl FW separately
Do not create one big package with all the Intel firmware files
supported by the iwlwifi driver, but use a separate package for each
chip.

This also updates some 7000 and 8000 series firmware files to more
recent version. The older versions shipped are not supported by the
current driver any more.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-09-17 15:08:52 +02:00
Hauke Mehrtens
1b2c93988f mac80211: add dev_coredumpm() function
dev_coredumpm() was added with kernel 4.7, but it is used by iwlwifi.
When the dev coredump framework form compat-wireless is used this is not
a problem because it already contains this, but this is deactivated if
the build system finds out that it is already included in the kernel we
compile against. This option was now activated by the bluetooth driver
btmrvl. Having dev coredump in the kernel adds about 400 bytes to the
lzma compressed kernel for brcm47xx.

This is copied from a more recent backports version to add the
dev_coredumpm() function when the internal core devdump is not used.

Fixes: a5922f6 ("kernel: bluetooth: add marvell sdio bluetooth module")
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-09-17 14:54:28 +02:00
Lorenzo Santina
fd84ecda7d treewide: fix shellscript syntax errors/typos
Fix multiple syntax errors in shelscripts (of packages only)
These errors were causing many conditions to not working properly

Signed-off-by: Lorenzo Santina <lorenzo.santina@edu.unito.it>
[increase PKG_RELEASE, drop command substitution from directip.sh]
Signed-off-by: Mathias Kresin <dev@kresin.em>
2017-09-13 08:07:54 +02:00
Toke Høiland-Jørgensen
76c3a033f6 ath10k: Re-enable intermediate softqueues for all devices
The upstream ath10k driver disables the intermediate softqueues for some
devices. This patch reverts that behaviour and always enables the
softqueues (and associated bufferbloat fixes). We have had reports of people
running this with good results:
https://lists.bufferbloat.net/pipermail/make-wifi-fast/2017-September/001497.html

This also refreshes mac80211 patches.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2017-09-11 17:16:17 +02:00
Felix Fietkau
ea72f22bdf ath9k: fix regression in multicast buffering fix
Update the more data flag on the last frame, but tx from the first frame
on.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-07-25 19:48:18 +02:00
Felix Fietkau
35868234e7 ath9k: fix typo in US tx power reduction fix
Use max_t instead of min_t to prevent the value from going below zero

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-07-25 09:14:05 +02:00
Felix Fietkau
22a74ed310 ath9k: fix more-data flag for buffered multicast packets
The flag needs to be cleared for the last packet in the list, not the
first one. Fixes some issues with multicast packet loss for powersave
clients connected to an ath9k AP.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-07-24 10:48:26 +02:00
Felix Fietkau
9b6585b11a ath9k: adjust tx power reduction for US regulatory domain
FCC regulatory rules allow for up to 3 dBi antenna gain. Account for
this in the EEPROM based tx power reduction code.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-07-24 10:47:55 +02:00
Felix Fietkau
45572fe831 mac80211: refresh patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-06-17 11:51:41 +02:00
Pavel Kubelun
025cb640cd ath10k: increase bmi timeout to fix OTP on qca99xx boards and add bmi identification through pre-cal file
Backporting upstream patches.

Signed-off-by: Pavel Kubelun <be.dissent@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [refresh, rename patches]
2017-06-17 11:51:41 +02:00
Felix Fietkau
c6c1f6a548 mac80211: use KERNEL_MAKEOPTS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-06-07 18:31:10 +02:00
Hans Ulli Kroll
ce7681d328 mac80211: add support for rtl8821ae pcie adapter
Add support for Realtek RTL8821AE/RTL8812AE PCIe adapter.
This device supports 802.11ac and bluetooth

testet on PC Engines APU with AP and STA mode

Signed-off-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
2017-05-21 23:51:21 +02:00
Daniel Golle
5e5499c612 mac80211: rt2x00: remove unneccessary code
Use chanreg and dccal helpers to reduce the size of ePA code.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: fixed white-space so patch applies]
2017-05-18 13:51:28 +02:00
Jo-Philipp Wich
4a03347545 mac80211: gracefully handle preexisting VIF
Gracefully handle cases where the to-be-created wireless interface already
exists on the system which might commonly happen with non-multi-SSID capable
wireless drivers.

This fixes commit 8301e61365 which caused
previously ignored "Too many open files in system (-23)" errors to fail the
wireless setup procedure.

With the updated approach we'll still try recreating the vif after one
second if the first attempt to do so failed with ENFILE but we will now
consider the operation successfull if a second attempt still yields ENFILE
with the requested ifname already existing on the system.

Fixes FS#664, FS#704.

Suggested-by: Vittorio Gambaletta <openwrt@vittgam.net>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-05-14 21:43:11 +02:00
Matthias Schiffer
1a16cb9c67
mac80211, hostapd: always explicitly set beacon interval
One of the latest mac80211 updates added sanity checks, requiring the
beacon intervals of all VIFs of the same radio to match. This often broke
AP+11s setups, as these modes use different default intervals, at least in
some configurations (observed on ath9k).

Instead of relying on driver or hostapd defaults, change the scripts to
always explicitly set the beacon interval, defaulting to 100. This also
applies the beacon interval to 11s interfaces, which had been forgotten
before. VIF-specific beacon_int setting is removed from hostapd.sh.

Fixes FS#619.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2017-05-13 17:12:54 +02:00
Chris Blake
ad0c1d3a31 mac80211: Backport AR934x OTP Patch
Merged upstream in https://patchwork.kernel.org/patch/9572541/, this
patch fixes the OTP offset used by the AR934x and AR955X to properly
enable reading from the OTP.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
2017-04-26 10:29:45 +02:00
Daniel Golle
61cfc8075b mac80211: rt2x00: add incomplete support for external PA on MT7620
Do as the vendor driver does -- however, some devices apparently
patched support for external PA into the driver similar to how it was
done on Rt3352, using EEPROM_NIC_CONF1 rather than EEPROM_NIC_CONF2,
hence we check for both fields. Somehow the vendor driver also no
longer offers the option of only one of the TX paths having an external
PA (which was probably to weird to ever be implemented in practise,
though it doesn't seem like a particularly bad idea to me). Do the same
in rt2x00 and enable support for external PA on both TX paths whenever
it is set for TX0 in EEPROM.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-04-24 16:33:51 +02:00
Daniel Golle
3d71d1d9a9 mac80211: rt2x00: reorder patches and prepare for MT7620 external PA
Import change to make external PA capability consistent with the
vendor driver instead of having the logic inverted.
While at it, apply patches in the same order as they got merged
upstream.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-04-24 16:33:34 +02:00
Tomislav Požega
e209988a17 mac80211: rt2800: fix mt7620 E2 channel registers
update RF register 47 and 54 values according to vendor driver

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: moved changes into a separate patch]
2017-04-18 12:00:51 +02:00
Tomislav Požega
d2f864f7bf mac80211: rt2800: fix mt7620 vco calibration registers
Use register values from init LNA function instead of the ones from
restore LNA function. Apply register values based on rx path
configuration.

Signed-off-by: Tomislav Požega <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
[daniel@makrotopia.org: moved changes into a separate patch]
2017-04-18 11:24:58 +02:00
Felix Fietkau
00b32b8326 mac80211: fix kconfig recursive dependency warning
Make brcmfmac depend on !TARGET_uml.
Technically, brcmfmac could be built for uml because only SDIO support
won't work on that target. However, selectively avoiding the dependency
propagation of !TARGET_uml from kmod-mmc to avoid including a reference
to BRCMFMAC_SDIO doesn't work.

In practice, brcmfmac is completely useless on uml, so let's just
disable it there.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-04-18 09:45:18 +02:00
Daniel Golle
97d1c49cac mac80211: rt2x00: fix MT7620 LNA gain and VCO-after-ALC
This should fix issues with bad RX as well as AP not coming up and/or
scanning failing.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-04-17 21:38:32 +02:00
Jonas Gorski
7d4147d869 mac80211: add rt2x00 debug symbols to PKG_CONFIG_DEPENDS
Chaning these symbols require a recompilation of the modules, so make the
system aware of it.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-04-12 12:48:35 +02:00
Jonas Gorski
5ba8185866 mac80211: manually apply dependencies to prevent a recoursive one
Apply the !UML dependency to both the symbol and the DEPENDS so there is
no recursive dependency anymore.

Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
2017-04-12 12:48:35 +02:00
Matthias Fritzsche
796629207b mac80211: conistent wireless.wiki.kernel.org
Change all the URLs to wireless.wiki.kernel.org to have
the same protocol, domain and path.

Signed-off-by: Matthias Fritzsche <txt.file@txtfile.eu>
2017-04-12 10:57:54 +02:00
Mathias Kresin
4a4c00e7c4 ath9k: drop obsolete patch
Now that the wireless LEDs are added via platform leds this patch isn't
required any longer.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-04-08 14:30:00 +02:00
Mathias Kresin
b06559e5b7 ath9k: ignore led_pin if ath9k GPIO controller is used with DT
Don't setup the default led pin if the ath9k GPIO controller is used
via device tree to prevent collision. In case any of the pins exposed
by the ath9k is used, the phyNtpt trigger needs to be set in userspace.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-04-08 14:30:00 +02:00
Mathias Kresin
20b45df7eb ath9k: enable GPIO chip only if requested via DT
In case that the atheros device tree binding is used, enable access to
the GPIO chip only if the gpio-controller device tree parameter is used
for the ath9k node.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-04-08 14:30:00 +02:00
Mathias Kresin
192f0a3db8 ath9k: unset the default LED pin if used by platform leds
Unset the default LED gpio pin if the same gpio pin is used by a LED
defined via platform LED. This prevents that the default led trigger
gets assigned to this LED and the GPIO value gets changed on
wifi up/down in case the led is not used for signaling the wifi state.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2017-04-08 14:30:00 +02:00
Felix Fietkau
cffeb31107 mac80211: backport an upstream fix for queue start/stop handling
Fixes issues with 802.11s

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-04-03 15:12:06 +02:00
Daniel Golle
399d5cf532 mac80211: rt2x00: import upstream changes and rebase our patches
Some of our local patches have been accepted upstream. And there are
some more relevant changes (mostly for rt2800usb). Import them and
rebase our remaining local patches on top.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-03-30 18:31:02 +02:00
Hannu Nyman
c69a89fe23 mac80211: ath10k: allow failure getting board id via otp
ath10k tries to fetch board id via otp, but that fails for many chips
like QCA988x, QCA9984 etc. Recent commit cc189c0b7f removed the earlier
hack that had allowed QCA radios to work, as that hack was incompatible
with the new wifi chips being introduced to the source tree.

Restore functionality for the existing wifi chips by modifying the
return value of the 'board id via otp' function to a value that is recognised
as a harmless error, so that name evaluation continues by using the board file.

Patch originally suggested by Christian Lamparter in forum discussion.

Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
2017-03-28 08:50:18 +02:00
Felix Fietkau
09ae540cd4 ath9k: fix power limits on init
The tx power applied by set_txpower is limited by the CTL (conformance
test limit) entries in the EEPROM. These can change based on the user
configured regulatory domain.
Depending on the EEPROM data this can cause the tx power to become too
limited, if the original regdomain CTLs impose lowr limits than the CTLs
of the user configured regdomain.

To fix this issue, set the initial channel limits without any CTL
restrictions and only apply the CTL at run time when setting the channel
and the real tx power.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-03-22 20:49:29 +01:00
Felix Fietkau
79a768a90f ath: do not apply broken power limits with ATH_USER_REGD
If a device uses the default EEPROM code, typically only the main CTLs
are valid, and they do not apply properly when switching to a different
regulatory domain. If the regdomain deviates from the EEPROM one, force
the world roaming regdomain to ensure that power limits are sane

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-03-22 20:49:28 +01:00
Vittorio Gambaletta
8301e61365 mac80211: Fix race condition leading to wifi interfaces not coming up at boot sometimes.
In the drv_mac80211_setup function, mac80211_interface_cleanup
is called to ask the kernel to delete all existing interfaces
for the phy that is being configured via netlink.

Later in the first function, mac80211_prepare_vif is called to
set up the new interfaces as required.

But sometimes, when mac80211_prepare_vif (and so the relevant
`iw phy x interface add y` command) runs, the kernel might still
be cleaning up the old interface with the same ifname. It usually
takes very few time to do that; possibly a few milliseconds of
sleep in the script after detecting this error condition could be
enough, but the busybox sh does not support sub-second sleep
intervals.

When this happens, iw obviously fails to create the new interface;
and the following message is printed in the system log, followed by
subsequent failure messages from hostapd in case this would have been
an AP interface.

Tue Mar 14 04:21:57 2017 daemon.notice netifd: radio1 (2767): command failed: Too many open files in system (-23)

This was a long-standing issue existing since at least OpenWrt Backfire,
and today I finally managed to debug and (hopefully) solve it.
It was happening very few times on most devices; but it was happening
a lot more frequently on fast platforms with multiple radios, such as
the powerpc-based dual-ath9k-radio tl-wdr4900-v1.

Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>
2017-03-22 11:42:43 +01:00
Christian Lamparter
cc189c0b7f mac80211: enable ath10k AHB support for QCA4019
This patch enables the ATH10K_AHB support for the QCA4019
devices on the AHB bus.

This patch also removes 936-ath10k_skip_otp_check.patch
because it breaks the AHB device identification.
"Patch is wrong. I find it frustrating OpenWRT/LEDE doesn't
try to work with upstream on ixing these things right."

[1] <https://www.mail-archive.com/ath10k@lists.infradead.org/msg05896.html>

It also limits ath10k memory hunger (This is a problem with 128MiB RAM)

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2017-03-22 09:45:18 +01:00
Rafał Miłecki
13006712ea mac80211: brcmfmac: backport patches pushed on 2017-03-20
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-03-21 10:45:30 +01:00
Ryan Mounce
8b12e62e9c mac80211: Update wireless-regdb to master-2017-03-07
The short log of changes since the 2016-06-10 release is below.

Jouni Malinen (1):
      wireless-regdb: Remove DFS requirement for India (IN)

Ryan Mounce (1):
      wireless-regdb: Update rules for Australia (AU) and add 60GHz rules

Seth Forshee (2):
      wireless-regdb: Update 5 GHz rules for Canada
      wireless-regdb: update regulatory.bin based on preceding changes

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
2017-03-16 11:28:35 +01:00
Daniel Golle
562484f25c rt2x00: mt7620: make fixes requested upstream
Introduce RT6352 instead of matching against RF7620.
Clean up channel setting rfvals.
Port bandwidth filter calibration.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-03-11 20:47:13 +01:00
Álvaro Fernández Rojas
d3a2068b8d mac80211: mwifiex-sdio: select DRIVER_11AC_SUPPORT
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-03-11 19:32:34 +01:00
Álvaro Fernández Rojas
a856c8a824 mac80211: mwifiex-pcie: select DRIVER_11AC_SUPPORT
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-03-11 19:32:32 +01:00
Álvaro Fernández Rojas
26d1b66895 mac80211: mwifiex-sdio: select kmod-mmc instead of PCI_SUPPORT
Should fix buildbot issues.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-03-11 19:32:14 +01:00
Henryk Heisig
fb436f49ad mac80211: add support for Marvell 802.11n/802.11ac SDIO Wireless cards
This adds option to build kernel module and firmware packages
for a Marvell 8887 SDIO Wireless device

Signed-off-by: Henryk Heisig <hyniu@o2.pl>
2017-03-11 14:16:28 +01:00
Daniel Golle
181bc02d2e rt2x00: mt7620: yet another beauty session
So here is another round of improvements for MT7620 WiFi.

This commit fixes a few significant issues related to TX_PWR_CFG_x and
TX_ALC and also makes the code more readable by adding register
descriptions for things added for MT7620 and use the usual bit-field
access macros and the now defined macros instead of plain bit-ops and
magic numbers.

Properly describe EEPROM_TARGET_POWER at word 0x68 (== byte 0xD0) and
thereby fix internal TXALC which would otherwise just read
out-of-bounds of the EEPROM map.

Split-out tx-power/ALC related stuff into an additional function.
Fix VCO calibration, it was carried out properly in the channel
switching but incomplete in the actual VCO calibration function.
Also there is no need to trigger VCO calibration in channel switching,
the VCO calibration function is already being called at this point.
Remove it from channel switching function to avoid redundant code.

The TX power calibration differs significantly from all other
Mediatek/Ralink chips: They finally allow 0.5dB steps stored as 8-bit
values for (almost) each bitrate -- and promptly ran out of space and
for some reason didn't want to change the EEPROM layout. The hence
opted for a scheme of sharing values for some adjecent bitrates and
a highly over-complicated (or obfuscated?) way to populate the
TX_PWR_CFG_x registers with the values stored in the EEPROM.
The code here now looks much less complicated than what you see in the
vendor's driver, however, it does the exact same thing:
bGpwrdeltaMinus is a constant and always TRUE, hence half of the
code was dead. Gpwrdelta is always 0 (rather than using the value read
from the EEPROM). What remains is some very grotesque effort to avoid
0x20, probably some hardware bug related to some misunderstanding of
what a singed 8-bit value is (imagine: if it was a signed 6-bit value
then someone could believe that 0x20 == 0x0). And then they didn't
clean it up once they later on anandonned that whole story of having a
constant offset for 40 MHz channels and just set the offset to be
constant 0 -- there is no effort for avoiding 0x20 for the 20 MHz
values stored in the EEPROM, hence that's probably just a forbidden
value in the EEPROM specs and won't appear anyway...
Anyway, the whole thing felt like solving some college math test
where in the end everything cancels out and the result equals 0 ;)
To make sure that channel bandwidth power compensation really doesn't
need to be taken care of, output a warning when the corresponding
value stored in the EEPROM is non-zero.

Also there is no apparent reason to refrain from initializing RFCSR
register 13, it doesn't fail what-so-ever.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-03-09 17:56:16 +01:00
Rafał Miłecki
339de82347 mac80211: brcmfmac: always print error when PSM's watchdog fires
This error is important enough to be displayed even without debugging.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-03-01 07:10:48 +01:00
Yousong Zhou
8d8ef24eeb mac80211: hwsim: select DRIVER_11AC_SUPPORT and DRIVER_11W_SUPPORT
This is required for default wireless configuration of malta target to
work out of the box again.  Fixes "77ece30e: hostapd: Add ability to
specify that that wireless driver supports 802.11ac"

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2017-02-24 21:35:31 +08:00
Felix Fietkau
9edff13abd mac80211: disable potentially harmful PS software retry for A-MPDU sessions
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-23 16:26:33 +01:00
Felix Fietkau
4137b8b764 mac80211: rename patch to avoid duplicate number
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-22 22:52:47 +01:00
Felix Fietkau
f28eef4460 mac80211: refresh patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-12 15:57:37 +01:00
Koen Vandeputte
75216a76b0 mac80211: backport upstream fix for CSA in IBSS mode
Allows to change channels on-the-fly using CSA when using IBSS.

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-02-12 15:57:37 +01:00
Felix Fietkau
764cd09dd8 ath9k: fix various issues in the airtime-fairness implementation
Effects of the bugs could include memory corruption, tx hangs, kernel
crahes, possibly other things as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-12 14:27:41 +01:00
Rafał Miłecki
368cc8ef47 mac80211: update brcmfmac backporting brcmf_err cleanups
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-10 00:40:49 +01:00
Felix Fietkau
66a63d25c4 mac80211: fix build on linux 3.18
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-09 14:22:26 +01:00
Daniel Golle
9eacb9d7fc rt2x00: mt7620: lots of improvements
This commit combines all the changes I've made on my staging tree
into a single commit fixing many issues with our patch for MT7620.

First of all, checkpatch.pl revealed numerous code style issues with
the patch, so fix all the white-space and commets. Also use
usleep_range instead of legacy timing and relax timing for VCO
calibration just like the vendor driver does.

Several line programming registers were commented out in the patch.
Originally this came from the features present but disabled by default
in the vendor's driver (RTMP_TEMPERATURE_CALIBRATION and
ADJUST_POWER_CONSUMPTION_SUPPORT). Remove the dead code for now, it can
easily be re-added if we actually intend to support those features.

Move values from mt7620_freqconfig type into the existing rf_channel
struct, this shouldn't be a new typedef and it is possible to use the
existing struct because rf_channel got 4 32-bit fields, so two of the
8-bit values from mt7620_freqconfig can easily be stored in the same
32-bit field.

Map values such that
Rdiv -> rf1
N    -> rf2
K    -> rf3[0:7]
D    -> rf3[8:15]
Ksd  -> rf4

This makes the channel switching logic already look a bit more like
what we are used to in rt2x00... Probably many of the read-modify-write
calls could still be replaced by macros intended for that.

iq calibration seems to be identical to RT5592, so just enable it.
Test shows that this improves things quite a lot, datarates went up
by a couple of megabits when running iperf, signal quality seems jumpy
in the first few seconds once a station connencts, the stabelizes on a
value significantly better than what it was before.

Add description to the patch and reference the original OpenWrt commit
by which it was added.

The patch now passes checkpatch.pl and can thus be discussed with the
upstream authors of the rt2x00 driver.

Funded-by: https://www.kickstarter.com/projects/1327597961/better-support-for-mt7620a-n-in-openwrt-lede/

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-02-08 22:21:26 +01:00
Álvaro Fernández Rojas
fd94fa61a7 mac80211: brcmfmac: update Raspberry Pi patches for linux 4.9
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 23:16:26 +01:00
Álvaro Fernández Rojas
deb15cb23c brcmfmac: improve Raspberry Pi 3 stability
- Really disable power management (wrong config flags).
- Disable internal roaming engine.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2017-02-07 15:17:44 +01:00
Felix Fietkau
2a4d2e4519 mac80211: fix ath9k kernel crash with linux 4.9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-07 11:38:54 +01:00
Felix Fietkau
649e766a64 mac80211: update to wireless-testing 2017-01-31
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-06 12:27:12 +01:00
Felix Fietkau
47540afa5d ath9k: add a warning to the tx99 config option
Lots of users try random stuff when they encounter any kind of
difficulty. I've had to debug a number of cases where people had enabled
this option for no reason. Hopefully this warning will reduce the number
of useless support cases.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-02 12:44:38 +01:00
Rafał Miłecki
b622f40249 mac80211: brcmfmac: backport wowlan netdetect fixes
I needed a moment to figure out relation between this patchset and the
nl80211: fix validation of scheduled scan info for wowlan netdetect

It appears nl80211 commit will go on top of brcmfmac changes so it's
safe to backport these patches.

One patch that was excluded is commit 2a2a5d1835b6 ("brcmfmac: add
.update_connect_params() callback") as it depends on missing commit
088e8df82f91 ("cfg80211: Add support to update connection parameters").

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-02 11:35:46 +01:00
Rafał Miłecki
99d3774a3c mac80211: brcmfmac: backport PSM watchdog improvements
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-02 10:04:57 +01:00
Rafał Miłecki
4491979dc9 mac80211: brcmfmac: backport minor code cleanups
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-02 09:59:23 +01:00
Rafał Miłecki
2a1d8c1f79 mac80211: brcmfmac: backport 4.10 fixes & typo fix
This includes memory leak fix in initialization path.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-02 09:51:34 +01:00
Rafał Miłecki
863a06b0a4 mac80211: brcmfmac: backport scheduled scan cleanup and chip support
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-02 09:49:35 +01:00
Rafał Miłecki
4e611ac5df mac80211: brcmfmac: backport some old patches from 2016
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-02 09:45:59 +01:00
Rafał Miłecki
52be05e190 mac80211: rename brcmfmac patches to use higher prefix
There are more patches to backport that should go before these.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-02-02 09:39:31 +01:00
Rafał Miłecki
1a14ffaf2b mac80211: start hostapd with logging wpa_printf messages to syslog
Some debugging/error messages are printed using wpa_printf and this
change allows finally reading them out of the syslog.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-31 13:55:38 +01:00
Felix Fietkau
33a840a3ff ath9k: remove the deaf rx path state check patch
This needs to be refined and reworked before we can safely leave it
enabled by default

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-31 11:44:36 +01:00
Felix Fietkau
82d580e8b5 ath9k: fix up a refcount imbalance error in the IRQ related fix
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-27 15:43:28 +01:00
Felix Fietkau
b94177e10f ath9k: add stability fixes for long standing hang issues (FS#13, #34, #373, #383)
The radio would stop communicating completely. This issue was easiest to
trigger on AR913x devices, e.g. the TP-Link TL-WR1043ND, but other
hardware was occasionally affected as well.

The most critical issue was a race condition in disabling/enabling IRQs
between the IRQ handler and the IRQ processing tasklet

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-25 16:25:48 +01:00
Felix Fietkau
4cacc1c5f5 mac80211: refresh patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-25 16:25:48 +01:00
Rafał Miłecki
4376e69473 mac80211: brcmfmac: don't use uninitialize mem for country codes
There was a bug in brcmfmac patch that could result in treating random
memory as source of country codes.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-24 16:55:21 +01:00
Felix Fietkau
6b013019f9 Add back the commit "ath9k: Add airtime fairness scheduler"
This reverts commit c296ba834d.
According to several reports, the issues with the airtime fairness
changes are gone in current versions.
It's time to re-apply the patch now.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-24 16:21:25 +01:00
Daniel Golle
b367eef21d mac80211: rt2x00: add support for external LNA on MT7620
Reported-by: Tom Psyborg <pozega.tomislav@gmail.com>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-01-20 16:09:52 +01:00
Rafał Miłecki
9200e168f2 mac80211: move (& update) upstream accepted brcmfmac patches
These 3 patches are now in wireless-drivers-next tree.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-18 07:49:52 +01:00
Rafał Miłecki
25200ae7a5 mac80211: brcmfmac: add early (& hacky) patch for storing country codes
This allows some basic region switching on Netgear R8000. More devices &
codes may be added. Ideally it should be converted into DT info & patch.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-16 00:32:27 +01:00
Rafał Miłecki
5fba00a686 mac80211: use wiphy_read_of_freq_limits in brcmfmac
This makes use of cfg80211 feature backported & described in
188626f17c ("mac80211: backport cfg80211 support for
ieee80211-freq-limit DT property").

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-15 23:10:55 +01:00
Felix Fietkau
e7e91e62bb mac80211: backport a fix for a tx related race condition
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-14 18:28:28 +01:00
Felix Fietkau
a46d1fde4b mac80211: refresh patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-14 18:28:24 +01:00
Koen Vandeputte
adf2fef5e8 mac80211: backport some upstream fixes
Backports the following upstream fixes:

mac80211: initialize fast-xmit 'info' later
mac80211: fix legacy and invalid rx-rate report
mac80211: fix tid_agg_rx NULL dereference

Compiled and tested on: cns3xxx

Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-01-14 18:28:21 +01:00
Hauke Mehrtens
5b089e45a6 kernel: update 4.4 kernel to 4.4.42
Refresh patches on all 4.4 supported platforms.
Compile & run tested: lantiq/xrx200

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2017-01-13 23:05:36 +01:00
Felix Fietkau
2b6284f5a8 mac80211: fix broken spatial multiplexing defaults
Most mac80211 drivers leave the SMPS field in the HT capabilities
uninitialized (unfortunately defaults to static SMPS), which leads to
some devices limiting themselves to single-stream rates in some modes
(mostly mesh and IBSS).

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-13 10:22:22 +01:00
Rafał Miłecki
f714fe46a9 mac80211: pending brcmfmac patches cleaning channels management
They prepare brcmfmac for using wiphy_read_of_freq_limits.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-10 17:18:29 +01:00
Rafał Miłecki
07df80a1a6 mac80211: rename b43 patches to make more space
Just 6 patches were using 80*, 81*, 82* and 84* prefixes.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-10 16:28:17 +01:00
Rafał Miłecki
188626f17c mac80211: backport cfg80211 support for ieee80211-freq-limit DT property
This property allows specifying extra limits for wireless device in DT.
For a full documentation see upstream commit b330b25eaabd ("dt-bindings:
document common IEEE 802.11 frequency limit property").

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2017-01-06 15:52:55 +01:00
Felix Fietkau
e3072599f6 ath9k: don't run periodic and nf calibration at the same time
Might fix some stability issues on older chips

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-05 11:09:12 +01:00
Felix Fietkau
c296ba834d Revert "ath9k: Add airtime fairness scheduler"
This reverts commit 528f46d082.
After this commit, several users reported stability issues. Revert it
now so it doesn't cause issues for the upcoming release

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-01-04 01:13:58 +01:00
Stijn Tintel
b13e103d71 ath5k: select 802.11w support
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2017-01-03 20:53:48 +01:00
Alexis Green
fd718c5025 mac80211: Allow HT/VHT rates when running unencrypted mesh.
Signed-off-by: Alexis Green <agreen@cococorp.com>
2017-01-02 16:47:59 +01:00
Felix Fietkau
c9c68c7177 ath9k: fix issues with external reset on AR913x
An external reset patch for AR955x accidentally led to external reset
being issued twice on AR913x, once before the RTC reset and once after.
This may be causing some stability issues.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-27 20:55:35 +01:00
Felix Fietkau
f04b651453 ath5k: drop bogus warning on drv_set_key with unsupported cipher (FS#334)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-27 12:18:36 +01:00
Felix Fietkau
00ad43f047 ath9k: remove old rx dma stop check optimization
This commit was added to improve reset time on old SoC devices that run
into chip hangs more frequently. However with the more recent addition
of full WMAC reset on these chips, it could be problematic.
Drop this patch to ensure that DMA activity is really stopped before the
chip reset is issued

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-27 12:18:36 +01:00
Felix Fietkau
236bf83bb6 brcmfmac: select 802.11ac support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-24 12:10:37 +01:00
Toke Høiland-Jørgensen
528f46d082 ath9k: Add airtime fairness scheduler
This adds a patch that introduces airtime fairness scheduling to ath9k,
which can significantly improve network efficiency in mixed-rate
environments.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-22 16:42:19 +01:00
Alexis Green
8f3d8c0022 mac80211: ath10k specifies that it supports 802.11ac mode
Signed-off-by: Alexis Green <agreen@cococorp.com>
2016-12-20 16:24:22 +01:00
Felix Fietkau
a032940bfb Revert "ath9k: Add airtime fairness scheduler"
Accidentally pushed to the wrong branch

This reverts commit 47bc081e76.
2016-12-19 14:08:02 +01:00
Toke Høiland-Jørgensen
47bc081e76 ath9k: Add airtime fairness scheduler
This adds a patch that introduces airtime fairness scheduling to ath9k,
which can significantly improve network efficiency in mixed-rate
environments.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-19 13:59:32 +01:00
Christian Lamparter
b3a871dd3d mac80211: backport "cfg80211: limit scan results cache size"
The patch commit states:
"It's possible to make scanning consume almost arbitrary amounts
of memory, e.g. by sending beacon frames with random BSSIDs at
high rates while somebody is scanning.

Limit the number of BSS table entries we're willing to cache to
1000, limiting maximum memory usage to maybe 4-5MB, but lower
in practice - that would be the case for having both full-sized
beacon and probe response frames for each entry; this seems not
possible in practice, so a limit of 1000 entries will likely be
closer to 0.5 MB."

Signed-off-by: Johannes Berg <johannes.berg@intel.com>"

This patch was added in 4.4.36. But because LEDE backports
cfg80211, mac80211 and the wifi drivers separately, it needs
to be added manually for now. It can be dropped later as it
will be part of the next mac80211 refresh.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
2016-12-19 13:51:21 +01:00
Felix Fietkau
00bc7f0357 mac80211: merge a number of minstrel/minstrel_ht performance and memory usage improvements
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-19 13:51:21 +01:00
Felix Fietkau
720b99215d treewide: clean up download hashes
Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-16 22:39:22 +01:00
Felix Fietkau
28f6951600 ath10k: fix a soft-lockup on firmware restart
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-14 12:13:13 +01:00
Felix Fietkau
7dcccacb98 ath10k: fix a bug on sending null-func frames
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-14 12:04:52 +01:00
Felix Fietkau
66482e179b ath10k: fix DMA allocation issues
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-13 12:44:57 +01:00
Felix Fietkau
57f7f91f0c mac80211: refresh all patches
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-13 12:34:13 +01:00
Felix Fietkau
4872c36c55 ath9k: add a RCU related bugfix
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-13 12:34:12 +01:00
Martin Blumenstingl
448b9b67e1 kernel: mac80211: disable ath9k bands via device tree
These properties allow overriding the settings from the EEPROM
which indicate whether a band is enabled or not.
Setting this property is only needed when the RF circuit does not
support the 2.4GHz or 5GHz band while it is enabled nevertheless in the
EEPROM.

These patches will be replaced with a future upstream version which
will introduces an ieee80211 device tree property to disable bands.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-11-29 21:40:16 +01:00
Martin Blumenstingl
3f889418a5 kernel: mac80211: add pending ath9k EEPROM swapping patches
There are two types of swapping the EEPROM data in the ath9k driver.
Before this series one type of swapping could not be used without the
other.

The first type of swapping looks at the "magic bytes" at the start of
the EEPROM data and performs swab16 on the EEPROM contents if needed.
The second type of swapping is EEPROM format specific and swaps
specific fields within the EEPROM itself (swab16, swab32 - depends on
the EEPROM format).

With this series the second part now looks at the EEPMISC register
inside the EEPROM, which uses a bit to indicate if the EEPROM data
is Big Endian (this is also done by the FreeBSD kernel).
This has a nice advantage: currently there are some out-of-tree hacks
(in OpenWrt and LEDE) where the EEPROM has a Big Endian header on a
Big Endian system (= no swab16 is performed) but the EEPROM itself
indicates that it's data is Little Endian. Until now the out-of-tree
code simply did a swab16 before passing the data to ath9k, so ath9k
first did the swab16 - this also enabled the format specific swapping.
These out-of-tree hacks are still working with the new logic, but it
is recommended to remove them. This implementation is based on a
discussion with Arnd Bergmann who raised concerns about the
robustness and portability of the swapping logic in the original OF
support patch review, see [0].

After a second round of patches (= v1 of this series) neither Arnd
Bergmann nor I were really happy with the complexity of the EEPROM
swapping logic. Based on a discussion (see [1] and [2]) we decided
that ath9k should use a defined format (specifying the endianness
of the data - I went with __le16 and __le32) when accessing the
EEPROM fields. A benefit of this is that we enable the EEPMISC based
swapping logic by default, just like the FreeBSD driver, see [3]. On
the devices which I have tested (see below) ath9k now works without
having to specify the "endian_check" field in ath9k_platform_data (or
a similar logic which could provide this via devicetree) as ath9k now
detects the endianness automatically. Only EEPROMs which are mangled
by some out-of-tree code still need the endian_check flag (or one can
simply remove that mangling from the out-of-tree code).

[0] http://www.spinics.net/lists/linux-wireless/msg152634.html
[1] https://marc.info/?l=linux-wireless&m=147250597503174&w=2
[2] https://marc.info/?l=linux-wireless&m=147254388611344&w=2
[3] 50719b56d9/sys/dev/ath/ath_hal/ah_eeprom_9287.c (L351)

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-11-29 21:40:16 +01:00
Martin Blumenstingl
1847248fc1 kernel: mac80211: backport ath9k device tree support patches
These patches add support for configuring ath9k based devices via
devicetree. This was tested on PCI(e) based devices. This should work
for AHB based devices as well (adding more AHB specific properties may
still be needed) as soon as the ath79 platform is ready to populate the
ath9k wmac via devicetree.
This patchset was accepted upstream, more information can be found on
the linux-wireless list:
https://www.spinics.net/lists/linux-wireless/msg155474.html

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-11-29 21:40:16 +01:00
Alexey Brodkin
84d57fc485 mac80211: Make wlcore platform-independent
TI wl18xx and wl12xx are Wi-Fi/Bluetooth combo modules
that could be found on different existing boards.

But it is possible to get those modules as a separate
component and use with existing boards as well as
new boards equipped with either module may appear so we
remove dependency on OMAP instead we add dependency on MMC
because this Wi-Fi module uses SDIO interface.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Jo-Philipp Wich <jo@mein.io>
Cc: Felix Fietkau <nbd@nbd.name>
Cc: Imre Kaloz <kaloz@openwrt.org>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
2016-11-16 10:54:33 +01:00
Matthias Schiffer
fa845e9978
ath9k: add support for the HSR tuner of the Ubiquiti UAP Outdoor+
Without setting the HSR to the selected channel, the WLAN of the UAP
Outdoor+ will exhibit high packet loss in RX.

Based-on-patch-by: Stefan Rompf <stefan@loplof.de>
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-11-15 18:54:06 +01:00
Matthias Schiffer
a250556d27
ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-11-15 18:54:05 +01:00
Mathias Kresin
b6832817eb mac80211: rt2x00: add support for mac addr from device tree
Backport upstream accepted patch which allows to override the EEPROM
mac address with one from device tree.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-09 20:02:18 +01:00
Mathias Kresin
e7c019c24d mac80211: rt2x00: fold patches
The patch 615-rt2x00-fix_20mhz_clk.patch fixes code introduced by
611-rt2x00-rf_vals-rt3352-xtal20.patch and makes the the platform data
property clk_is_20mhz obsolete.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-09 20:02:18 +01:00
Mathias Kresin
4f7a0601e6 mac80211: rt2x00: add mtd-eeprom swab function
Most of the lantiq devices with ralink wifi have the EEPROM stored
in big endian byte order in flash, but the driver expects the EEPROM to
be in little endian.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-08 11:17:11 +01:00
Mathias Kresin
7f235df571 mac80211: rt2x00: remove eeprom filename dependency from mtd-eeprom
The ralink,mtd-eeprom device tree property doesn't require the
ralink,eeprom property to work.

Rework the error handling and user notification as well. Do not log an
error if the mtd-eeprom parameter isn't used. It could be intentional
and should not scare the user.

Check if the number of bytes read from the mtd devices matches the
requested number of bytes.

In case of an mtd read error, give a hint to the user which partition
was tried to read from.

In case everything is fine, notify the user as well.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-08 11:17:10 +01:00
Mathias Kresin
2516c0572e mac80211: rt2x00: improve eeprom_file property handling
Call the rt2x00lib_get_eeprom_file_name only once and from the function
where the EEPROM filename is required.

Error only out if an EEPROM file is mandatory. Use the
REQUIRE_EEPROM_FILE bit to determine if it is mandatory.

Do not set the REQUIRE_EEPROM_FILE bit while requesting an EEPROM file.
It should be (and is) set before requesting an EEPROM file.

Do not redirect users to upstream while using a function of a custom
patch.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-11-08 11:17:10 +01:00
Felix Fietkau
17ecd879b8 Revert "mwl8k: remove synchronous device init hack"
This reverts commit cb037d1842.
See 6aa07b8202 for more information

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-04 13:23:07 +01:00
Felix Fietkau
6aa07b8202 Revert "mac80211: remove ath10k delayed initialization hack"
This reverts commit efd9dec319.

ath10k can take a long time to probe, long enough for netifd to fail to
initialize already configured wireless devices

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-04 12:58:52 +01:00
Felix Fietkau
cae688544d mac80211: fix A-MSDU tx aggregation (FS#174)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-04 10:32:05 +01:00
Felix Fietkau
db82db3203 mac80211: minor cleanup
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-04 10:31:42 +01:00
Felix Fietkau
5c11a4b311 mac80211: fix a tx A-MPDU aggregation issue
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-04 10:31:27 +01:00
Felix Fietkau
12bd0f2820 mac80211: replace the previous fix with a revert of the faulty upstream commit
This avoids potential breakage in rt2x00usb

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-03 12:13:50 +01:00
Felix Fietkau
cb037d1842 mwl8k: remove synchronous device init hack
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-03 11:08:01 +01:00
Mathias Kresin
efd9dec319 mac80211: remove ath10k delayed initialization hack
LEDE no longer requires all PHYs to be initialized to
create the configuration files during bootup. This patch
removes the now obsolete ath10k patch.

Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-11-03 11:08:01 +01:00
Christian Lamparter
5f8f8a3661 base-files, mac80211, broadcom-wl: wifi detection and configuration
Currently, the wifi detection script is executed as part of
the (early) boot process. Pluggable wifi USB devices, which
are inserted at a later time are not automatically
detected and therefore they don't show up in LuCI.

A user has to deal with wifi detection manually, or restart
the router.

However, the current "sleep 1" window - which the boot
process waits for wifi devices to "settle down" - is too
short to detect wifi devices for some routers anyway.

For example, this can happen with USB WLAN devices on the
WNDR4700. This is because the usb controller needs to load
its firmware from UBI and initialize, before it can operate.

The issue can be seen on a BT HomeHub 5A as well as soon as
the caldata are on an ubi volume. This is because the ath9k
card has to be initialized by owl-loader first. Which has to
wait for the firmware extraction script to retrieve the pci
initialization values inside the caldata.

This patch moves the wifi configuration to hotplug scripts.
For mac80211, the wifi configuration will now automatically
run any time a "ieee80211" device is added. Likewise
broadcom-wl's script checks for new "net" devices which
have the "wl$NUMBER" moniker.

Issues with spawning multiple interface configuration - in
case the detection script is run concurrently - have been
resolved by using a named section for the initial
configuration. Concurrent configuration scripts will now
simply overwrite the same existing configuration.

A workaround which preserves the "sleep 1" window for just
the first boot has been added. This allows the existing
brcm47xx boot and mvebu uci-default scripts to correctly
setup the initial mac addresses and regulatory domain.

And finally, the patch renames the "wifi detect" into
"wifi config". As the script no longer produces any output
that has to be redirected or appended to the configuration
file.

Thanks to Martin Blumenstingl for helping with the implementation
and testing of the patch.

Acked-by: Jo-Philipp Wich <jo@mein.io>
Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-03 11:08:01 +01:00
Christian Lamparter
5e35b4562f base-files, mac80211, broadcom-wl: use uci to populate wireless config
Previously, wifi detect simply dumped its generated wireless
configuration to STDOUT. A second step was needed to append
the configuration to /etc/config/wireless (or create it, if
it didn't exist).

With this patch, The wifi detection script will now use uci
to update the wireless configuration directly.

This patch also makes the initially created wifi-iface a
named section ('default_radio$X' for mac80211 and
'default_wl$X' for broadcom). With this change, uci will
not print the cfgHASH to STDOUT (which would now corrupt
the wireless configuration). It will also prevent adding
duplicated wifi interface configurations, if the wifi
configuration is run concurrently.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-11-03 11:08:01 +01:00
Felix Fietkau
f78405f500 mac80211: fix regdomain change issues with CONFIG_ATH_USER_REGD
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-03 11:04:57 +01:00
Felix Fietkau
69ace0824f mac80211: fix a minor issue in the header padding patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-03 11:04:54 +01:00
Felix Fietkau
4dfc0be07b mac80211: fix AP powersave issues introduced in the last wireless-testing update (FS#241)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-11-03 11:04:30 +01:00
Felix Fietkau
b7b223be41 mac80211: backport some upstream a-msdu tx fixes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-10-17 12:18:25 +02:00
Felix Fietkau
5f9598a432 mac80211: fix build error in ath10k with hwmon enabled
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-10-17 11:01:37 +02:00
Felix Fietkau
ad51e09fd1 mac80211: update to wireless-testing 2016-10-08
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-10-13 17:06:03 +02:00
Álvaro Fernández Rojas
757228b137 mac80211: update rtl8xxxu patches
Adds the latest patches from Jes Sorensen for rtl8xxxu, which improve
rtl8732bu, rtl8192eu and rtl8188eu support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-10-08 09:41:26 +02:00
Felix Fietkau
fc88eb3fdf ath9k: remove patch causing stability issues with powersave devices (FS#176)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-30 10:50:20 +02:00
John Crispin
72e9d19f6e mac80211: fix rfkill dependency
Signed-off-by: John Crispin <john@phrozen.org>
2016-09-29 11:39:41 +02:00
Álvaro Fernández Rojas
c795794eef mac80211: use upstream patches for rtl8xxxu
Also improves rtl8188eu support.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-29 10:32:41 +02:00
Rafał Miłecki
a0ce6982d8 mac80211: backport brcmfmac changes from 2016-09-27
This fixes bug that could cause WARNING on every add_key/del_key call.
It also replaces WARNING with a simple message. They may still occur
e.g. on station going out of range and A-MPDU stall in the firmware.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-09-27 18:23:53 +02:00
Rafał Miłecki
45b73af7f6 mac80211: backport brcmfmac changes from 2016-09-26
All these patches are in wireless-drirvers-next. There is support for
hidden SSID, few new devices and many fixes.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-09-27 07:00:53 +02:00
Felix Fietkau
da4e81960d mac80211: fix crash in mac80211_hwsim
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-26 16:19:58 +02:00
Álvaro Fernández Rojas
092e77d948 rtl8xxxu: add support for rtl8188eu
Patches by Jes Sorensen:
https://git.kernel.org/cgit/linux/kernel/git/jes/linux.git/

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-15 20:23:46 +02:00
Álvaro Fernández Rojas
f7670a2d07 mac80211: stop brcmfmac from selecting all SDIO firmwares
Now that we have firmwares separated and brcm2708 being the only target that
actually selects SDIO support, avoid selecting all firmwares by default.
sunxi should select the proper firmwares once SDIO support is enabled and
tested.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-15 20:23:46 +02:00
Álvaro Fernández Rojas
daa5691a4d linux-firmware: separate packages for Broadcom FullMAC SDIO firmwares
Using few packages will allow saving some space by decreasing rootfs
size.

Moreover there are more firmware files that may require packaging and
even more to come later.

This can especially useful now, with per device rootfs.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2016-09-15 20:23:46 +02:00
Rafał Miłecki
65c5d097a4 mac80211: stop brcmfmac from selecting all PCIe firmwares
Now we have firmwares separated and bcm53xx selecting required ones make
use of it to actually save that rootfs space.
Other targets using brcmfmac (brcm2708 and sunxi) use SDIO interface and
firmware so they don't won't be affected.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-09-14 22:12:57 +02:00
Rafał Miłecki
ac887f4832 linux-firmware: separate packages for Broadcom FullMAC PCIe firmwares
Using few packages will allow saving some space by decreasing rootfs
size. Dropping 43602a1 firmware saves 316 580 B. Dropping 4366b1 saves
468 188 B.

Moreover there are more firmware files that may require packaging and
even more to come later (e.g. 4366c0).

This can especially useful now, with per device rootfs.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2016-09-13 10:31:01 +02:00
Felix Fietkau
f3747020e2 mac80211: fix tx issue with CCMP PN generated in hardware
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-12 11:25:33 +02:00
Felix Fietkau
c4bfb119d8 mac80211: remove the fq-disable hack, now that reordering is fixed
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-08 15:28:38 +02:00
Felix Fietkau
a194ffd4a8 mac80211: fix packet loss on fq reordering
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-08 15:28:38 +02:00
Felix Fietkau
49a6f67c39 mac80211: backport new register bitfield macros
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-05 17:46:26 +02:00
Felix Fietkau
9cf0444768 mac80211: add a tx sequence number allocation fix
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-05 14:02:34 +02:00
Felix Fietkau
dbc9ee5b72 ath9k: fix regression in tx queueing patch
power save response frames can go through the old tx path, and the tid
needs to be set for sequence numbers to be assigned correctly.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-02 14:43:53 +02:00
Felix Fietkau
a894a535ff mac80211: add fixes for dealing with unexpected BlockAck frames
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-02 14:43:52 +02:00
Felix Fietkau
372d0fea29 ath9k: add a bunch of powersave handling fixes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-02 14:43:51 +02:00
Felix Fietkau
1e72d1bf16 mac80211: add a powersave handling fix
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-09-02 14:43:51 +02:00
Felix Fietkau
3e4d0e3e77 ath9k: revert temperature compensation support patch (FS#111)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-28 14:08:49 +02:00
Toke Høiland-Jørgensen
e58c20aac3 ath9k: Set ATH9K_STATION_STATISTICS when enabling debugging
The ATH9K_STATION_STATISTICS kernel config variable enables some extra
statistics that are useful for debugging (in particular with the airtime
fairness patches enabled). This adds that kernel config when selecting
ath9k debugging.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2016-08-23 13:30:59 +02:00
Felix Fietkau
fe7fdd3bb4 ath9k: switch to using mac80211 intermediate software queues
Provides a nice latency reduction under load, due to mac80211's fq_codel
support.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-17 07:02:54 +02:00
Petko Bordjukov
b34ccf45df mac80211: Update the regdb to master-2016-06-10
Changes include:

* Higher maximum transmit power in the 5170-5250 band of the BG
  regdomain
* Introduction of the CU regdomain
* Introduction of the 5725-5875 band (short-range devices) in the DE
  regdomain
* Introduction of 60 GHz channels 1-4 in the KR regdomain
* Introduction of the 5725-5875 band (short-range devices) in the NL
  regdomain

Signed-off-by: Petko Bordjukov <bordjukov@gmail.com>
2016-08-07 23:55:38 +03:00
Felix Fietkau
ac642a7514 ath9k: improve powersave filter handling
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-04 23:10:41 +02:00
Felix Fietkau
4701fd3190 ath9k: improve performance in tx status handling
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-04 23:10:41 +02:00
Felix Fietkau
0cd13c53c1 mac80211: fix minor memleak on AP restart / warning on driver unload
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-02 13:08:05 +02:00
Felix Fietkau
18373e24cf ath9k: fix sta initialization bug leading to stability issues
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-02 13:07:59 +02:00
Felix Fietkau
776ca66261 ath9k: fix warning in client mode (GH#195)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-26 08:26:05 +02:00
Felix Fietkau
04a6984319 ath9k: remove intermediate queueing patch until it is fixed properly
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-24 22:41:20 +02:00
Felix Fietkau
14eb09d5c0 ath10k: add NAPI support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 16:17:08 +02:00
Felix Fietkau
467d15b73d mac80211: add a mesh related fix
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 16:16:49 +02:00
Felix Fietkau
6c2651566c ath9k: switch to using mac80211 intermediate software queues
Provides a nice latency reduction under load, due to mac80211's fq_codel
support.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-19 14:27:08 +02:00
Felix Fietkau
7cdb51e046 ath10k: fix stack traces from a-msdu rx reporting issues
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-17 12:53:30 +02:00
Felix Fietkau
207338c78e ath9k: implement temperature compensation support for AR93xx and newer
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:19:22 +02:00
Felix Fietkau
98e4b504b4 ath9k: use external reset on AR91xx and QCA955x to improve stability
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:19:13 +02:00
Felix Fietkau
3273267c2b ath9k: fix spectral scan on AR9285 and newer AR92xx chipsets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:15:34 +02:00
Felix Fietkau
9edb651094 ath9k: merge a fix for the minimum CCA threshold on 5 GHz
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:15:31 +02:00
Felix Fietkau
55761205ef mac80211: fix a harmless uninitialized variable warning
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-14 13:32:00 +02:00
Felix Fietkau
4952469ff9 mac80211: disable fq until performance issues have been found and fixed
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-12 15:05:26 +02:00
Felix Fietkau
cef1f4ef2b ath9k: explicitly clear gpio chip owner
The core can set it based on the parent device on register

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-11 15:53:48 +02:00
Felix Fietkau
5b07e8731b ath9k: remove gpio chip owner field to fix module unloading
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-11 15:46:42 +02:00
Felix Fietkau
5ce2341a03 mac80211: fix a powersave issue in the intermediate queueing code
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-11 15:46:35 +02:00
Felix Fietkau
4f106d6c07 Revert "ath9k: switch to using mac80211 intermediate software queues"
This reverts commit 31e5ed4152.
I've noticed some weird powersave related issues with this commit.
Revert until they've been fixed.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-11 14:55:22 +02:00
Felix Fietkau
31e5ed4152 ath9k: switch to using mac80211 intermediate software queues
Provides a nice latency reduction under load, due to mac80211's fq_codel
support.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-11 10:16:49 +02:00
Felix Fietkau
916aebb300 ath10k: fix a compiler warning
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-09 19:42:26 +02:00
Felix Fietkau
73dd59546b ath10k: fix #if vs #ifdef in led trigger patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-09 19:42:22 +02:00
Felix Fietkau
78ae53ff2f mac80211: make package ath9k-common hidden
It cannot be selected independently of ath9k and ath9k-htc

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-09 19:38:49 +02:00
Rafał Miłecki
c729fe0269 mac80211: backport brcmfmac changes from 2016-07-08
To work correctly hostapd requires wireless driver to allow interfaces
removal. It was working with brcmfmac only partially. Firmware for
BCM43602 got some special hack (feature?) that allowed removing all
interfaces by disabling mbss mode. It wasn't working with BCM4366
firmware and remaining interfaces were preventing hostapd from starting
again.

Those patches add support for "interface_remove" firmware method which
works with BCM4366 firmware and they make it finally possible to use
BCM4366 & brcmfmac & multiple interfaces.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-07-08 18:21:04 +02:00
Rafał Miłecki
8d95b665e8 mac80211: backport brcmfmac changes from 2016-06-29
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-07-06 10:34:19 +02:00
Felix Fietkau
92d856f50a ath9k: add beacon related stability fixes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-05 10:45:17 +02:00
Felix Fietkau
f226d5879e mac80211: move include statements for skb_get_hash_perturb() to prevent issues with newer kernels
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-03 18:13:11 +02:00
Felix Fietkau
b174832159 mac80211: backport skb_get_hash_perturb() for 4.1 and older
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-03 17:56:53 +02:00
Martin Blumenstingl
70afc0bdd1 kernel: mac80211: set the parent of the ath9k gpio_chip
This allows gpiolib to re-use ath9k's devicetree node as GPIO
controller.
Example:

ath9k: ath9k@0 {
	#gpio-cells = <2>;
	gpio-controller;
}

Now the ath9k node can be used just like any other GPIO controller:
	gpios = <&ath9k 1 GPIO_ACTIVE_HIGH>;

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-07-02 19:34:50 +02:00
Martin Blumenstingl
7b7ea91e24 kernel: mac80211: enable the gpio controller for all ath9k devices
This enables ath9k's built-in GPIO controller for all chip versions
(instead of an explicit whitelist). This also allows us to get rid of
some duplicate code between hw.c and gpio.c because hw.c already
determines the number of GPIOs.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-07-02 19:34:50 +02:00
Martin Blumenstingl
3ce71eaedd kernel: mac80211: fold the AR9280 GPIO patch into the ath9k GPIO patch
This folds 550-ath9k_add_ar9280_gpio_chip.patch into
548-ath9k_enable_gpio_chip.patch because the former patch only extends
code which is introduced in the latter.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-07-02 19:34:50 +02:00
Mathias Kresin
cbfeb7796e mac80211: refresh patches
Signed-off-by: Mathias Kresin <dev@kresin.me>
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
2016-07-02 19:34:50 +02:00
Felix Fietkau
76d09dcb01 ath10k: fix tx performance regression on older chipsets
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:50 +02:00
Felix Fietkau
d002aee42c mac80211: enable STBC and LDPC for VHT rates
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:50 +02:00
Felix Fietkau
67a7daa938 mac80211: update to wireless-testing 2016-06-20
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-02 19:34:50 +02:00
Hauke Mehrtens
ffcae8b494 prism54-firmware: add also other p54 firmware to own package
Extract the other p54 firmware files into the prism54-firmware package.

Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
2016-06-30 19:42:59 +02:00
Jo-Philipp Wich
1e03998e2b mac80211: fix skb size calculation in 4addr mode (FS#24)
The PDU length of incoming LLC frames is set to the total skb payload size
in __ieee80211_data_to_8023() of net/wireless/util.c which incorrectly
includes the length of the IEEE 802.11 header.

The resulting LLC frame header has a too large PDU length, causing the
llc_fixup_skb() function of net/llc/llc_input.c to reject the incoming
skb, effectively breaking STP.

Solve the problem by properly substracting the IEEE 802.11 frame header size
from the PDU length, allowing the LLC processor to pick up the incoming
control messages.

Special thanks to Gerry Rozema for tracking down the regression and proposing
a suitable patch.

Fixes FS#24.

References:
https://bugs.lede-project.org/index.php?do=details&task_id=24

Reported-by: Gerry Rozema <gerryr@rozeware.com>
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-06-28 22:43:22 +02:00
Felix Fietkau
4bab4dee84 ath10k: merge some more pending upstream fixes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-17 14:12:44 +02:00
Adrian Panella
c354591d1b mac80211: ath10k fix otp check patch
Fix patch to match new updated package version

Signed-off-by: Adrian Panella <ianchi74@outlook.com>
2016-06-13 22:51:41 +02:00
Felix Fietkau
df7af9317b ath10k: merge some pending stability fixes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-11 09:51:23 +02:00
Scott Shambarger
4b8f0a2d26 mac80211: fix calculation of VHT capability values
- Fix calculation of `$vht_cap` bit field
 - Replace wrong reference to `$tx_stbc` variable with proper `$tx_stbc_2by1` one
 - Emit proper `RX-STBC-{1,12,123,1234}` tokens for the VHT capability list

See https://dev.openwrt.org/ticket/22535 for reference.

Signed-off-by: Scott Shambarger <devel@shambarger.net>
2016-06-10 18:08:30 +02:00
Felix Fietkau
7eeb254cc4 treewide: replace nbd@openwrt.org with nbd@nbd.name
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:42 +02:00
Daniel Golle
3ec4803932 mac80211: respect user-set regulatory domain by default
It turns out most device vendors don't set the correct country code
in their devices' on-flash-EEPROM sections as they apparently rather
provide a complete per-target-market firmware with patched drivers
instead of just setting the country code.
This results in the driver to incorrectly assume the value stored in
the on-flash-EERPOM (usually US or China) being the regulatory domain
inside which the device is being used.
To work around this issue, OpenWrt introduced the ATH_USER_REGD config
variable to decide during build whether or not to allow the user to
override the regulatory domain setting. This option, however, is not
enabled by default and thus ends up being disabled for snapshots builds
and released binaries.
As we know for a long time that most devices got borked regulatory
domain values set in their EEPROMs we should allow our users to respect
their local law (instead of just assume US or China laws).
Note that also the current default has great potential of users not
ever setting their regulatory domain and thus using inapproriate and
potentially illegal frequencies and/or tx-power settings

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-06-05 13:37:55 +02:00
Felix Fietkau
b08dbd3acf mac80211: disable iwlwifi build for linux 3.18
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-01 01:14:31 +02:00
Ash Benz
867c0cb237 kernel/mac80211: skip ath10k OTP check if caldata found
Signed-off-by: Ash Benz <ash.benz@bk.ru>
2016-05-27 15:50:17 +02:00
Rafał Miłecki
cdff540623 mac80211: brcmfmac: return -ENFILE if interface exists
This makes brcmfmac compatible with mac80211 which uses dev_alloc_name
(and so returns -ENFILE on error).

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
2016-05-30 08:25:44 +02:00
Rafał Miłecki
efcaa046b7 mac80211: change default SSID from Lede to LEDE
LEDE project seems to be using "LEDE" as its acronym everywhere. To keep
things consistent adjust default wireless SSID.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Acked-by: Jo-Philipp Wich <jo@mein.io>
Acked-by: John Crispin <john@phrozen.org>
Acked-by: Alexander Couzens <lynxis@fe80.eu>
2016-05-29 16:22:47 +02:00
Felix Fietkau
48ff6eff8c mac80211: add missing config symbols to PKG_CONFIG_DEPENDS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-21 00:11:55 +02:00
Felix Fietkau
24270e9493 mac80211: fix unaligned accesses in the tx path
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-19 17:55:54 +02:00
Helmut Schaa
21b04c623e ath9k: Fix TX99 support
The patch 300-ath9k-force-rx_clear-when-disabling-rx.patch broke TX99 support
in ath9k. Fix the patch by only applying rx_clear if TX99 mode is not used.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
2016-05-18 15:00:02 +02:00
Helmut Schaa
262cec2fb8 mac80211: Allow selection of TX99 support in ath9k
Add a new config option to enable TX99 support in ath9k.

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
2016-05-18 14:59:41 +02:00
Felix Fietkau
34b05087f7 mac80211: fix a module build/dependency issue that was breaking lib80211
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-16 10:52:24 +02:00
Felix Fietkau
df93d53a4b mac80211: update to wireless-testing 2016-05-12
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-15 20:55:39 +02:00
John Crispin
fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
2016-03-24 22:40:13 +01:00
John Crispin
1a1bb3aaff mac80211: ath9k: add GPIO support for AR9280 chip
Enable access to GPIO on Atheros wireless chip AR9280.
Support for 9280 is added to existing 9285/9287 subsystem
because these 3 chips differ only in number of GPIO pins.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>

SVN-Revision: 49251
2016-04-26 11:44:07 +00:00
Rafał Miłecki
f4edfc69a3 mac80211: add brcmfmac regression ("NULL pointer dereference") fix
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 49222
2016-04-25 15:32:20 +00:00
Rafał Miłecki
894aed060e mac80211: update brcmfmac including missing boardrev workaround
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 49174
2016-04-16 08:48:43 +00:00
John Crispin
63a9c61fb6 mac80211: build airo on x86 only
airo requires ISA_DMA_API and
that symbol is only set on some ppc,malta,x86
x86 is probably only platform where that driver is used

fixes buildbot errors on ar71xx,lantiq ...:
airo.ko is missing

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 49073
2016-03-23 12:52:24 +00:00
John Crispin
b5bd41edcd mac80211: add cisco airo
airo depends on cfg80211, move it to mac80211

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 49047
2016-03-20 14:41:41 +00:00
Hauke Mehrtens
6d933987db mac80211: libertas-spi: deactivate for UML target
The UML target does not have spi support.
This fixes a build problem found by the build bot.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49034
2016-03-17 23:09:20 +00:00
John Crispin
553c1b793f brcmfmac: Add Raspberry Pi 3 support
- Enable SDIO support on brcmfmac.
- Disable power managment for brcm2708 target.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Reviewed-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 49023
2016-03-16 09:26:42 +00:00
Rafał Miłecki
f5317ed5d2 mac80211: backport brcmfmac patchset with driver setting concept
This prepares brcmfmac for better country handling and fixes BCM4360
support which was always failing with:
[   13.249195] brcmfmac: brcmf_pcie_download_fw_nvram: FW failed to initialize

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48959
2016-03-07 22:37:09 +00:00
Felix Fietkau
2cfd943fe9 mac80211: rework gpio chip/button support to build on platforms without CONFIG_GPIOLIB
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48938
2016-03-07 09:20:22 +00:00
Felix Fietkau
6bece706ec mac80211: ath9k: enable GPIO buttons
Enable platform-defined GPIO button support for ath9k device.
Key poller is activated for attached platform buttons.
Requires ath9k GPIO chip access.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>

SVN-Revision: 48921
2016-03-05 09:45:03 +00:00
Felix Fietkau
4f8f5a2332 mac80211: improve rate control performance
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48897
2016-03-03 22:29:00 +00:00
Felix Fietkau
806b68fc77 mac80211: add a number of pending fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48883
2016-03-02 14:56:48 +00:00
Felix Fietkau
cafc41ab01 mac80211: refresh patch
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48882
2016-03-02 14:56:43 +00:00
Felix Fietkau
5158e74cbb mac80211: ath9k: enable access to GPIO
Enable access to GPIO chip and its pins for Atheros AR92xx
wireless devices. For now AR9285 and AR9287 are supported.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Acked-by: Hartmut Knaack <knaack.h@gmx.de>

SVN-Revision: 48881
2016-03-02 13:22:51 +00:00
Felix Fietkau
9e74c3af07 mac80211: ath9k: set default state for platform LEDs
Support default state for platform LEDs connected to ath9k device.
Now LEDs are correctly set on or off at ath9k module initialization.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Acked-by: Hartmut Knaack <knaack.h@gmx.de>

SVN-Revision: 48880
2016-03-02 13:22:46 +00:00
Felix Fietkau
a8c15c0204 mac80211: ath9k: enable platform WLAN LED name
Enable platform-supplied WLAN LED name for ath9k device.

Signed-off-by: Michal Cieslakiewicz <michal.cieslakiewicz@wp.pl>
Acked-by: Hartmut Knaack <knaack.h@gmx.de>

SVN-Revision: 48879
2016-03-02 13:22:40 +00:00
Rafał Miłecki
53814290e7 mac80211: backport brcmfmac fix for primary channel in 80 MHz mode
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48782
2016-02-25 20:24:47 +00:00
Rafał Miłecki
b24accd72d mac80211: backport brcmfmac fix for sdio sg table alloc crash
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48781
2016-02-25 20:24:38 +00:00
Felix Fietkau
3064f16863 mac80211: fix an RTS/CTS issue in minstrel_ht
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48759
2016-02-25 09:24:13 +00:00
Felix Fietkau
2f7dcdec58 mac80211: sync a-msdu tx patch with the latest upstream submission
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48758
2016-02-25 09:24:09 +00:00
Felix Fietkau
cd33dd3f7c mac80211: add packages libertas-spi module and firmware
This adds option to build kernel module and firmware packages
for a Marvell 8686 SPI Wireless device

Signed-off-by: Joseph Honold <mozzwald@gmail.com>

SVN-Revision: 48750
2016-02-22 08:54:08 +00:00
Felix Fietkau
b9e910d658 mac80211: set default aggregation timeout to 0 to improve stability
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48744
2016-02-18 18:55:46 +00:00
Felix Fietkau
42fc062d47 mac80211: update A-MSDU tx support to the latest version
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48743
2016-02-18 18:55:35 +00:00
Felix Fietkau
6cfc7db8a2 mac80211: fix a crash in monitor mode injection
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48719
2016-02-14 12:26:49 +00:00
Felix Fietkau
533147beb2 mac80211: improve a-msdu rx performance by avoiding unnecessary data copying
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48673
2016-02-08 13:38:11 +00:00
Felix Fietkau
446d06edac mac80211: fix a memory leak in a-msdu rx
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48672
2016-02-08 13:38:03 +00:00
Felix Fietkau
21e716dbec mac80211: update A-MSDU tx patch to the latest version
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48671
2016-02-08 13:37:55 +00:00
Felix Fietkau
f3761eaacc mac80211: refresh patch
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48670
2016-02-08 13:37:47 +00:00
Rafał Miłecki
6ef21fb874 mac80211: fix flowrings infinite loops in brcmfmac on BCM4366
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48653
2016-02-07 23:12:38 +00:00
Felix Fietkau
04573657d0 mac80211: merge a fix for minstrel expected throughput reporting
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48648
2016-02-07 14:30:01 +00:00
Felix Fietkau
1933dc0aa3 mac80211: merge a few mesh fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48647
2016-02-07 14:29:51 +00:00
Felix Fietkau
522bba5e42 ath9k: merge fix for noise floor calibration
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48641
2016-02-07 13:29:08 +00:00
Rafał Miłecki
d99cdd4fef mac80211: add first brcmfmac patches for 14e4:4365 BCM4366 support
It's not really supported yet as it still fails with:
brcmfmac: brcmf_pcie_download_fw_nvram: FW failed to initialize

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48640
2016-02-06 17:10:10 +00:00
Felix Fietkau
b0c782be70 mac80211: add A-MSDU tx support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48637
2016-02-05 16:43:38 +00:00
Felix Fietkau
351be0fdec mac80211: parse legacy and HT rates in monitor mode injected frames
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48636
2016-02-05 16:43:25 +00:00
Felix Fietkau
ba1672bf2b mac80211: add performance improvements for A-MSDU rx
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48630
2016-02-04 20:17:25 +00:00
Felix Fietkau
7695d614df mac80211: backport skb_free_frag and napi_alloc_frag
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48582
2016-01-31 16:13:23 +00:00
Felix Fietkau
a6fe27a59a mac80211: fix an out of bounds access issue in minstrel_ht
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48550
2016-01-29 14:23:23 +00:00
Felix Fietkau
c1e6ef488f mac80211: merge a bunch of pending fixes
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48536
2016-01-28 22:42:10 +00:00
Felix Fietkau
07160c774c mac80211: add iremap cflags
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48490
2016-01-25 15:49:36 +00:00
Rafał Miłecki
529d527e2c kernel: backport bcma stuff sent for 4.6
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 48449
2016-01-22 09:22:37 +00:00
Felix Fietkau
baa618790a ath9k: allow multiple virtual interfaces on DFS channels
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48448
2016-01-22 00:54:34 +00:00
Felix Fietkau
145a6e9db9 mac80211: only strip the platform/ prefix from path for pci devices
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48440
2016-01-21 15:55:35 +00:00
Felix Fietkau
d13a1ce9d7 mac80211: fix check for existing config section from r48426
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48439
2016-01-21 15:51:52 +00:00
Felix Fietkau
df9275b25e ath9k: ignore EEPROM mismatch on flash based devices (fixes #21611)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48438
2016-01-21 15:37:43 +00:00
Felix Fietkau
d9b20a6f35 mac80211: strip platform/ prefix from device path to improve compatibility between kernel versions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48426
2016-01-21 13:28:09 +00:00
Felix Fietkau
95965cd813 mac80211: make the path phy lookup more robust regarding config upgrades, allow partial path matching
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48425
2016-01-21 13:28:04 +00:00
Felix Fietkau
82c5e2c497 mac80211: update to wireless-testing 2016-01-10
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48247
2016-01-15 15:03:48 +00:00
Felix Fietkau
cb85e21fd1 ath9k: add support for a newer tx gain table used in some TP-Link devices
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48233
2016-01-14 02:17:49 +00:00
Imre Kaloz
2a170e4086 mac80211: resync regulatory db with master-2015-12-14
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 48219
2016-01-12 14:28:09 +00:00
Felix Fietkau
a960fcef29 mac80211: move b43legacy firmware to a separate package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48184
2016-01-10 16:37:01 +00:00
Felix Fietkau
805c40351e mac80211: remove linux-firmware download
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48183
2016-01-10 16:36:54 +00:00
Felix Fietkau
26eb793589 mac80211: move broadcom firmware to the linux-firmware package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48182
2016-01-10 16:36:48 +00:00
Felix Fietkau
4a791c8d4e mac80211: move ti firmware to the linux-firmware package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48181
2016-01-10 16:36:40 +00:00
Felix Fietkau
78efb85fa1 mac80211: move mediatek/ralink firmware to the linux-firmware package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48180
2016-01-10 16:36:31 +00:00
Felix Fietkau
9e5df4a939 mac80211: move atheros/qca firmware to the linux-firmware package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48179
2016-01-10 16:36:25 +00:00
Felix Fietkau
6d0d89dc65 mac80211: move marvell firmware to the linux-firmware package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48178
2016-01-10 16:36:17 +00:00
Felix Fietkau
35baa05d80 mac80211: move intel firmware to the linux-firmware package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48177
2016-01-10 16:36:08 +00:00
Felix Fietkau
9dee1adc0f mac80211: move realtek firmware to the linux-firmware package
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48176
2016-01-10 16:36:00 +00:00
Zoltan Herpai
c03f792aac mac80211: brcmfmac: copy SDIO firmwares when CONFIG_BRCMFMAC_SDIO is selected
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>

SVN-Revision: 48162
2016-01-09 16:46:42 +00:00
Felix Fietkau
1f5f096faa mac80211: add rtl8xxxu
OpenWrt is often used to develop or test new devices
Some users might want to test and help to improve
this new driver

upstream commit notice 26f1fad29ad973b0fb26a9ca3dcb2a73dde781aa

New driver: rtl8xxxu (mac80211)
This is an alternate driver for a number of Realtek WiFi USB devices,
including RTL8723AU, RTL8188CU, RTL8188RU, RTL8191CU, and RTL8192CU.
It was written from scratch utilizing the Linux mac80211 stack.

After spending months cleaning up the vendor provided rtl8723au
driver, which comes with it's own 802.11 stack included, I decided to
rewrite this driver from the bottom up.

Many thanks to Johannes Berg for 802.11 insights and help and Larry
Finger for help with the vendor driver.

The full git log for the development of this driver can be found here:
git git://git.kernel.org/pub/scm/linux/kernel/git/jes/linux.git
    branch rtl8723au-mac80211

This driver is still under development, but has proven to be very
stable for me. It currently supports station mode only. It has support
for OFDM and CCK rates. It does lack certain features found in the
staging driver, such as power management, AMPDU, and 40MHz channel
support. In addition it does not support AD-HOC, AP, and monitor mode
support at this point.

The driver is known to work with the following devices:
Lenovo Yoga (rtl8723au)
TP-Link TL-WN823N (rtl8192cu)
Etekcity 6R (rtl8188cu)
Daffodil LAN03 (rtl8188cu)
Alfa AWUS036NHR (rtl8188ru)

Compile tested only

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 48104
2016-01-03 20:57:38 +00:00
Felix Fietkau
0f84880a9d mac80211: iwlwifi: update firmware to ucode -16 version
We don't use Kernel drivers but ucode -16 is
usable on Kernel 4.3+ - with backports and mac80211
this should work on older Kernel versions too.

Intel does not provide a changelog.

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 48103
2016-01-03 20:57:31 +00:00
Felix Fietkau
eee06021ca mac80211: mt7601u use linux-firmware
upstream added mt7601u firmware with commit
9df5430a3c1bf4fa92d9198b6d7d8713408ff6bc Add firmware for mt7601u. version 34

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 48102
2016-01-03 20:57:23 +00:00
Felix Fietkau
2a0e1b7f8d mac80211: merge a fix for a ps-poll handling issue
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47958
2015-12-20 21:28:30 +00:00
John Crispin
932bc8d5eb ath9k: Allow configuration of LED polarity in platform data.
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 47910
2015-12-17 09:27:24 +00:00
John Crispin
4a4b0b82ec ath9k: Pass LED polarity to ath_create_gpio_led when initializing the LEDs.
Signed-off-by: Vittorio Gambaletta <openwrt@vittgam.net>

SVN-Revision: 47909
2015-12-17 09:27:18 +00:00
Imre Kaloz
6b04b44e21 mac80211: use the linux-firmware tree from 2015-12-07
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 47822
2015-12-10 12:17:24 +00:00
Jo-Philipp Wich
3041fbb4d2 mac80211: fix passing of VHT80 in IBSS mode
The "iw" utility expects the VHT80 to be specified as uppercase "80MHZ",
change the script to reflect that.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47814
2015-12-09 15:19:41 +00:00
Jo-Philipp Wich
713f698bd4 mac80211: fix disabling HT in IBSS mode (#21340)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 47813
2015-12-09 15:18:43 +00:00
Hauke Mehrtens
96a938d082 mac80211: fix build of mac80211-hwsim on kernel 4.4
This genl_notify() backport should not be applied for kernel 4.4.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47795
2015-12-06 13:31:58 +00:00
Felix Fietkau
028666e75f mac80211: Allow to select VHT80 in IBSS mode
Signed-off-by: Sven Eckelmann <sven@open-mesh.com>

SVN-Revision: 47781
2015-12-05 09:52:10 +00:00
Felix Fietkau
8d580cd7f2 mac80211: Allow enabling tracing for the drivers that support it
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>

SVN-Revision: 47776
2015-12-05 09:51:35 +00:00
Felix Fietkau
ba0ba1e1f5 mac80211: enable build with linux 4.4
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47772
2015-12-04 22:40:38 +00:00
Felix Fietkau
70ac77f869 mac80211: update to 2015-12-03
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47771
2015-12-04 22:39:37 +00:00
Jonas Gorski
418a9d4972 mac80211: put the !LINUX_4_4 dependency in the right place
Make sure all sub packages are marked as not building for 4.4.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 47712
2015-12-03 11:01:34 +00:00
Jonas Gorski
4454a3fb63 package: kernel: update dependencies for 4.4
Update dependencies for linux 4.4 and mark as broken where source code
needs updating.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 47700
2015-12-02 22:19:31 +00:00
Hauke Mehrtens
40a09b93d2 mac80211: install new firmware for ath9k-htc on target
For quite some time new firmware for ath9k-htc devices
is available in
http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/ath9k_htc/

Moreover ath9k-htc kernel driver expects this new v1.4
firmware to exist in /lib/firmware/ath9k_htc.

What happens currently:
---------------------------->8--------------------------
[    7.830000] usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw
requested
[    7.840000] usb 1-1: Direct firmware load for
ath9k_htc/htc_9271-1.4.0.fw failed with error -2
[    7.850000] usb 1-1: Falling back to user helper
[    7.870000] usbcore: registered new interface driver ath9k_htc
[    7.880000] firmware ath9k_htc!htc_9271-1.4.0.fw:
firmware_loading_store: map pages failed
[    7.890000] usb 1-1: ath9k_htc: Firmware htc_9271.fw requested
[    8.200000] usb 1-1: ath9k_htc: Transferred FW: htc_9271.fw, size:
50980
[    8.440000] ath9k_htc 1-1:1.0: ath9k_htc: HTC initialized with 33
credits
[   10.720000] ath9k_htc 1-1:1.0: ath9k_htc: FW Version: 1.3
[   10.740000] ath9k_htc 1-1:1.0: FW RMW support: Off
[   10.760000] ieee80211 phy0: Atheros AR9271 Rev:1
---------------------------->8--------------------------

And with that patch new firmware is used instead:
---------------------------->8--------------------------
[   33.920000] usb 1-1: ath9k_htc: Firmware ath9k_htc/htc_9271-1.4.0.fw
requested
[   34.230000] usb 1-1: ath9k_htc: Transferred FW:
ath9k_htc/htc_9271-1.4.0.fw, size: 51008
[   34.480000] ath9k_htc 1-1:1.0: ath9k_htc: HTC initialized with 33
credits
[   34.740000] ath9k_htc 1-1:1.0: ath9k_htc: FW Version: 1.4
[   34.750000] ath9k_htc 1-1:1.0: FW RMW support: On
---------------------------->8--------------------------

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47693
2015-12-02 20:32:11 +00:00
John Crispin
48c709e86d mac80211: rt2x00: fix WARN_ON_ONCE() caused by inbalanced set/clear of beacon enable bit
Signed-off-by: evaxige <evaxige@qq.com>

SVN-Revision: 47668
2015-11-28 23:24:59 +00:00
Felix Fietkau
a4e234d278 ath10k: fix memory allocation issues on platforms where DMA coherent memory is constrained
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47625
2015-11-24 19:09:45 +00:00
John Crispin
27ac4ce928 mac80211: fix autoprobing of mt7601u driver
Strigng passed to autoprobing script should match
module's name. Currently that string is missing trailing "u".

With that change mt7601u driver really gets autoloaded on
USB Wi-Fi dongle insertion:
------------------>8---------------
[    0.930000] hub 2-0:1.0: USB hub found
[    0.940000] hub 2-0:1.0: 1 port detected
[    1.150000] usb 1-1: new high-speed USB device number 2 using
ehci-platform
[    1.720000] init: - preinit -
Detected arc-sdp // Synopsys AXS101 Development Board
[    1.810000] random: mktemp urandom read with 3 bits of entropy
available
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug
level
[    4.940000] procd: - early -
[    5.540000] procd: - ubus -
[    6.550000] procd: - init -
Please press Enter to activate this console.
[    7.160000] Loading modules backported from Linux version
master-2015-10-26-0-g28c26cb
[    7.170000] Backport generated by backports.git
backports-20150903-4-g12cf266
[    7.200000] cfg80211: World regulatory domain updated:
[    7.230000] cfg80211:  DFS Master region: unset
[    7.230000] cfg80211:   (start_freq - end_freq @ bandwidth),
(max_antenna_gain, max_eirp), (dfs_cac_time)
[    7.250000] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz),
(N/A, 2000 mBm), (N/A)
[    7.270000] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz),
(N/A, 2000 mBm), (N/A)
[    7.270000] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz),
(N/A, 2000 mBm), (N/A)
[    7.290000] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz,
160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[    7.290000] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz,
160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[    7.310000] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz),
(N/A, 2000 mBm), (0 s)
[    7.310000] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz),
(N/A, 2000 mBm), (N/A)
[    7.330000] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz),
(N/A, 0 mBm), (N/A)
[    7.470000] usb 1-1: reset high-speed USB device number 2 using
ehci-platform
[    7.620000] mt7601u 1-1:1.0: ASIC revision: 76010001 MAC revision:
76010500
[    7.630000] mt7601u 1-1:1.0: Firmware Version: 0.1.00 Build: 7640
Build time: 201302052146____
[    8.040000] mt7601u 1-1:1.0: Warning: unsupported EEPROM version 0d
[    8.050000] mt7601u 1-1:1.0: EEPROM ver:0d fae:00
[    8.050000] mt7601u 1-1:1.0: EEPROM country region 01 (channels 1-13)
[    8.320000] usbcore: registered new interface driver mt7601u
------------------>8---------------

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Dirk Neukirchen <dirkneukirchen@web.de>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: John Crispin <blogic@openwrt.org>

SVN-Revision: 47556
2015-11-21 21:24:28 +00:00
Felix Fietkau
988be54b22 ath10k: select kernel relayfs support
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47548
2015-11-21 10:55:36 +00:00
Rafał Miłecki
b2dab45aa7 kernel: backport ssb changes from 4.4-rc1
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47483
2015-11-16 06:55:38 +00:00
Hauke Mehrtens
cb0c8da7c2 kernel: take bcm47xx_nvram.h from kernel and not backports
compat-wireless/backports now contains a bcm47xx_nvram.h file to
backport some of the functions in it which are used by the bcmfmac
driver. This file just checks for the kernel versions and provide an
empty implementations on older kernel versions. This is OK on most
systems, but on bcm47xx / bcm53xx systems we want to call the real
functions here. This commit removes the file from backports in our
build process like we do it with the bcma and ssb header files. Instead
we add a recent version into our kernel so all code uses only one
header file. On bcm47xx / bcm53xx the real implementations of this code
will be used.

Reported-by: Hante Meuleman <meuleman@broadcom.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 47467
2015-11-13 23:51:31 +00:00
Felix Fietkau
d293f33558 mac80211: restricted automatic channel selection
Add a new config option "channels" for mac80211 wifi devices. It's only
valid if automatic channel selection is used and restricts the channel
selection to one of the given channels.

config wifi-device
	list channels	1
	list channels	6
	list channels	11

Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

SVN-Revision: 47427
2015-11-08 20:40:15 +00:00
Felix Fietkau
08f1e1b3ac mac80211: set mcast-rate for mesh point interfaces
In order to set the multicast rate for mesh point interfaces the "mesh join"
was made explicit and moved to mac80211_setup_vif(), similar to how it is
done for IBSS interfaces.

Previously, the mesh join was made implicit in case authentication (i.e.
$key) was not used when creating the interface in mac80211_prepare_vif(),
while using authentication would create the interface first, then join
later in mac80211_setup_vif() by starting authsae.

Signed-off-by: Nils Schneider <nils@nilsschneider.net>

SVN-Revision: 47408
2015-11-07 12:52:01 +00:00
Felix Fietkau
0afee71820 mac80211: disable a broken feature that was merged with the last update
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47402
2015-11-07 12:12:08 +00:00
Felix Fietkau
356008e748 mac80211: fix kconf handling of allnoconfig, fixes spurious brcmfmac related build errors
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47371
2015-11-03 12:00:36 +00:00
Felix Fietkau
7224c5d249 mac80211: fix crash when using mesh (11s) VIF together with another VIF
llid_in_use needs to be limited to stations of the same VIF, otherwise it
will cause a NULL deref as the sta_info of non-mesh-VIFs don't have
sta->mesh set.

Steps to reproduce:

   modprobe mac80211_hwsim channels=2
   iw phy phy0 interface add ibss0 type ibss
   iw phy phy0 interface add mesh0 type mp
   iw phy phy1 interface add ibss1 type ibss
   iw phy phy1 interface add mesh1 type mp
   ip link set ibss0 up
   ip link set mesh0 up
   ip link set ibss1 up
   ip link set mesh1 up
   iw dev ibss0 ibss join foo 2412
   iw dev ibss1 ibss join foo 2412
   # Ensure that ibss0 and ibss1 are actually associated; I often need to
   # leave and join the cell on ibss1 a second time.
   iw dev mesh0 mesh join bar
   iw dev mesh1 mesh join bar # crash

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 47364
2015-11-02 18:26:15 +00:00
Felix Fietkau
8babf4654c mac80211: update regulatory database to master-2015-10-22
Signed-off-by: Andrej Vlasic <andrej.vlasic0@gmail.com>

SVN-Revision: 47297
2015-10-30 22:31:05 +00:00
Felix Fietkau
3fd8621f62 ath10k: split out ath10k firmware into a separate source package and .ipk
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47294
2015-10-30 22:01:18 +00:00
Felix Fietkau
ce09894398 mac80211: add pending ath9k/ath10k patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47287
2015-10-30 15:18:03 +00:00
Felix Fietkau
ec3ee0969e mac80211: update to wireless-testing 2015-10-26
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47286
2015-10-30 15:17:56 +00:00
Felix Fietkau
42cad88e8f mac80211: add a fix to initialize the tid field in the tx queue struct
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47142
2015-10-05 15:43:14 +00:00
Rafał Miłecki
439669b49c mac80211: backport patch setting TX power in interface info
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>

SVN-Revision: 47059
2015-09-27 10:25:27 +00:00
Felix Fietkau
6e97442105 ath9k: fix handling of tx headroom for padding (fixes #20556)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47042
2015-09-24 15:02:15 +00:00