aboutsummaryrefslogtreecommitdiffstats
path: root/package/broadcom-wl
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-01-21 20:52:17 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-01-21 20:52:17 +0000
commitf3c6c80cb82fbb81721721c6214b816169a1efa5 (patch)
tree42001f68bc3baa9d36e0c1bce2c3cf2c1b67b2da /package/broadcom-wl
parentedfa82ab60f06cc8acbade286b54ab80d841cb5a (diff)
downloadupstream-f3c6c80cb82fbb81721721c6214b816169a1efa5.tar.gz
upstream-f3c6c80cb82fbb81721721c6214b816169a1efa5.tar.bz2
upstream-f3c6c80cb82fbb81721721c6214b816169a1efa5.zip
broadcom-wl: implement wepauth in wlc and support it in broadcom.sh, allows switching between open and shared authentication
SVN-Revision: 19256
Diffstat (limited to 'package/broadcom-wl')
-rw-r--r--package/broadcom-wl/files/lib/wifi/broadcom.sh6
-rw-r--r--package/broadcom-wl/src/wlc/wlc.c7
2 files changed, 12 insertions, 1 deletions
diff --git a/package/broadcom-wl/files/lib/wifi/broadcom.sh b/package/broadcom-wl/files/lib/wifi/broadcom.sh
index f5d15f841d..94f220e0a1 100644
--- a/package/broadcom-wl/files/lib/wifi/broadcom.sh
+++ b/package/broadcom-wl/files/lib/wifi/broadcom.sh
@@ -181,11 +181,15 @@ enable_broadcom() {
nasopts=
config_get enc "$vif" encryption
case "$enc" in
- WEP|wep)
+ *WEP*|*wep*)
wsec_r=1
wsec=1
defkey=1
config_get key "$vif" key
+ case "$enc" in
+ *shared*) append vif_do_up "wepauth 1" "$N";;
+ *) append vif_do_up "wepauth 0" "$N";;
+ esac
case "$key" in
[1234])
defkey="$key"
diff --git a/package/broadcom-wl/src/wlc/wlc.c b/package/broadcom-wl/src/wlc/wlc.c
index 3f3130de87..747b3d5bb9 100644
--- a/package/broadcom-wl/src/wlc/wlc.c
+++ b/package/broadcom-wl/src/wlc/wlc.c
@@ -664,6 +664,13 @@ static const struct wlc_call wlc_calls[] = {
.desc = "Set/Remove WEP keys"
},
{
+ .name = "wepauth",
+ .param = INT,
+ .handler = wlc_ioctl,
+ .data.num = ((WLC_GET_AUTH << 16) | WLC_SET_AUTH),
+ .desc = "WEP authentication type. 0 = OpenSystem, 1 = SharedKey"
+ },
+ {
.name = "wsec_restrict",
.param = INT,
.handler = wlc_bssiovar,