Commit graph

47 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
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
Jo-Philipp Wich
24a7ccb056 treewide: replace jow@openwrt.org with jo@mein.io
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-06-07 11:42:52 +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
Jo-Philipp Wich
b04a25491f package: flag further target specific packages as nonshared
Add nonshared flag to package depending on specific targets or subtargets as
there's no guarantee otherwise that they'll be available in the shared repo.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-04-26 23:26:43 +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
Steven Barth
e07959cade package: replace ifconfig-usage with ip
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46832
2015-09-08 17:44:24 +00:00
Hauke Mehrtens
46dd362bde broadcom-wl: add interface after bridge is up
Without this patch adding the wifi device to the bridge may fail
because the bridge is not already configured when the wifi device gets
configured. This patch makes broadcom-wl wait till the bridge is ready.

This fixes #17262

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

SVN-Revision: 46749
2015-08-29 20:05:04 +00:00
Hauke Mehrtens
9893aa395c broadcom-wl: fix bash comparison error
This fixes #17495

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46746
2015-08-29 17:38:15 +00:00
Hauke Mehrtens
adbb8801ac broadcom-wl: fix section mismatches in broadcom-wl driver
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46745
2015-08-29 17:37:41 +00:00
Hauke Mehrtens
01435cded6 broadcom-wl: fix build with kernel 4.1
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46744
2015-08-29 17:37:09 +00:00
Hauke Mehrtens
1772c47c51 broadcom-wl: fix build with musl
This fixes some build problems with musl. The binary only program
nas.exe wants to link against __assert, which is copied from uClibc.

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

SVN-Revision: 46021
2015-06-17 22:37:49 +00:00
Nicolas Thill
f4417f7ad8 package/*: replace occurences of 'ln -sf' to '$(LN)'
Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 43205
2014-11-06 19:35:34 +00:00
Jo-Philipp Wich
aeecc6ec12 broadcom-wl: align with mac80211 config
- Support HT40 instead of HT40+/HT40- like mac80211
 - Enable 11n if htmode is HT20 or HT40

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

SVN-Revision: 43063
2014-10-25 18:43:18 +00:00
Felix Fietkau
fc822a4370 broadcom_wl: eliminate compiler error with gcc-4.9-linaro
Attempting to build broadcom_wl (from trunk) with the linaro 4.9.x
toolchain produces the following errors:

<...>/wl_linux.c: In function 'wl_dump_ver':
<...>/wl_linux.c:2302:3: error: macro "__DATE__" might prevent reproducible builds [-Werror=date-time]
   __DATE__, __TIME__, EPI_VERSION_STR);
   ^
<...>/wl_linux.c:2302:13: error: macro "__TIME__" might prevent reproducible builds [-Werror=date-time]
   __DATE__, __TIME__, EPI_VERSION_STR);
             ^
cc1: some warnings being treated as errors

Remove the use of the __DATE__ and __TIME__ macros, as the info is not
really useful.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 43046
2014-10-24 18:05:51 +00:00
Jonas Gorski
9a24294b02 brcm-wl: use new brcm63xx fallback sprom
This fixes brcm63xx fallback sprom extraction.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 42725
2014-10-02 12:24:05 +00:00
Hauke Mehrtens
8af860e186 broadcom-wl: add default tx and rx antennas
This adds default tx and rx antennas, so that LuCI shows automatic as the default radio option for the antennas.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 42085
2014-08-08 22:59:45 +00:00
Hauke Mehrtens
8bc5902d72 broadcom-wl: add support for a8xx broadcom devices
Tested on Comtrend VR-3025u (brcm6368 + a8d6-43222).

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

SVN-Revision: 42084
2014-08-08 22:58:54 +00:00
Hauke Mehrtens
189edfef1a broadcom-wl: assign first increased mac address to internal wifi core
When the original mac addresses are not valid assign the first one to
the internal wifi core, this matches the manufacture mac address in
most cases. In addition refresh the patches.

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

SVN-Revision: 41545
2014-07-07 17:38:54 +00:00
Felix Fietkau
ecd169b2c6 broadcom-wl: disable mips16 support, fixes build
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41540
2014-07-07 08:29:35 +00:00
Hauke Mehrtens
d6c7ab2358 broadcom-wl: improve setting leddc
Use leddc value from other routers and improve the script.

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

SVN-Revision: 41519
2014-07-05 23:24:41 +00:00
Hauke Mehrtens
4ec8908669 broadcom-wl: fix led support
Some devices have an nvram setting, which make broadcom-wl turn of the
led all the time. When the driver is switched on and we find such a
setting we replace it with a better value.

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

SVN-Revision: 41518
2014-07-05 22:55:40 +00:00
Hauke Mehrtens
817c56f77c broadcom-wl: fixup mac addresses.
Some series of devices are using the same mac address, which causes
conflicts for these devices we generate a new mac address based on the
base address. This patch adds this functionality to braodcom-wl.

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

SVN-Revision: 41514
2014-07-05 19:23:40 +00:00
Hauke Mehrtens
d72ff79546 broadcom-wl: fix build with bcma or ssb deactivated
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 41046
2014-06-07 17:00:53 +00:00
Felix Fietkau
5858557160 broadcom-wl: bring interfaces up, do not rely on netifd doing it
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40749
2014-05-11 05:00:57 +00:00
Hauke Mehrtens
5c2f443075 broadcom-wl: version roll
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38765
2013-11-11 22:05:39 +00:00
Hauke Mehrtens
1f9a4fee5a broadcom-wl: support 'wds' interfaces on 'wl1' device
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38764
2013-11-11 22:05:20 +00:00
Hauke Mehrtens
753d52c2a4 broadcom-wl: support probe of 'wds' devices
'nas' requires probe of 'wds' devices to be successful;
so don't fail them.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38763
2013-11-11 22:04:53 +00:00
Hauke Mehrtens
697f4a19e5 broadcom-wl: fix crash when starting multiple virtual interfaces
When enabling multiple VIFS, the driver sometimes crashes.  The frequency
of the crash increases as more VIFS are enabled.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38762
2013-11-11 22:04:26 +00:00
Hauke Mehrtens
b98f77f3d9 broadcom-wl: perform additional cleanup on wl module unload
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38761
2013-11-11 22:03:58 +00:00
Hauke Mehrtens
df493faf12 broadcom-wl: support more virtual interfaces
Read the number of virtual interfaces to support from the device
capabilities; as some newer devices can support up to 16.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38759
2013-11-11 22:03:25 +00:00
Hauke Mehrtens
c926edd72d broadcom-wl: improve device cleanup
Move all device cleanup to "disable_broadcom".

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38758
2013-11-11 22:02:45 +00:00
Hauke Mehrtens
3c2904bfb8 broadcom-wl: add support for setting H/W address
Some devices initialize with a default address (common to all H/W).
The address needs to be changeable so that a unique address can be
assigned to each AP.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38757
2013-11-11 22:02:14 +00:00
Hauke Mehrtens
4ba2f2f731 broadcom-wl: eliminate 'invalid command' when setting ssid
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38756
2013-11-11 22:01:32 +00:00
Hauke Mehrtens
5b4c8c4cc8 broadcom-wl: clean up variable definitions (broadcom.sh)
Specify variables as 'local' where appropriate

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38755
2013-11-11 22:01:12 +00:00
Hauke Mehrtens
aa6a5baf88 broadcom-wl: simplify processing of 'hwmode'
Default gmode to "GOnly" unless explicitly overwridden.  This corrects
processing for 11ng to specify "GOnly" for gmode instead of "Auto"
(which translated to "bg").

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38754
2013-11-11 22:00:39 +00:00
Hauke Mehrtens
d1c55bb33e broadcom-wl: shutdown 'nas' when 'wl' device is disabled
'nas' must be shutdown independently for each 'wl' device to properly
support devices with multiple radios.  Do the shutdown when the device
is disabled instead of when it is brought up.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38753
2013-11-11 21:59:58 +00:00
Hauke Mehrtens
091d80bea7 broadcom-wl: use a single instance of 'nas' per 'wl' device
A single instance of 'nas' can support multiple interfaces; there's
no need to run multiple instances.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38752
2013-11-11 21:59:34 +00:00
Hauke Mehrtens
493f82e8ee broadcom-wl: fix whitespace handling
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38751
2013-11-11 21:59:07 +00:00
Hauke Mehrtens
1439dc3b9b broadcom-wl: update description for recently added
Update descriptions for 'phytype' and 'band'.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38750
2013-11-11 21:58:42 +00:00
Hauke Mehrtens
40e8eb2dda broadcom-wl: fix band reporting
Modify the band reporting for broadcom devices to correctly report
HW capability.  Currently, 802.11na devices report "bgn"; but should be
reporting "an".

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38749
2013-11-11 21:58:19 +00:00
Hauke Mehrtens
cac4ccca2f broadcom-wl: change interface names
'netifd' treats all devices with a "." in their name as vlan devices.
Modify the name of virtual/WDS interfaces created by broadcom-wl to use
a "-" instead of a ".", so they will be treated as simple devices
by 'netifd'.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38748
2013-11-11 21:57:26 +00:00
Hauke Mehrtens
c36d24ec82 broadcom-wl: fix compiler warning
Delete the return value (nvram_exit is declared with a 'void' return).

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 38747
2013-11-11 21:56:45 +00:00
Hauke Mehrtens
e12b5ec8df broadcom-wl: Add 'N' mode support to broadcom-wl
This is partly based on patches sent by Łukasz Kwestarz (See https://lists.openwrt.org/pipermail/openwrt-devel/2012-March/014356.html).

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37802
2013-08-17 13:38:30 +00:00
Hauke Mehrtens
e77339b9e2 broadcom-wl: fix compile error with kernel 3.10
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 37626
2013-07-31 17:42:55 +00:00
Hauke Mehrtens
a5c0ad6354 brcm47xx: add initial support for kernel 3.10
SVN-Revision: 37287
2013-07-14 13:44:45 +00:00
John Crispin
4ebf19b48f packages: clean up the package folder
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 37007
2013-06-21 16:54:37 +00:00