aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel')
-rw-r--r--package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh11
1 files changed, 11 insertions, 0 deletions
diff --git a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
index 1a85d15ed6..72f9936b40 100644
--- a/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
+++ b/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
@@ -42,6 +42,8 @@ drv_mac80211_init_device_config() {
greenfield \
short_gi_20 \
short_gi_40 \
+ smps \
+ max_amsdu \
dsss_cck_40
}
@@ -130,8 +132,10 @@ mac80211_hostapd_setup_base() {
greenfield:0 \
short_gi_20:1 \
short_gi_40:1 \
+ smps:1 \
tx_stbc:1 \
rx_stbc:3 \
+ max_amsdu:1 \
dsss_cck_40:1
ht_cap_mask=0
@@ -139,6 +143,8 @@ mac80211_hostapd_setup_base() {
ht_cap_mask="$(($ht_cap_mask | $cap))"
done
+ cap_smps=$((($ht_cap_mask >> 2) & 3))
+
cap_rx_stbc=$((($ht_cap_mask >> 8) & 3))
[ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc"
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-STBC12:0x300:0x200:1 \
RX-STBC123:0x300:0x300:1 \
+ MAX-AMSDU-7935:0x800::$max_amsdu \
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"
[ -n "$ht_capab" ] && append base_cfg "ht_capab=$ht_capab" "$N"
}