summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-11-04 21:53:49 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-11-04 21:53:49 +0000
commit244e2944c6b2f4efaf7d4375951ae2cf503823cd (patch)
tree238413bade28487194412c7890b678d81b05e41d
parent2394d9072728a39d0b72dbe62a4815fe0b2fc759 (diff)
mac80211: fill some important capabilities into ht_capab in the hostapd config
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18293 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--package/hostapd/files/hostapd.sh3
-rw-r--r--package/mac80211/files/lib/wifi/mac80211.sh13
2 files changed, 15 insertions, 1 deletions
diff --git a/package/hostapd/files/hostapd.sh b/package/hostapd/files/hostapd.sh
index 0db5e0648b..2210a46aff 100644
--- a/package/hostapd/files/hostapd.sh
+++ b/package/hostapd/files/hostapd.sh
@@ -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
diff --git a/package/mac80211/files/lib/wifi/mac80211.sh b/package/mac80211/files/lib/wifi/mac80211.sh
index 6c5359a1bb..bae9fb6d78 100644
--- a/package/mac80211/files/lib/wifi/mac80211.sh
+++ b/package/mac80211/files/lib/wifi/mac80211.sh
@@ -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