busybox: enable readlink (with -f support)
[openwrt.git] / package / mac80211 / files / lib / wifi / mac80211.sh
index 97fd050..1b0bea7 100644 (file)
@@ -295,6 +295,7 @@ enable_mac80211() {
        config_get distance "$device" distance
        config_get txantenna "$device" txantenna all
        config_get rxantenna "$device" rxantenna all
+       config_get antenna_gain "$device" antenna_gain 0
        config_get frag "$device" frag
        config_get rts "$device" rts
        find_mac80211_phy "$device" || return 0
@@ -321,6 +322,7 @@ enable_mac80211() {
        }
 
        iw phy "$phy" set antenna $txantenna $rxantenna >/dev/null 2>&1
+       iw phy "$phy" set antenna_gain $antenna_gain
 
        [ -n "$distance" ] && iw phy "$phy" set distance "$distance"
        [ -n "$frag" ] && iw phy "$phy" set frag "${frag%%.*}"
@@ -445,11 +447,17 @@ enable_mac80211() {
                                config_get encryption "$vif" encryption
                                config_get key "$vif" key 1
                                config_get mcast_rate "$vif" mcast_rate
+                               config_get htmode "$device" htmode
+                               case "$htmode" in
+                                       HT20|HT40+|HT40-) ;;
+                                       *) htmode= ;;
+                               esac
+
 
                                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 "${hostapd_ctrl:+-H $hostapd_ctrl}" $freq || {
+                                               wpa_supplicant_setup_vif "$vif" nl80211 "${hostapd_ctrl:+-H $hostapd_ctrl}" $freq $htmode || {
                                                        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
@@ -496,12 +504,6 @@ enable_mac80211() {
                                        [ "$mcsub" -gt 0 ] && mcval="$mcval.$mcsub"
                                }
 
-                               config_get htmode "$device" htmode
-                               case "$htmode" in
-                                       HT20|HT40+|HT40-|NOHT) ;;
-                                       *) htmode= ;;
-                               esac
-
                                iw dev "$ifname" ibss join "$ssid" $freq $htmode \
                                        ${fixed:+fixed-freq} $bssid \
                                        ${beacon_int:+beacon-interval $beacon_int} \