mac80211: modify mac80211.sh to in order to support IBSS-RSN
[openwrt/svn-archive/archive.git] / package / mac80211 / files / lib / wifi / mac80211.sh
index ff5470b5eb01fa394e9c6e278bda2e69e2504071..e946a685acab18d6af8a69a961879364d7839d8b 100644 (file)
@@ -447,6 +447,17 @@ enable_mac80211() {
                                config_get mcast_rate "$vif" mcast_rate
 
                                local keyspec=""
+                               [ "$encryption" == "psk" -o "$encryption" == "psk2" ] && {
+                                       if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then
+                                               wpa_supplicant_setup_vif "$vif" nl80211 "" $freq || {
+                                                       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
+                               }
+
                                [ "$encryption" == "wep" ] && {
                                        case "$key" in
                                                [1234])