mac80211: fill some important capabilities into ht_capab in the hostapd config
authorFelix Fietkau <nbd@openwrt.org>
Wed, 4 Nov 2009 21:53:49 +0000 (21:53 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 4 Nov 2009 21:53:49 +0000 (21:53 +0000)
SVN-Revision: 18293

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

index 0db5e0648bd63b6fe9520302cfd20ad147391d7e..2210a46aff82f4f725d7b1595657791625d30fb0 100644 (file)
@@ -89,6 +89,9 @@ hostapd_setup_vif() {
                [ -n "$hwmode_11n" ] && {
                        hwmode="$hwmode_11n"
                        config_get ht_capab "$device" ht_capab
+                       [ -n "$ht_capab" -a -n "${ht_capab%%\[*}" ] && {
+                               ht_capab=`echo "[$ht_capab]" | sed -e 's, ,][,g'`
+                       }
                }
        }
        cat > /var/run/hostapd-$ifname.conf <<EOF
index 6c5359a1bbe7bb98b64a469c2ceef7afde736830..bae9fb6d78cda9a14743f3e984a89cf8743faa28 100644 (file)
@@ -293,7 +293,17 @@ detect_mac80211() {
                done
                mode_11n=""
                mode_band="g"
-               iw phy "$dev" info | grep -q 'HT cap' && mode_11n="n"
+               ht_cap="$(iw phy "$dev" info | grep 'HT capabilities' | cut -d: -f2)"
+               ht_capab="";
+               [ -n "$ht_cap" ] && {
+                       mode_11n="n"
+                       list="  list ht_capab"
+                       [ "$(($ht_cap & 2))" -eq 1 ] && append ht_capab "$list  LDPC" "$N"
+                       [ "$(($ht_cap & 2))" -eq 2 ] && append ht_capab "$list  HT40-" "$N"
+                       [ "$(($ht_cap & 32))" -eq 32 ] && append ht_capab "$list        SHORT-GI-20" "$N"
+                       [ "$(($ht_cap & 64))" -eq 64 ] && append ht_capab "$list        SHORT-GI-40" "$N"
+                       [ "$(($ht_cap & 4096))" -eq 4096 ] && append ht_capab "$list    DSSS_CCK-40" "$N"
+               }
                iw phy "$dev" info | grep -q '2412 MHz' || mode_band="a"
 
                cat <<EOF
@@ -304,6 +314,7 @@ config wifi-device  wifi$devidx
        option hwmode   11${mode_11n}${mode_band}
        # REMOVE THIS LINE TO ENABLE WIFI:
        option disabled 1
+$ht_capab
 
 config wifi-iface
        option device   wifi$devidx