revert accidental change to madwifi.sh
[openwrt.git] / package / mac80211 / files / lib / wifi / mac80211.sh
index bdf664c..3f85864 100644 (file)
@@ -13,14 +13,14 @@ scan_mac80211() {
                
                config_get mode "$vif" mode
                case "$mode" in
                
                config_get mode "$vif" mode
                case "$mode" in
-                       adhoc|sta|ap)
+                       adhoc|sta|ap|monitor)
                                append $mode "$vif"
                        ;;
                        *) echo "$device($vif): Invalid mode, ignored."; continue;;
                esac
        done
 
                                append $mode "$vif"
                        ;;
                        *) echo "$device($vif): Invalid mode, ignored."; continue;;
                esac
        done
 
-       config_set "$device" vifs "${ap:+$ap }${adhoc:+$adhoc }${ahdemo:+$ahdemo }${sta:+$sta }${wds:+$wds }"
+       config_set "$device" vifs "${ap:+$ap }${adhoc:+$adhoc }${ahdemo:+$ahdemo }${sta:+$sta }${wds:+$wds }${monitor:+$monitor}"
 }
 
 
 }
 
 
@@ -53,6 +53,7 @@ enable_mac80211() {
        
        local first=1
        for vif in $vifs; do
        
        local first=1
        for vif in $vifs; do
+               ifconfig "$ifname" down
                config_get ifname "$vif" ifname
                config_get enc "$vif" encryption
                config_get eap_type "$vif" eap_type
                config_get ifname "$vif" ifname
                config_get enc "$vif" encryption
                config_get eap_type "$vif" eap_type
@@ -73,10 +74,14 @@ enable_mac80211() {
                                sleep 1
                                iwconfig "$ifname" mode ad-hoc >/dev/null 2>/dev/null
                        fi
                                sleep 1
                                iwconfig "$ifname" mode ad-hoc >/dev/null 2>/dev/null
                        fi
-                       ifconfig "$ifname" up
                        sleep 1
                        iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
                }
                        sleep 1
                        iwconfig "$ifname" channel "$channel" >/dev/null 2>/dev/null
                }
+               if [ "$mode" = sta ]; then
+                       iwconfig "$ifname" mode managed >/dev/null 2>/dev/null
+               else
+                       iwconfig "$ifname" mode $mode >/dev/null 2>/dev/null
+               fi
        
                wpa=
                case "$enc" in
        
                wpa=
                case "$enc" in
This page took 0.0349739999999999 seconds and 4 git commands to generate.