summaryrefslogtreecommitdiff
path: root/package/mac80211
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-08-12 14:22:42 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-08-12 14:22:42 +0000
commit6abeb0b19129befc3491abf1c95f3cfd186b1b16 (patch)
tree7aec6a3de4809b9a7b8fd03b2ac54e6fa3817dda /package/mac80211
parent9675ea9c59fd0e4d092637dcc1c6f0f5e8c907e3 (diff)
Add generic wpa_supplicant calls and use them for mac80211 and madwifi.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12289 3c298f89-4303-0410-b956-a3cf2f4a3e73
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