From patchwork Wed Nov 21 16:32:11 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [RFC,2/7] hostapd: add second VHT frequency segment config Date: Wed, 21 Nov 2012 06:32:11 -0000 From: Johannes Berg X-Patchwork-Id: 200806 Message-Id: <1353515536-30235-3-git-send-email-johannes@sipsolutions.net> To: hostap@lists.shmoo.com Cc: Johannes Berg From: Johannes Berg Add the configuration option vht_oper_centr_freq_seg1_idx for the second segment of an 80+80 MHz channel and use it when building the VHT operation IE. Signed-hostap: Johannes Berg --- hostapd/config_file.c | 5 +++-- hostapd/hostapd.conf | 6 ++++++ src/ap/ap_config.h | 1 + src/ap/ieee802_11_vht.c | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/hostapd/config_file.c b/hostapd/config_file.c index 7c9f941..c0a361b 100644 --- a/hostapd/config_file.c +++ b/hostapd/config_file.c @@ -2521,9 +2521,10 @@ static int hostapd_config_fill(struct hostapd_config *conf, conf->require_vht = atoi(pos); } else if (os_strcmp(buf, "vht_oper_chwidth") == 0) { conf->vht_oper_chwidth = atoi(pos); - } else if (os_strcmp(buf, "vht_oper_centr_freq_seg0_idx") == 0) - { + } else if (os_strcmp(buf, "vht_oper_centr_freq_seg0_idx") == 0) { conf->vht_oper_centr_freq_seg0_idx = atoi(pos); + } else if (os_strcmp(buf, "vht_oper_centr_freq_seg1_idx") == 0) { + conf->vht_oper_centr_freq_seg1_idx = atoi(pos); #endif /* CONFIG_IEEE80211AC */ } else if (os_strcmp(buf, "max_listen_interval") == 0) { bss->max_listen_interval = atoi(pos); diff --git a/hostapd/hostapd.conf b/hostapd/hostapd.conf index 5f0eb96..c839ad0 100644 --- a/hostapd/hostapd.conf +++ b/hostapd/hostapd.conf @@ -572,6 +572,12 @@ wmm_ac_vo_acm=0 # which is channel 42 in 5G band # #vht_oper_centr_freq_seg0_idx=42 +# +# center freq = 5 GHz + (5 * index) +# So index 159 gives center freq 5.795 GHz +# which is channel 159 in 5G band +# +#vht_oper_centr_freq_seg1_idx=159 ##### IEEE 802.1X-2004 related configuration ################################## diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h index 0a83856..010d216 100644 --- a/src/ap/ap_config.h +++ b/src/ap/ap_config.h @@ -506,6 +506,7 @@ struct hostapd_config { int require_vht; u8 vht_oper_chwidth; u8 vht_oper_centr_freq_seg0_idx; + u8 vht_oper_centr_freq_seg1_idx; }; diff --git a/src/ap/ieee802_11_vht.c b/src/ap/ieee802_11_vht.c index 7599ef8..b21c2b7 100644 --- a/src/ap/ieee802_11_vht.c +++ b/src/ap/ieee802_11_vht.c @@ -68,6 +68,8 @@ u8 * hostapd_eid_vht_operation(struct hostapd_data *hapd, u8 *eid) */ oper->vht_op_info_chan_center_freq_seg0_idx = hapd->iconf->vht_oper_centr_freq_seg0_idx; + oper->vht_op_info_chan_center_freq_seg1_idx = + hapd->iconf->vht_oper_centr_freq_seg1_idx; oper->vht_op_info_chwidth = hapd->iconf->vht_oper_chwidth;