Commit Graph

172 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
07160c774c mac80211: add iremap cflags
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48490
2016-01-25 15:49:36 +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
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
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
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
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
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
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
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
df190f4522 ath10k: remove API v2 firmware, it is no longer needed
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47009
2015-09-21 17:18:43 +00:00
Felix Fietkau
69391f49b5 mac80211: add missing dependency for the hermes driver (#20543)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46998
2015-09-18 09:05:11 +00:00