mac80211: Add some missing 802.11n capabilities to hostapd configuration
Add some missing 802.11n capabilities to the hostapd ht_capab string when supported by the hardware: Spatial Multiplexing Power-Save and 7935-byte AMSDUs. Signed-off-by: Robert Hancock <hancockrwd@gmail.com> SVN-Revision: 44173
This commit is contained in:
parent
e0aaac8434
commit
04f104e74d
1 changed files with 11 additions and 0 deletions
|
@ -42,6 +42,8 @@ drv_mac80211_init_device_config() {
|
||||||
greenfield \
|
greenfield \
|
||||||
short_gi_20 \
|
short_gi_20 \
|
||||||
short_gi_40 \
|
short_gi_40 \
|
||||||
|
smps \
|
||||||
|
max_amsdu \
|
||||||
dsss_cck_40
|
dsss_cck_40
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,8 +132,10 @@ mac80211_hostapd_setup_base() {
|
||||||
greenfield:0 \
|
greenfield:0 \
|
||||||
short_gi_20:1 \
|
short_gi_20:1 \
|
||||||
short_gi_40:1 \
|
short_gi_40:1 \
|
||||||
|
smps:1 \
|
||||||
tx_stbc:1 \
|
tx_stbc:1 \
|
||||||
rx_stbc:3 \
|
rx_stbc:3 \
|
||||||
|
max_amsdu:1 \
|
||||||
dsss_cck_40:1
|
dsss_cck_40:1
|
||||||
|
|
||||||
ht_cap_mask=0
|
ht_cap_mask=0
|
||||||
|
@ -139,6 +143,8 @@ mac80211_hostapd_setup_base() {
|
||||||
ht_cap_mask="$(($ht_cap_mask | $cap))"
|
ht_cap_mask="$(($ht_cap_mask | $cap))"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
cap_smps=$((($ht_cap_mask >> 2) & 3))
|
||||||
|
|
||||||
cap_rx_stbc=$((($ht_cap_mask >> 8) & 3))
|
cap_rx_stbc=$((($ht_cap_mask >> 8) & 3))
|
||||||
[ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc"
|
[ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc"
|
||||||
ht_cap_mask="$(( ($ht_cap_mask & ~(0x300)) | ($cap_rx_stbc << 8) ))"
|
ht_cap_mask="$(( ($ht_cap_mask & ~(0x300)) | ($cap_rx_stbc << 8) ))"
|
||||||
|
@ -152,8 +158,13 @@ mac80211_hostapd_setup_base() {
|
||||||
RX-STBC1:0x300:0x100:1 \
|
RX-STBC1:0x300:0x100:1 \
|
||||||
RX-STBC12:0x300:0x200:1 \
|
RX-STBC12:0x300:0x200:1 \
|
||||||
RX-STBC123:0x300:0x300:1 \
|
RX-STBC123:0x300:0x300:1 \
|
||||||
|
MAX-AMSDU-7935:0x800::$max_amsdu \
|
||||||
DSSS_CCK-40:0x1000::$dsss_cck_40
|
DSSS_CCK-40:0x1000::$dsss_cck_40
|
||||||
|
|
||||||
|
# SM Power Save: 0=static, 1=dynamic, 3=disabled
|
||||||
|
[ "$smps" = 1 -a "$cap_smps" = 0 ] && ht_capab_flags="$ht_capab_flags[SMPS-STATIC]"
|
||||||
|
[ "$smps" = 1 -a "$cap_smps" = 1 ] && ht_capab_flags="$ht_capab_flags[SMPS-DYNAMIC]"
|
||||||
|
|
||||||
ht_capab="$ht_capab$ht_capab_flags"
|
ht_capab="$ht_capab$ht_capab_flags"
|
||||||
[ -n "$ht_capab" ] && append base_cfg "ht_capab=$ht_capab" "$N"
|
[ -n "$ht_capab" ] && append base_cfg "ht_capab=$ht_capab" "$N"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue