[PATCH] wpa_supplicant: Enable HT40 support for AP mode

Arik Nemtsov arik at wizery.com
Mon Jul 9 12:33:23 EDT 2012


On Mon, Jul 9, 2012 at 7:15 PM, Rajkumar Manoharan
<rmanohar at qca.qualcomm.com> wrote:
> On Mon, Jul 09, 2012 at 06:50:04PM +0300, Arik Nemtsov wrote:
>> On Mon, Jul 9, 2012 at 7:51 AM, Rajkumar Manoharan
>> <rmanohar at qca.qualcomm.com> wrote:
>> > Right now HT40 mode is not enabled for AP/P2P GO mode in wpa_supplicant.
>> > If the HW is capable of 40MHz channel width and user specifies the
>> > secondary channel posision, lets enable the HT40 mode in wpa_s. This
>> > patch also enables HT40 support for P2P mode.
>> >
>> > ap_ht40_mode : -1 -> HT40MINUS, 1 -> HT40PLUS
>> >
>> > Signed-hostap: Rajkumar Manoharan <rmanohar at qca.qualcomm.com>
>> > ---
>> >  wpa_supplicant/ap.c               | 3 +++
>> >  wpa_supplicant/config.c           | 5 ++++-
>> >  wpa_supplicant/config.h           | 7 +++++++
>> >  wpa_supplicant/config_file.c      | 4 ++++
>> >  wpa_supplicant/p2p_supplicant.c   | 2 --
>> >  wpa_supplicant/wpa_supplicant.c   | 2 ++
>> >  wpa_supplicant/wpa_supplicant_i.h | 1 +
>> >  7 files changed, 21 insertions(+), 3 deletions(-)
>> >
>> > diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c
>> > index f9e0045..25a07d5 100644
>> > --- a/wpa_supplicant/ap.c
>> > +++ b/wpa_supplicant/ap.c
>> > @@ -99,6 +99,9 @@ static int wpa_supplicant_conf_ap(struct wpa_supplicant *wpa_s,
>> >
>> >                 if (!no_ht && mode && mode->ht_capab) {
>> >                         conf->ieee80211n = 1;
>> > +                       if (mode->ht_capab & HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET)
>> > +                               conf->secondary_channel =
>> > +                                       wpa_s->global->ap_ht40_mode;
>>
>> Can you tell me why HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET is not enabled
>> in the capabilities white-list?
>> (just below this code).
>>
>> I must be missing something, otherwise I'm not sure how this works..
>>
> The HT40 mode should be enabled if and only if the hw has IEEE80211_HT_CAP_SUP_WIDTH_20_40
> capability. This info was exported by wpa_driver_nl80211_get_hw_feature_data.
> I don't understand why it has be added in white-list?
>

The capabilities enabled for p2p are only a subset of all the
capabilities the HW supports. See this in the code:

			/*
			 * white-list capabilities that won't cause issues
			 * to connecting stations, while leaving the current
			 * capabilities intact (currently disabled SMPS).
			 */
			conf->ht_capab |= mode->ht_capab &
				(HT_CAP_INFO_GREEN_FIELD |
				 HT_CAP_INFO_SHORT_GI20MHZ |
				 HT_CAP_INFO_SHORT_GI40MHZ |
				 HT_CAP_INFO_RX_STBC_MASK |
				 HT_CAP_INFO_MAX_AMSDU_SIZE);

Arik


More information about the HostAP mailing list