[rdkb][common][app][Add UCI command]
Add UCI command support: ht_coex, rts, hidden
Test:
Pass
Change-Id: I95c9fad3faaf85dbf9379534424c3c2ceb24fb08
diff --git a/recipes-wifi/wifi-test-tool/files/src/wifi-test-tool.c b/recipes-wifi/wifi-test-tool/files/src/wifi-test-tool.c
index 4bf1fa2..17a8b20 100644
--- a/recipes-wifi/wifi-test-tool/files/src/wifi-test-tool.c
+++ b/recipes-wifi/wifi-test-tool/files/src/wifi-test-tool.c
@@ -165,6 +165,16 @@
radio_param->txantenna = strtol(mask, NULL, 16);
}
+void set_htcoex(wifi_radio_param *radio_param, char *ht_coex)
+{
+ radio_param->ht_coex = strtol(ht_coex, NULL, 10);
+}
+
+void set_rts(wifi_radio_param *radio_param, char *rts)
+{
+ radio_param->rtsThreshold = strtol(rts, NULL, 10);
+}
+
void set_radionum(wifi_intf_param *intf_param, char *phy_name)
{
int radio_num = 0;
@@ -257,6 +267,11 @@
intf_param->wds_mode = TRUE;
}
+void set_hidden(wifi_intf_param *intf_param, char *hidden)
+{
+ intf_param->hidden = strtol(hidden, NULL, 10);
+}
+
int set_interface_bssid(int phy_index, int offset, mac_address_t *bssid)
{
FILE *f;
@@ -345,6 +360,13 @@
operationParam.variant = mode;
+ // rtsThreshold, zero means not set
+ if ((radio_parameter.rtsThreshold < 65535) && radio_parameter.rtsThreshold)
+ operationParam.rtsThreshold = radio_parameter.rtsThreshold;
+
+ //ht_coex
+ operationParam.obssCoex = radio_parameter.ht_coex;
+
// apply setting
ret = wifi_setRadioOperatingParameters(radio_parameter.radio_index, &operationParam);
if (ret != RETURN_OK)
@@ -425,7 +447,9 @@
vap_info.u.bss_info.security.mfp = ap_param.security.mfp;
vap_info.u.bss_info.security.u.key.type = ap_param.security.u.key.type;
strncpy(vap_info.u.bss_info.security.u.key.key, ap_param.security.u.key.key, 64);
-
+
+ // hidden
+ vap_info.u.bss_info.showSsid = (ap_param.hidden ? 0 : 1);
// Replace the setting with uci config
map->vap_array[vap_index_in_map] = vap_info;
@@ -562,6 +586,10 @@
set_rxant(&radio_param, op->v.string);
else if (strcmp(op->e.name, "txantenna") == 0)
set_txant(&radio_param, op->v.string);
+ else if (strcmp(op->e.name, "ht_coex") == 0)
+ set_htcoex(&radio_param, op->v.string);
+ else if (strcmp(op->e.name, "rts") == 0)
+ set_rts(&radio_param, op->v.string);
else
fprintf(stderr, "[%s %s not set!]\n", op->e.name, op->v.string);
} else {
@@ -591,6 +619,8 @@
set_ifname(&intf_param, op->v.string);
}else if (strcmp(op->e.name, "wds") == 0){
set_wds(&intf_param, op->v.string);
+ }else if (strcmp(op->e.name, "hidden") == 0){
+ set_hidden(&intf_param, op->v.string);
}else{
fprintf(stderr, "[%s %s not set!]\n", op->e.name, op->v.string);
}
diff --git a/recipes-wifi/wifi-test-tool/files/src/wifi-test-tool.h b/recipes-wifi/wifi-test-tool/files/src/wifi-test-tool.h
index 100a544..5dd1079 100644
--- a/recipes-wifi/wifi-test-tool/files/src/wifi-test-tool.h
+++ b/recipes-wifi/wifi-test-tool/files/src/wifi-test-tool.h
@@ -42,6 +42,8 @@
int log_level;
char hostapd_options[64];
char noscan[2];
+ unsigned int rtsThreshold;
+ BOOL ht_coex;
} wifi_radio_param;
typedef struct {
@@ -57,6 +59,7 @@
wifi_vap_security_t security;
int mac_offset;
char ifname[16];
+ bool hidden;
} wifi_intf_param;
struct params