Commit graph

570 commits

Author SHA1 Message Date
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