Commit Graph

47 Commits

Author SHA1 Message Date
Andre Heider
28e357d528
base-files: add 'isup' to the wifi script
This is a silent command that allows easy wifi up/down automation for
scripts.

It takes one or multiple devices as arguments (or all if none are passed),
and the exit code indicates if any of those is not up.

E.g.:
wifi isup && echo "all wifi devices are up"
wifi isup radio0 || echo "this wifi is down"

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-04-12 19:49:30 +02:00
Andre Heider
8fbe7738b9
base-files: use named variables in the wifi script
Use the already present but unused $cmd and $dev variables instead of
positional parameters in ubus_wifi_cmd() to improve readability.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-04-12 19:49:22 +02:00
Bob Cantor
80a62a675d
base-files: wifi: for wifi reconf, scan_wifi after network reload
Commit e8b5429609 included an unintended change and we now call
scan_wifi before a network reload.

Restore the original behaviour and call scan_wifi only after a network
reload.

Fixes: e8b5429609 ("base-files: wifi: tidy up the reconf code")
Signed-off-by: Bob Cantor <bobc@confidesk.com>
2022-10-25 09:24:37 +02:00
Bob Cantor
fcfce8f208
base-files: wifi: for wifi up, scan_wifi after network reload
Commit b82cc80713 included an unintended change and we now call
scan_wifi before a network reload.

Restore the original behaviour and call scan_wifi only after a network
reload.

Fixes: b82cc80713 ("base-files: wifi: swap the order of some ubus calls")
Signed-off-by: Bob Cantor <bobc@confidesk.com>
2022-10-25 09:24:27 +02:00
Bob Cantor
e8b5429609 base-files: wifi: tidy up the reconf code
commit 5edbd390d321532d9a697d6895a1a7c71c40bd5d rearranged the
"wifi up" code.

This commit tidies up the "wifi reconf" code so as to
keep it aligned with the "wifi up" code.

branches affected: trunk, 21.02

Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
2021-06-28 17:24:15 +02:00
Bob Cantor
b82cc80713 base-files: wifi: swap the order of some ubus calls
"/sbin/wifi up" makes three ubus calls:
1. ubus call network reload
2. ubus call network.wireless down
3. ubus call network.wireless up

The first and third ubus calls call drv_mac80211_setup,
while the second ubus call triggers wireless_device_setup_cancel,
so the call sequence becomes,

1. drv_mac80211_setup
2. wireless_device_setup_cancel
3. drv_mac80211_setup

This commit swaps the order of the first two ubus calls,
1. ubus call network.wireless down
2. ubus call network reload
3. ubus call network.wireless up

Consequently drv_mac80211_setup is only called once,
and two related bugs (#FS3784 and #FS3902) are no longer triggered
by /sbin/wifi.

branches affected: trunk, 21.02

Signed-off-by: Bob Cantor <coxede6557@w3boats.com>
2021-06-28 17:24:11 +02:00
Daniel Golle
9c845a5ad1 base-files: wifi: add support for 802.11ad
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-01-05 02:16:24 +00:00
Daniel Golle
d89427662d base-files: include 'reconf' in help output of 'wifi' command
Reported-by: Dirk Brenken <dev@brenken.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-11-18 12:58:31 +01:00
John Crispin
6becc37f33 base-files: add 'wifi reconf'
Now that netifd and hostapd allow dynamic reconfiguration, add a
command to trigger it.

Signed-off-by: John Crispin <john@phrozen.org>
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-11-12 11:52:38 +01:00
Thibaut VARÈNE
78b5764fd8 base-files: make wifi report unknown command
Avoid having /sbin/wifi silently ignore unknown keywords and execute
"up"; instead display the help message and exit with an error.

Spell out the "up" keyword (which has users), add it to usage output,
and preserve the implicit assumption that runing /sbin/wifi without
argument performs "up".

Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
2018-08-10 05:30:57 +02:00
David Pinilla Caparrós
a896611acd base-files: Added a deprecation notice on wifi detect
When running wifi detect, the user will be told on error output that
wifi detect is deprecated, that wifi config must be used instead. Also
the commit that changes it is referenced for further info.

Signed-off-by: David Pinilla Caparrós <dpinitux@gmail.com>
2017-02-13 10:24:32 +01:00
David Pinilla Caparrós
f6d3ea8c8a base-files: Add wifi config to wifi command usage
Since commit 5f8f8a3661 wifi detect does
not longer work and wifi config it's used to configure not yet
configured wireless devices.

This commit changes command usage to reflect that change.

Signed-off-by: David Pinilla Caparrós <dpinitux@gmail.com>
2017-02-13 10:24:32 +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
Mathias Kresin
ba3540db62 base-files: generate /etc/config/wireless, if it doesn't exist
This patch adds a check in "wifi detect" to test if the wireless
configuration file does exist. If it doesn't exist, an empty
/etc/config/wireless file will be created.

This is necessary because uci doesn't create new files,
instead the tool just exits with "uci: Entry not found".

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
5a8a986dd5 base-files: remove non-working filter option for wifi detect
This patch removes the non-working wifi driver filter for
the wifi detection script.

I figured that rather than replacing ${2:-$DRIVERS} with
${1:-$DRIVERS}, it would be better to remove it. Nobody
needed it in the previous years.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
2016-10-04 11:50:48 +02:00
John Crispin
20940138ac scripts: fix wrong usage of '==' operator
[base-files] shell-scripting: fix wrong usage of '==' operator

normally the '==' is used for invoking a regex parser and is a bashism.
all of the fixes just want to compare a string. the used busybox-ash
will silently "ignore" this mistake, but make it portable/clean at least.

this patch does not change the behavior/logic of the scripts.

Signed-off-by: Bastian Bittorf <bittorf@bluebottle.com>

SVN-Revision: 42911
2014-10-14 12:21:11 +00:00
Felix Fietkau
b656a56225 /sbin/wifi: reload network/wireless on wifi restart
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39036
2013-12-11 19:48:19 +00:00
Luka Perkov
3ceb6b3274 base-files: fix whitespaces
Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 39006
2013-12-09 11:30:14 +00:00
Felix Fietkau
6e0fafd816 wifi: restart netifd wifi interfaces on the "up" command like the old variant
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 38990
2013-12-02 16:53:27 +00:00
Felix Fietkau
3c50feca19 wifi: rename the "reload" (restarting non-netifd wifi) command to "reload_legacy"
Add a new "reload" command that reloads the netifd config as well

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 38989
2013-12-02 16:53:24 +00:00
Felix Fietkau
498d84fc4e netifd: add wireless configuration support and port mac80211 to the new framework
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 38988
2013-12-02 16:41:03 +00:00
Jo-Philipp Wich
f2dde4f5ba base-files: allow wireless ifaces to be part of multiple networks
SVN-Revision: 32503
2012-06-26 15:25:33 +00:00
Jo-Philipp Wich
9ae901445b /etc/functions.sh => /lib/functions.sh
SVN-Revision: 32062
2012-06-05 16:04:23 +00:00
Jo-Philipp Wich
a73fffe857 base-files: properly handle wifi ifaces with no network attached, useful for unmanaged interfaces like used for batman or monitoring
SVN-Revision: 28860
2011-11-08 14:42:58 +00:00
Felix Fietkau
dab5ebaa76 netifd: ensure that a bridge gets created before hostapd needs it, hostapd must not attempt to create the bridge by itself
SVN-Revision: 28745
2011-11-04 01:05:12 +00:00
Florian Fainelli
ebe7bdba88 adds a --help option to /sbin/wifi
Signed-off-by: Sebastian Philipp <sebastian@spawnhost.de>

SVN-Revision: 24258
2010-12-05 11:22:56 +00:00
Felix Fietkau
3e75044a95 wifi: fix duplicate ht capabilities in the hostapd config file by clearing the list at config load time
SVN-Revision: 22099
2010-07-08 18:36:12 +00:00
Felix Fietkau
19555b702e /sbin/wifi: improve reliability of restarts by resetting the state properly
SVN-Revision: 19495
2010-02-02 02:19:10 +00:00
Felix Fietkau
62d7bb6ecd fix a typo in the hwmode handling in /sbin/wifi (thx, maddes)
SVN-Revision: 19313
2010-01-24 14:27:27 +00:00
Jo-Philipp Wich
cb30b52ec1 base-files, mac80211 (#6491) - fix wep key handling in iw with mac80211 based drivers - sanitize keys where necessary - put a procedure prepare_key_wep() into /sbin/wifi for use by other driver backends
SVN-Revision: 19118
2010-01-13 18:39:44 +00:00
Hauke Mehrtens
90fc200a60 In wifi_fixup_hwmode the value 11bg for hwmode was not transfered to bg.
SVN-Revision: 15180
2009-04-09 20:16:01 +00:00
Felix Fietkau
ca749bea97 wifi: fix hostapd + autochannel
SVN-Revision: 15055
2009-03-27 21:14:59 +00:00
Jo-Philipp Wich
9a72419724 - fix mac assignment for broadcom vifs in bridging mode - thanks abramoff1 for spotting this - fix possible regression with different interface protocols - bump PKG_RELEASE
SVN-Revision: 15042
2009-03-25 19:13:15 +00:00
Jo-Philipp Wich
7e6c947e4b sync macs with vif bssids in broadcom.sh, fixes multi-ssid with wpa
SVN-Revision: 15028
2009-03-24 23:42:09 +00:00
Felix Fietkau
a4f11ca22e use pidfiles for hostapd/wpa_supplicant instead of killing all processes when bringing an interface down - fixes an issue with random hostapd death
SVN-Revision: 13078
2008-10-29 17:26:49 +00:00
Felix Fietkau
c0e753bcdc make sure that the dhcp client (or other processes necessary to get a connection) gets restarted when the wifi is restarted
SVN-Revision: 13026
2008-10-23 01:07:35 +00:00
Felix Fietkau
0cf1a58282 Here comes the new UCI. Enjoy :)
SVN-Revision: 10367
2008-02-03 06:48:15 +00:00
Felix Fietkau
b085680b96 tab/whitespace fix
SVN-Revision: 8338
2007-08-04 11:30:40 +00:00
Felix Fietkau
600d29f61e fix an error message
SVN-Revision: 8109
2007-07-22 18:46:57 +00:00
Felix Fietkau
b13426e21b keep track of the wifi interface state in /var/state/wireless
SVN-Revision: 8108
2007-07-22 18:32:47 +00:00
Felix Fietkau
e58d9626f2 add a workaround for the hostapd killed issue when using more than one wifi card (#1928, #2040)
SVN-Revision: 8077
2007-07-20 16:11:46 +00:00
Felix Fietkau
90d54c0faa more fixes
SVN-Revision: 7639
2007-06-15 16:07:09 +00:00
Felix Fietkau
2954f04b41 small cleanup
SVN-Revision: 6663
2007-03-24 13:42:53 +00:00
Mike Baker
a738f566e6 add a new 'option disabled' to wifi-device
SVN-Revision: 6576
2007-03-16 13:56:36 +00:00
Felix Fietkau
4215478ffe move config_get_bool from /sbin/wifi to /etc/functions.sh
SVN-Revision: 6407
2007-02-27 23:09:57 +00:00
Felix Fietkau
20e82c48ef fix typo in /sbin/wifi (#1016 - thanks, dairiki)
SVN-Revision: 5689
2006-12-04 23:11:47 +00:00
Felix Fietkau
59a06c71cb rename default/ to files/
SVN-Revision: 5622
2006-11-22 23:30:57 +00:00