OpenWrt Source Repository
Go to file
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
.github Add Issue submission template (redirect to bugs.lede-project.org) 2016-09-01 09:01:04 -04:00
config config: ext4: increase x86 rootfs size to 2GB to support online resize2fs 2016-10-27 19:24:38 +02:00
docs
include kernel: update kernel 4.4 to version 4.4.30 2016-11-02 10:25:44 +01:00
package base-files, mac80211, broadcom-wl: wifi detection and configuration 2016-11-03 11:08:01 +01:00
scripts scripts/feeds: use 10 chars for feed name column width 2016-11-03 08:34:38 +01:00
target ipq806x: update DT in accordance to new drivers And add some more DT nodes 2016-11-03 08:28:16 +01:00
toolchain musl: fix parsing of quoted time zone names 2016-10-31 12:55:27 +01:00
tools firmware-utils: fix compilation on MacOS X 2016-10-31 12:39:09 +01:00
.gitattributes
.gitignore
BSDmakefile
Config.in
feeds.conf.default feeds: switch from github to lede-project.org mirrors 2016-08-01 22:34:18 +02:00
LICENSE
Makefile build: move merged package directory from bin/ to staging_dir 2016-08-03 12:22:18 +02:00
README
rules.mk rules.mk: add STAGING_DIR_HOSTPKG variable 2016-11-01 12:11:14 +01:00

This is the buildsystem for the LEDE Linux distribution.

Please use "make menuconfig" to choose your preferred
configuration for the toolchain and firmware.

You need to have installed gcc, binutils, bzip2, flex, python, perl, make,
find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers.

Run "./scripts/feeds update -a" to get all the latest package definitions
defined in feeds.conf / feeds.conf.default respectively
and "./scripts/feeds install -a" to install symlinks of all of them into
package/feeds/.

Use "make menuconfig" to configure your image.

Simply running "make" will build your firmware.
It will download all sources, build the cross-compile toolchain, 
the kernel and all choosen applications.

To build your own firmware you need to have access to a Linux, BSD or MacOSX system
(case-sensitive filesystem required). Cygwin will not be supported because of
the lack of case sensitiveness in the file system.


Sunshine!
	Your LEDE Community
	http://www.lede-project.org