From 9283d3e3756522ff1694111e49ef81a6d44ace2b Mon Sep 17 00:00:00 2001 From: Purushottam Kushwaha Date: Sat, 12 May 2018 20:21:53 +0530 Subject: [PATCH 1/4] QSAP: use vendor path for default hostapd files. This redefines macros to use "/data/vendor/wifi/hostapd/" path for read/write/update hostapd configuration parameters. Additionaly, it creates libqsap_headers which other modules can use to refer/include *.h files in this project. Change-Id: Ice64e5a56a69882b001b2f3bcd99ba0f91ffc8a2 CRs-Fixed: 2244795 --- softap/sdk/Android.mk | 5 +++++ softap/sdk/qsap_api.h | 12 ++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/softap/sdk/Android.mk b/softap/sdk/Android.mk index c859cc2..819c6f3 100755 --- a/softap/sdk/Android.mk +++ b/softap/sdk/Android.mk @@ -72,3 +72,8 @@ LOCAL_HEADER_LIBRARIES := libcutils_headers include $(BUILD_SHARED_LIBRARY) +include $(CLEAR_VARS) +LOCAL_MODULE := libqsap_headers +LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) +LOCAL_PROPRIETARY_MODULE := true +include $(BUILD_HEADER_LIBRARY) diff --git a/softap/sdk/qsap_api.h b/softap/sdk/qsap_api.h index a52b93a..48b2c30 100644 --- a/softap/sdk/qsap_api.h +++ b/softap/sdk/qsap_api.h @@ -89,11 +89,11 @@ enum error_val { #endif /** Configuration file name for SAP+SAP*/ -#define CONFIG_FILE_2G "/data/vendor/wifi/hostapd_dual2g.conf" -#define CONFIG_FILE_5G "/data/vendor/wifi/hostapd_dual5g.conf" +#define CONFIG_FILE_2G "/data/vendor/wifi/hostapd/hostapd_dual2g.conf" +#define CONFIG_FILE_5G "/data/vendor/wifi/hostapd/hostapd_dual5g.conf" /** Configuration file name */ -#define CONFIG_FILE "/data/misc/wifi/hostapd.conf" +#define CONFIG_FILE "/data/vendor/wifi/hostapd/hostapd.conf" /** Default configuration file path */ #define DEFAULT_CONFIG_FILE_PATH "/system/etc/hostapd/hostapd_default.conf" @@ -102,19 +102,19 @@ enum error_val { #define DEFAULT_ACCEPT_LIST_FILE_PATH "/system/etc/hostapd/hostapd.accept" /** Accept list file name */ -#define ACCEPT_LIST_FILE "/data/misc/wifi/hostapd.accept" +#define ACCEPT_LIST_FILE "/data/vendor/wifi/hostapd/hostapd.accept" /** Default Deny list file name */ #define DEFAULT_DENY_LIST_FILE_PATH "/system/etc/hostapd/hostapd.deny" /** Deny list file name */ -#define DENY_LIST_FILE "/data/misc/wifi/hostapd.deny" +#define DENY_LIST_FILE "/data/vendor/wifi/hostapd/hostapd.deny" /** Default Ini file */ #define DEFAULT_INI_FILE "/persist/qcom/softap/qcom_cfg_default.ini" /** SDK control interface path */ -#define SDK_CTRL_IF "/data/misc/wifi/softap_sdk_ctrl" +#define SDK_CTRL_IF "/data/vendor/wifi/hostapd/ctrl/softap_sdk_ctrl" /** Maximum length of the line in the configuration file */ #define MAX_CONF_LINE_LEN (156) From 168beebc4ecd37d295d53d47cf4f45be193d147e Mon Sep 17 00:00:00 2001 From: Purushottam Kushwaha Date: Mon, 21 May 2018 18:19:46 +0530 Subject: [PATCH 2/4] QSAP: Do not modify hw_mode when channel is set to 0 (for ACS). Currently when channel value is less than 14, hw_mode is set to g (or b). Application might want to run ACS by setting channel=0 in all possible hw modes. This commit skip changing hw_mode, if channel is set to 0. Change-Id: I0da492d70ec9c9455d79e4df33fb86a7313633ba CRs-Fixed: 2245734 --- softap/sdk/qsap_api.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/softap/sdk/qsap_api.c b/softap/sdk/qsap_api.c index 30b8aad..4f030ba 100644 --- a/softap/sdk/qsap_api.c +++ b/softap/sdk/qsap_api.c @@ -2373,6 +2373,10 @@ static int qsap_set_channel(s32 channel, s8 *tbuf, u32 *tlen) ulen = *tlen; + /* Do not worry about hw_mode if intention is to use ACS (channel=0) */ + if (channel == 0) + goto end; + /** Read the current operating mode */ if(NULL == (pcfgval = qsap_get_config_value(pconffile, &cmd_list[eCMD_HW_MODE], tbuf, &ulen))) { return eERR_UNKNOWN; @@ -2409,6 +2413,7 @@ static int qsap_set_channel(s32 channel, s8 *tbuf, u32 *tlen) } } +end: qsap_scnprintf(schan, sizeof(schan), "%ld", channel); return qsap_write_cfg(pcfg, &cmd_list[eCMD_CHAN], schan, tbuf, tlen, HOSTAPD_CONF_QCOM_FILE); From 2ef0af2cb287d06d3e989d96fca4f966589fe019 Mon Sep 17 00:00:00 2001 From: Purushottam Kushwaha Date: Thu, 31 May 2018 13:32:10 +0530 Subject: [PATCH 3/4] QSAP: Add support to set operating mode "any". Currently softap sdk allows only following modes: "b", "g", "n", "g-only", "n-only", "a". This commit adds support for hw_mode "any" via QSAP. CRs-Fixed: 2250379 Change-Id: I13de4c196c3cd752a902ef8bf3fed4a01f95eb6a --- softap/sdk/qsap_api.c | 3 ++- softap/sdk/qsap_api.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/softap/sdk/qsap_api.c b/softap/sdk/qsap_api.c index 4f030ba..91949e7 100644 --- a/softap/sdk/qsap_api.c +++ b/softap/sdk/qsap_api.c @@ -207,7 +207,7 @@ struct Command qsap_str[eSTR_LAST] = { /** Supported operating mode */ char *hw_mode[HW_MODE_UNKNOWN] = { - "b", "g", "n", "g-only", "n-only", "a" + "b", "g", "n", "g-only", "n-only", "a", "any" }; /** configuration file path */ @@ -2447,6 +2447,7 @@ static int qsap_set_operating_mode(s32 mode, s8 *pmode, int pmode_len, s8 *tbuf, case HW_MODE_N: case HW_MODE_G: case HW_MODE_A: + case HW_MODE_ANY: ulen = *tlen; qsap_write_cfg(pcfg, &cmd_list[eCMD_IEEE80211N],ieee11n_enable, tbuf, &ulen, HOSTAPD_CONF_QCOM_FILE); break; diff --git a/softap/sdk/qsap_api.h b/softap/sdk/qsap_api.h index 48b2c30..900ff6a 100644 --- a/softap/sdk/qsap_api.h +++ b/softap/sdk/qsap_api.h @@ -414,6 +414,7 @@ enum oper_mode { HW_MODE_G_ONLY = 3, HW_MODE_N_ONLY = 4, HW_MODE_A = 5, + HW_MODE_ANY = 6, HW_MODE_UNKNOWN }; From e4263cecd2f2c09cbd9cebb7b75f273a308242e8 Mon Sep 17 00:00:00 2001 From: Purushottam Kushwaha Date: Wed, 6 Jun 2018 12:44:06 +0530 Subject: [PATCH 4/4] QSAP: Fixing LOCAL_MODULE flag to LOCAL_VENDOR_MODULE CRs-Fixed: 2255114 Change-Id: I5d55ff31400cef3b4fcbb2ba37d373ed0de44c39 --- softap/sdk/Android.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/softap/sdk/Android.mk b/softap/sdk/Android.mk index 819c6f3..0d9bc46 100755 --- a/softap/sdk/Android.mk +++ b/softap/sdk/Android.mk @@ -75,5 +75,5 @@ include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := libqsap_headers LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) -LOCAL_PROPRIETARY_MODULE := true +LOCAL_VENDOR_MODULE := true include $(BUILD_HEADER_LIBRARY)