diff options
-rw-r--r-- | package/hostapd/files/hostapd.sh | 3 | ||||
-rw-r--r-- | package/mac80211/files/lib/wifi/mac80211.sh | 13 |
2 files changed, 15 insertions, 1 deletions
diff --git a/package/hostapd/files/hostapd.sh b/package/hostapd/files/hostapd.sh index 0db5e0648..2210a46af 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 6c5359a1b..bae9fb6d7 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 |