mac80211: fix calculation of VHT capability values
[openwrt/openwrt.git] / package / kernel / mac80211 / files / lib / netifd / wireless / mac80211.sh
index 71b96aa425e942b79831358ee3313f99a3063eb3..e3d612e4b2f3d6dc1345bf71311fd31ee3649f1e 100644 (file)
@@ -220,7 +220,6 @@ mac80211_hostapd_setup_base() {
                        vht_max_a_mpdu_len_exp:7 \
                        vht_max_mpdu:11454 \
                        rx_stbc:4 \
-                       tx_stbc:4 \
                        vht_link_adapt:3 \
                        vht160:2
 
@@ -232,13 +231,13 @@ mac80211_hostapd_setup_base() {
 
                cap_rx_stbc=$((($vht_cap >> 8) & 7))
                [ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc"
-               ht_cap_mask="$(( ($vht_cap & ~(0x700)) | ($cap_rx_stbc << 8) ))"
+               vht_cap="$(( ($vht_cap & ~(0x700)) | ($cap_rx_stbc << 8) ))"
 
                mac80211_add_capabilities vht_capab $vht_cap \
                        RXLDPC:0x10::$rxldpc \
                        SHORT-GI-80:0x20::$short_gi_80 \
                        SHORT-GI-160:0x40::$short_gi_160 \
-                       TX-STBC-2BY1:0x80::$tx_stbc \
+                       TX-STBC-2BY1:0x80::$tx_stbc_2by1 \
                        SU-BEAMFORMER:0x800::$su_beamformer \
                        SU-BEAMFORMEE:0x1000::$su_beamformee \
                        MU-BEAMFORMER:0x80000::$mu_beamformer \
@@ -247,10 +246,10 @@ mac80211_hostapd_setup_base() {
                        HTC-VHT:0x400000::$htc_vht \
                        RX-ANTENNA-PATTERN:0x10000000::$rx_antenna_pattern \
                        TX-ANTENNA-PATTERN:0x20000000::$tx_antenna_pattern \
-                       RX-STBC1:0x700:0x100:1 \
-                       RX-STBC12:0x700:0x200:1 \
-                       RX-STBC123:0x700:0x300:1 \
-                       RX-STBC1234:0x700:0x400:1 \
+                       RX-STBC-1:0x700:0x100:1 \
+                       RX-STBC-12:0x700:0x200:1 \
+                       RX-STBC-123:0x700:0x300:1 \
+                       RX-STBC-1234:0x700:0x400:1 \
 
                # supported Channel widths
                vht160_hw=0
@@ -394,11 +393,10 @@ mac80211_generate_mac() {
 find_phy() {
        [ -n "$phy" -a -d /sys/class/ieee80211/$phy ] && return 0
        [ -n "$path" ] && {
-               for phy in /sys/devices/$path/ieee80211/phy*; do
-                       [ -e "$phy" ] && {
-                               phy="${phy##*/}"
-                               return 0
-                       }
+               for phy in $(ls /sys/class/ieee80211 2>/dev/null); do
+                       case "$(readlink -f /sys/class/ieee80211/$phy/device)" in
+                               *$path) return 0;;
+                       esac
                done
        }
        [ -n "$macaddr" ] && {
@@ -524,7 +522,7 @@ mac80211_setup_adhoc_htmode() {
                        [ "$auto_channel" -gt 0 ] && ibss_htmode="HT40+"
                ;;
                VHT80)
-                       ibss_htmode="80Mhz"
+                       ibss_htmode="80MHZ"
                ;;
                NONE|NOHT)
                        ibss_htmode="NOHT"