mac80211/hostapd: add support for 256-QAM

This commit is contained in:
LEAN-ESX 2019-11-22 05:18:02 -08:00
parent ea476560a6
commit f8d1fc74ba
6 changed files with 53 additions and 5 deletions

View File

@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211 PKG_NAME:=mac80211
PKG_VERSION:=5.4-rc2-1 PKG_VERSION:=5.4-rc2-1
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.4-rc2/ PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.4-rc2/
PKG_HASH:=b3baedc135b455f09f266cb77e73276ca21bceeb0f24bac2184cc4b97d09cdbf PKG_HASH:=b3baedc135b455f09f266cb77e73276ca21bceeb0f24bac2184cc4b97d09cdbf

View File

@ -103,7 +103,7 @@ mac80211_hostapd_setup_base() {
[ -n "$acs_exclude_dfs" ] && [ "$acs_exclude_dfs" -gt 0 ] && [ -n "$acs_exclude_dfs" ] && [ "$acs_exclude_dfs" -gt 0 ] &&
append base_cfg "acs_exclude_dfs=1" "$N" append base_cfg "acs_exclude_dfs=1" "$N"
json_get_vars noscan ht_coex json_get_vars noscan ht_coex vendor_vht
json_get_values ht_capab_list ht_capab tx_burst json_get_values ht_capab_list ht_capab tx_burst
[ -n "$noscan" -a "$noscan" -gt 0 ] && hostapd_noscan=1 [ -n "$noscan" -a "$noscan" -gt 0 ] && hostapd_noscan=1
@ -217,7 +217,7 @@ mac80211_hostapd_setup_base() {
;; ;;
esac esac
if [ "$enable_ac" != "0" ]; then if [ "$enable_ac" != "0" -o "$vendor_vht" = "1" ]; then
json_get_vars \ json_get_vars \
rxldpc:1 \ rxldpc:1 \
short_gi_80:1 \ short_gi_80:1 \

View File

@ -0,0 +1,10 @@
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -4718,6 +4718,7 @@ static void ath10k_mac_setup_ht_vht_cap(
if (ar->phy_capability & WHAL_WLAN_11G_CAPABILITY) {
band = &ar->mac.sbands[NL80211_BAND_2GHZ];
band->ht_cap = ht_cap;
+ band->vht_cap = vht_cap;
}
if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY) {
band = &ar->mac.sbands[NL80211_BAND_5GHZ];

View File

@ -0,0 +1,36 @@
--- a/net/mac80211/vht.c
+++ b/net/mac80211/vht.c
@@ -135,7 +135,8 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
have_80mhz = false;
for (i = 0; i < sband->n_channels; i++) {
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
- IEEE80211_CHAN_NO_80MHZ))
+ IEEE80211_CHAN_NO_80MHZ) &&
+ (sband->band != NL80211_BAND_2GHZ))
continue;
have_80mhz = true;
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -1769,7 +1769,8 @@ static int ieee80211_build_preq_ies_band
/* Check if any channel in this sband supports at least 80 MHz */
for (i = 0; i < sband->n_channels; i++) {
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
- IEEE80211_CHAN_NO_80MHZ))
+ IEEE80211_CHAN_NO_80MHZ) &&
+ (sband->band != NL80211_BAND_2GHZ))
continue;
have_80mhz = true;
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -4824,7 +4824,8 @@ static int ieee80211_prep_channel(struct
have_80mhz = false;
for (i = 0; i < sband->n_channels; i++) {
if (sband->channels[i].flags & (IEEE80211_CHAN_DISABLED |
- IEEE80211_CHAN_NO_80MHZ))
+ IEEE80211_CHAN_NO_80MHZ) &&
+ (sband->band != NL80211_BAND_2GHZ))
continue;
have_80mhz = true;

View File

@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=hostapd PKG_NAME:=hostapd
PKG_RELEASE:=2 PKG_RELEASE:=3
PKG_SOURCE_URL:=http://w1.fi/hostap.git PKG_SOURCE_URL:=http://w1.fi/hostap.git
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git

View File

@ -92,6 +92,7 @@ hostapd_common_add_device_config() {
config_add_boolean country_ie doth config_add_boolean country_ie doth
config_add_string require_mode config_add_string require_mode
config_add_boolean legacy_rates config_add_boolean legacy_rates
config_add_boolean vendor_vht
config_add_string acs_chan_bias config_add_string acs_chan_bias
config_add_array hostapd_options config_add_array hostapd_options
@ -106,7 +107,7 @@ hostapd_prepare_device_config() {
local base="${config%%.conf}" local base="${config%%.conf}"
local base_cfg= local base_cfg=
json_get_vars country country_ie beacon_int:100 doth require_mode legacy_rates acs_chan_bias json_get_vars country country_ie beacon_int:100 doth require_mode legacy_rates acs_chan_bias vendor_vht
hostapd_set_log_options base_cfg hostapd_set_log_options base_cfg
@ -136,6 +137,7 @@ hostapd_prepare_device_config() {
[ "$hwmode" = "g" ] && { [ "$hwmode" = "g" ] && {
[ "$legacy_rates" -eq 0 ] && set_default rate_list "6000 9000 12000 18000 24000 36000 48000 54000" [ "$legacy_rates" -eq 0 ] && set_default rate_list "6000 9000 12000 18000 24000 36000 48000 54000"
[ -n "$require_mode" ] && set_default basic_rate_list "6000 12000 24000" [ -n "$require_mode" ] && set_default basic_rate_list "6000 12000 24000"
[ -n "$vendor_vht" ] && append base_cfg "vendor_vht=$vendor_vht" "$N"
} }
case "$require_mode" in case "$require_mode" in