Compare commits

...

14 Commits

Author SHA1 Message Date
RenanQueiroz
4e4088e990 softap: sdk: Add 'vendor.' prefix to wlan.driver.config
* In 126af66b04,
  the prop wlan.driver.config was renamed to vendor.wlan.driver.config.
  Therefore, make the same change on softap as well.

Change-Id: I696d851c8ecd35ec42cf680149c402b3b8044cfc
2020-10-28 18:03:09 +05:30
Erfan Abdi
a9826d3adb qsap: Suppress errors
Change-Id: I2809d3acd0e2ae402f9d15351bc9cb7a68f5be7a
2020-10-28 18:03:09 +05:30
Christopher N. Hesse
95aff2bc4e softap: sdk: Declare VNDK usage
Change-Id: I8d408c34947d9febf6afa95929bf9fb696d9d097
2020-10-28 18:02:59 +05:30
Arne Coucheron
275f1fa09d qsap: Fix missing log symbols
Add liblog to LOCAL_SHARED_LIBRARIES instead of using LOCAL_LDLIBS.

Change-Id: Iaf8fbc245babce372f047f73cb1400b19c54836d
2020-10-28 18:02:53 +05:30
Linux Build Service Account
701194c5a1 Merge 1b6053c5cd on remote branch
Change-Id: I62879cd722c4a9cbaf69538e4c9aab876125846c
2020-02-10 10:46:46 -08:00
Alexei Avshalom Lazar
1b6053c5cd QSAP: add support for setting EDMG configuration in hostapd
EDMG is disabled by default.
Add support for setting EDMG configuration for wigig softap.

Change-Id: I64ca5ae8dd4a837e658e07dda5a5ec6417020319
CRs-Fixed: 2567407
2019-12-01 00:52:38 -08:00
Dedy Lansky
a2dd08f8d4 QSAP: add support for setting ieee80211ax in hostapd
80211ax is enabled by default. allow disabling 80211ax for wigig
softap.
Also add support for creating a seperate config file for
wigig, to avoid conflicts with wifi APs.

Change-Id: If04f7da1695715aea037a01da11728c7350ed68c
2019-11-19 17:14:34 +02:00
Linux Build Service Account
b03a2ea9f4 Merge 59c014ff95 on remote branch
Change-Id: I7cd3744295ec99bf296247b73561d3d42b369394
2019-11-12 20:08:29 -08:00
Dedy Lansky
59c014ff95 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
2019-08-08 09:58:36 +03:00
Hu Wang
62ae34e1a4 QSAP: Add support to set sae_require_mfp parameter
For SAE transtion mode, set sae_require_mfp to 1 to require MFP
for all associations using SAE.

CRs-Fixed: 2390790
Change-Id: I64bd35cbb77f6c9b64970c9a9db0a1bc3aeb2314
2019-03-21 10:33:18 -07:00
Abhishek Srivastava
2443024a1a wlan: Add default hostapd configuration file
If the hostapd configuration files are not present in /data/vendor/wifi,
copy it from the default file location /vendor/etc/hostapd
while starting softAP.

Change-Id: I3093e99cdd906d86035f9e8dbfdddb06ae9f7c80
CRs-Fixed: 2409527
2019-03-08 05:59:48 -08:00
Linux Build Service Account
e0c1c7780a Merge "QSAP: Enhance 'set' commmand to configure for OWE" 2019-01-02 18:28:14 -08:00
Hu Wang
d855500014 QSAP: Enhance 'set' commmand to configure for OWE
This creates a new hostapd_owe.conf if use below 'set' CMD:
  "softap qccmd set owe <args>"

CRs-Fixed: 2356574
Change-Id: I1ef4f11f7bdb3155dcfbc2c75fa106c8a3ecc61a
2018-12-06 18:15:48 +08:00
Hu Wang
aa4c6caf36 QSAP: Add support to set owe_transition_ifname parameter
CRs-Fixed: 2356574
Change-Id: Ib06fdc0e7120328e8cae07a4441ab23045e0c45c
2018-11-27 17:24:17 +08:00
3 changed files with 61 additions and 11 deletions

View File

@@ -16,7 +16,7 @@ endif
LOCAL_CFLAGS += -DSDK_VERSION=\"0.0.1.0\"
LOCAL_LDLIBS := -llog
LOCAL_USE_VNDK := true
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/qsap_api.h \
$(LOCAL_PATH)/qsap.h
@@ -61,12 +61,23 @@ ifdef WIFI_DRIVER_DEF_CONF_FILE
LOCAL_CFLAGS += -DWIFI_DRIVER_DEF_CONF_FILE=\"$(WIFI_DRIVER_DEF_CONF_FILE)\"
endif
LOCAL_CFLAGS += \
-Wall \
-Werror \
-Wno-unused-variable \
-Wno-unused-value \
-Wno-format \
-Wno-sometimes-uninitialized \
-Wno-enum-conversion \
-Wno-unused-parameter \
-Wno-implicit-function-declaration
LOCAL_SRC_FILES := qsap_api.c \
qsap.c
LOCAL_PRELINK_MODULE := false
LOCAL_SHARED_LIBRARIES := libnetutils libutils libbinder libcutils libhardware_legacy libnl
LOCAL_SHARED_LIBRARIES := libnetutils libutils libbinder libcutils libhardware_legacy libnl liblog
LOCAL_HEADER_LIBRARIES := libcutils_headers

View File

@@ -90,7 +90,9 @@ s8 *Cmd_req[eCMD_REQ_LAST] = {
*/
s8 *Conf_req[CONF_REQ_LAST] = {
"dual2g",
"dual5g"
"dual5g",
"owe",
"60g",
};
/*
@@ -185,6 +187,11 @@ static struct Command cmd_list[eCMD_LAST] = {
{ "wowlan_triggers", "any" },
{ "accept_mac_file", NULL },
{ "deny_mac_file", NULL },
{ "owe_transition_ifname", NULL },
{ "sae_require_mfp", NULL },
{ "ieee80211ax", NULL },
{ "enable_edmg", NULL },
{ "edmg_channel", NULL },
};
@@ -212,7 +219,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 */
@@ -1916,6 +1923,7 @@ static esap_cmd_t qsap_get_cmd_num(s8 *cName)
for(i=0; i<eCMD_LAST; i++) {
len = strlen(cmd_list[i].name);
if(!strncmp(cmd_list[i].name, cName, len)) {
if((cName[len] == '=') || (cName[len] == '\0'))
return i;
@@ -2511,6 +2519,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]);
@@ -2598,6 +2610,12 @@ static void qsap_handle_set_request(s8 *pcmd, s8 *presp, u32 *plen)
} else if (!(strncmp(pcmd, Conf_req[CONF_5g], strlen(Conf_req[CONF_5g])))) {
pcmd += strlen(Conf_req[CONF_5g]);
SKIP_BLANK_SPACE(pcmd);
} else if (!(strncmp(pcmd, Conf_req[CONF_owe], strlen(Conf_req[CONF_owe])))) {
pcmd += strlen(Conf_req[CONF_owe]);
SKIP_BLANK_SPACE(pcmd);
} else if (!(strncmp(pcmd, Conf_req[CONF_60g], strlen(Conf_req[CONF_60g])))) {
pcmd += strlen(Conf_req[CONF_60g]);
SKIP_BLANK_SPACE(pcmd);
} else {
// DO NOTHING
}
@@ -3172,6 +3190,10 @@ void qsap_hostd_exec_cmd(s8 *pcmd, s8 *presp, u32 *plen)
pconffile = CONFIG_FILE_2G;
} else if (!(strncmp(pcmd+4, Conf_req[CONF_5g], strlen(Conf_req[CONF_5g])))) {
pconffile = CONFIG_FILE_5G;
} else if (!(strncmp(pcmd+4, Conf_req[CONF_owe], strlen(Conf_req[CONF_owe])))) {
pconffile = CONFIG_FILE_OWE;
} else if (!(strncmp(pcmd+4, Conf_req[CONF_60g], strlen(Conf_req[CONF_60g])))) {
pconffile = CONFIG_FILE_60G;
} else {
pconffile = CONFIG_FILE;
}
@@ -3230,8 +3252,11 @@ int qsapsetSoftap(int argc, char *argv[])
ALOGD("ARG: %d - %s\n", i+1, argv[i]);
}
// check if 2nd arg is dual2g/dual5g
if (argc > 2 && (strncmp(argv[2], Conf_req[CONF_2g], 4) == 0)) {
// check if 2nd arg is dual2g/dual5g/owe/60g
if (argc > 2
&& (strncmp(argv[2], Conf_req[CONF_2g], 4) == 0
|| strncmp(argv[2], Conf_req[CONF_owe], 3) == 0
|| strncmp(argv[2], Conf_req[CONF_60g], 3) == 0)) {
snprintf(setCmd, SET_BUF_LEN, "set %s", argv[2]);
offset = 1;
argc--;
@@ -3439,7 +3464,7 @@ void check_for_configuration_files(void)
void qsap_set_ini_filename(void)
{
if (property_get("wlan.driver.config", ini_file, NULL)) {
if (property_get("vendor.wlan.driver.config", ini_file, NULL)) {
fIni = ini_file;
ALOGE("INI FILE PROP PRESENT %s\n", fIni);
} else

View File

@@ -91,21 +91,25 @@ enum error_val {
/** Configuration file name for SAP+SAP*/
#define CONFIG_FILE_2G "/data/vendor/wifi/hostapd/hostapd_dual2g.conf"
#define CONFIG_FILE_5G "/data/vendor/wifi/hostapd/hostapd_dual5g.conf"
#define CONFIG_FILE_60G "/data/vendor/wifi/hostapd/hostapd_60g.conf"
/** Configuration file name for OWE-transition */
#define CONFIG_FILE_OWE "/data/vendor/wifi/hostapd/hostapd_owe.conf"
/** Configuration file name */
#define CONFIG_FILE "/data/vendor/wifi/hostapd/hostapd.conf"
/** Default configuration file path */
#define DEFAULT_CONFIG_FILE_PATH "/system/etc/hostapd/hostapd_default.conf"
#define DEFAULT_CONFIG_FILE_PATH "/vendor/etc/hostapd/hostapd_default.conf"
/** Default Accept list file name */
#define DEFAULT_ACCEPT_LIST_FILE_PATH "/system/etc/hostapd/hostapd.accept"
#define DEFAULT_ACCEPT_LIST_FILE_PATH "/vendor/etc/hostapd/hostapd.accept"
/** Accept list file name */
#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"
#define DEFAULT_DENY_LIST_FILE_PATH "/vendor/etc/hostapd/hostapd.deny"
/** Deny list file name */
#define DENY_LIST_FILE "/data/vendor/wifi/hostapd/hostapd.deny"
@@ -252,6 +256,8 @@ enum eCmd_req {
enum eConf_req {
CONF_2g = 0,
CONF_5g = 1,
CONF_owe = 2,
CONF_60g = 3,
CONF_REQ_LAST
};
@@ -354,6 +360,13 @@ typedef enum esap_cmd {
eCMD_WOWLAN_TRIGGERS = 80,
eCMD_ACCEPT_MAC_FILE = 81,
eCMD_DENY_MAC_FILE = 82,
eCMD_OWE_TRANS_IFNAME = 83,
eCMD_SAE_REQUIRE_MPF = 84,
eCMD_IEEE80211AX = 85,
eCMD_ENABLE_EDMG = 86,
eCMD_EDMG_CHANNEL = 87,
eCMD_LAST /** New command numbers should be added above this */
} esap_cmd_t;
@@ -419,6 +432,7 @@ enum oper_mode {
HW_MODE_N_ONLY = 4,
HW_MODE_A = 5,
HW_MODE_ANY = 6,
HW_MODE_AD = 7,
HW_MODE_UNKNOWN
};
@@ -529,7 +543,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)