From 59c014ff953852d615b8a78f27ddfa6e793964d7 Mon Sep 17 00:00:00 2001 From: Dedy Lansky Date: Thu, 8 Aug 2019 09:58:36 +0300 Subject: [PATCH] QSAP: add support for HW_MODE_AD (Wigig) Add "ad" to list of supported operating modes and add GCMP to the list of valid pairwise ciphers. For AD mode, disable HT capability as this is not relevant for Wigig. Change-Id: Ia036859fe4d15b5f2fc9ff5b22c3b508fc8aae13 --- softap/sdk/qsap_api.c | 6 +++++- softap/sdk/qsap_api.h | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/softap/sdk/qsap_api.c b/softap/sdk/qsap_api.c index f77a817..f1d81e5 100644 --- a/softap/sdk/qsap_api.c +++ b/softap/sdk/qsap_api.c @@ -215,7 +215,7 @@ struct Command qsap_str[eSTR_LAST] = { /** Supported operating mode */ char *hw_mode[HW_MODE_UNKNOWN] = { - "b", "g", "n", "g-only", "n-only", "a", "any" + "b", "g", "n", "g-only", "n-only", "a", "any", "ad" }; /** configuration file path */ @@ -2515,6 +2515,10 @@ static int qsap_set_operating_mode(s32 mode, s8 *pmode, int pmode_len, s8 *tbuf, ulen = *tlen; qsap_write_cfg(pcfg, &cmd_list[eCMD_IEEE80211N],ieee11n_disable, tbuf, &ulen, HOSTAPD_CONF_QCOM_FILE); break; + case HW_MODE_AD: + /** For 802.11ad, disable the 802.11 HT */ + qsap_change_cfg(pcfg, &cmd_list[eCMD_HT_CAPAB], DISABLE); + break; } if(mode == HW_MODE_G_ONLY || mode == HW_MODE_N_ONLY || mode == HW_MODE_N ) { qsap_scnprintf(pmode, pmode_len, "%s",hw_mode[HW_MODE_G]); diff --git a/softap/sdk/qsap_api.h b/softap/sdk/qsap_api.h index 659f5a5..05af9c1 100644 --- a/softap/sdk/qsap_api.h +++ b/softap/sdk/qsap_api.h @@ -425,6 +425,7 @@ enum oper_mode { HW_MODE_N_ONLY = 4, HW_MODE_A = 5, HW_MODE_ANY = 6, + HW_MODE_AD = 7, HW_MODE_UNKNOWN }; @@ -535,7 +536,7 @@ typedef struct sap_auto_channel_info { /** Validate the pairwise encryption */ #define IS_VALID_PAIRWISE(x) (((!strcmp(x, "TKIP")) || (!strcmp(x, "CCMP")) || \ - (!strcmp(x, "TKIP CCMP")) || (!strcmp(x, "CCMP TKIP"))) ? TRUE : FALSE) + (!strcmp(x, "TKIP CCMP")) || (!strcmp(x, "CCMP TKIP")) || (!strcmp(x, "GCMP"))) ? TRUE : FALSE) /** Validate the WMM status */ #define IS_VALID_WMM_STATE(x) (((x >= WMM_AUTO_IN_INI) && (x <= WMM_DISABLED_IN_INI)) ? TRUE: FALSE)