summaryrefslogtreecommitdiffstats
path: root/package/mac80211
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2008-08-12 14:22:42 +0000
committerFlorian Fainelli <florian@openwrt.org>2008-08-12 14:22:42 +0000
commit8c8b85b54c38de89392342c4959de0ae49afd148 (patch)
treebbdda0bf891faaa0638b198256b53a3519c34fef /package/mac80211
parent89a9d76c8b8d8c61708038af8ce462fb3933d0c0 (diff)
downloadmaster-31e0f0ae-8c8b85b54c38de89392342c4959de0ae49afd148.tar.gz
master-31e0f0ae-8c8b85b54c38de89392342c4959de0ae49afd148.tar.bz2
master-31e0f0ae-8c8b85b54c38de89392342c4959de0ae49afd148.zip
Add generic wpa_supplicant calls and use them for mac80211 and madwifi.
SVN-Revision: 12289
Diffstat (limited to 'package/mac80211')
-rw-r--r--package/mac80211/files/lib/wifi/mac80211.sh33
1 files changed, 9 insertions, 24 deletions
diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh
index a2e6c685c0..bdf664c222 100644
--- a/package/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/mac80211/files/lib/wifi/mac80211.sh
@@ -55,6 +55,7 @@ enable_mac80211() {
for vif in $vifs; do
config_get ifname "$vif" ifname
config_get enc "$vif" encryption
+ config_get eap_type "$vif" eap_type
config_get mode "$vif" mode
config_get ifname "$vif" ifname
@@ -145,30 +146,14 @@ enable_mac80211() {
fi
;;
sta)
- case "$enc" in
- PSK|psk|PSK2|psk2)
- case "$enc" in
- PSK|psk)
- proto='proto=WPA';;
- PSK2|psk2)
- proto='proto=RSN';;
- esac
- cat > /var/run/wpa_supplicant-$ifname.conf <<EOF
-ctrl_interface=/var/run/wpa_supplicant
-network={
- scan_ssid=1
- ssid="$ssid"
- key_mgmt=WPA-PSK
- $proto
- psk="$key"
-}
-EOF
- ;;
- WPA|wpa|WPA2|wpa2)
- #add wpa_supplicant calls here
- ;;
- esac
- [ -z "$proto" ] || wpa_supplicant ${bridge:+ -b $bridge} -B -D wext -i "$ifname" -c /var/run/wpa_supplicant-$ifname.conf
+ if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then
+ wpa_supplicant_setup_vif "$vif" wext || {
+ echo "enable_mac80211($device): Failed to set up wpa_supplicant for interface $ifname" >&2
+ # make sure this wifi interface won't accidentally stay open without encryption
+ ifconfig "$ifname" down
+ continue
+ }
+ fi
;;
esac
first=0