mac80211: fix encryption fallback for sta mode, add frequency/bssid selection support
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 11 Oct 2009 01:05:17 +0000 (01:05 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 11 Oct 2009 01:05:17 +0000 (01:05 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18025 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/mac80211/files/lib/wifi/mac80211.sh

index c11da42..29c1041 100644 (file)
@@ -231,14 +231,12 @@ enable_mac80211() {
                                iw dev "$ifname" ibss join "$ssid" $freq ${fixed:+fixed-freq} $bssid
                        ;;
                        sta|mesh)
                                iw dev "$ifname" ibss join "$ssid" $freq ${fixed:+fixed-freq} $bssid
                        ;;
                        sta|mesh)
+                               config_get bssid "$vif" bssid
                                case "$enc" in                                                                                           
                                case "$enc" in                                                                                           
-                                       *)
-                                               iw dev "$ifname" connect "$ssid"
-                                       ;;
                                        wep)
                                                if [ -e "$keymgmt" ]; then
                                                        [ -n "$keystring" ] &&
                                        wep)
                                                if [ -e "$keymgmt" ]; then
                                                        [ -n "$keystring" ] &&
-                                                               iw dev "$ifname" connect "$ssid" key "$keystring"
+                                                               iw dev "$ifname" connect "$ssid" ${fixed:+$freq} $bssid key "$keystring"
                                                else
                                                        if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then
                                                                wpa_supplicant_setup_vif "$vif" wext || {
                                                else
                                                        if eval "type wpa_supplicant_setup_vif" 2>/dev/null >/dev/null; then
                                                                wpa_supplicant_setup_vif "$vif" wext || {
@@ -260,6 +258,9 @@ enable_mac80211() {
                                                        }
                                                fi
                                        ;;
                                                        }
                                                fi
                                        ;;
+                                       *)
+                                               iw dev "$ifname" connect "$ssid" ${fixed:+$freq} $bssid
+                                       ;;
                                esac
 
                        ;;
                                esac
 
                        ;;