mirror of
https://github.com/Lienol/openwrt
synced 2025-01-09 03:58:13 +08:00
mac80211: add support for 256-QAM
This commit is contained in:
parent
4d1e673eed
commit
b83fb0a510
@ -138,7 +138,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
|
||||||
json_get_values channel_list channels
|
json_get_values channel_list channels
|
||||||
|
|
||||||
@ -284,7 +284,7 @@ mac80211_hostapd_setup_base() {
|
|||||||
}
|
}
|
||||||
[ "$hwmode" = "a" ] || enable_ac=0
|
[ "$hwmode" = "a" ] || enable_ac=0
|
||||||
|
|
||||||
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 \
|
||||||
|
@ -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];
|
@ -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;
|
@ -101,6 +101,7 @@ hostapd_common_add_device_config() {
|
|||||||
config_add_boolean legacy_rates
|
config_add_boolean legacy_rates
|
||||||
config_add_int cell_density
|
config_add_int cell_density
|
||||||
config_add_int rts_threshold
|
config_add_int rts_threshold
|
||||||
|
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
|
||||||
@ -117,7 +118,7 @@ hostapd_prepare_device_config() {
|
|||||||
local base_cfg=
|
local base_cfg=
|
||||||
|
|
||||||
json_get_vars country country3 country_ie beacon_int:100 dtim_period:2 doth require_mode legacy_rates \
|
json_get_vars country country3 country_ie beacon_int:100 dtim_period:2 doth require_mode legacy_rates \
|
||||||
acs_chan_bias local_pwr_constraint spectrum_mgmt_required airtime_mode cell_density \
|
acs_chan_bias vendor_vht local_pwr_constraint spectrum_mgmt_required airtime_mode cell_density \
|
||||||
rts_threshold beacon_rate
|
rts_threshold beacon_rate
|
||||||
|
|
||||||
hostapd_set_log_options base_cfg
|
hostapd_set_log_options base_cfg
|
||||||
@ -187,6 +188,7 @@ hostapd_prepare_device_config() {
|
|||||||
set_default rate_list "24000 36000 48000 54000"
|
set_default rate_list "24000 36000 48000 54000"
|
||||||
set_default basic_rate_list "24000"
|
set_default basic_rate_list "24000"
|
||||||
fi
|
fi
|
||||||
|
[ -n "$vendor_vht" ] && append base_cfg "vendor_vht=$vendor_vht" "$N"
|
||||||
;;
|
;;
|
||||||
a)
|
a)
|
||||||
if [ "$cell_density" -eq 1 ]; then
|
if [ "$cell_density" -eq 1 ]; then
|
||||||
|
Loading…
Reference in New Issue
Block a user