From 56a6b93d451f8aa27af175acecda0e1b7e1927c4 Mon Sep 17 00:00:00 2001 From: Logan Lipke Date: Tue, 4 Aug 2020 10:11:33 -0700 Subject: [PATCH 1/4] Added extra flags for enable 160MHz --- py-json/realm.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/py-json/realm.py b/py-json/realm.py index 6c69a570..2a836b93 100755 --- a/py-json/realm.py +++ b/py-json/realm.py @@ -1303,6 +1303,7 @@ class VAPProfile(LFCliBase): "ap_name": None, "flags": 0, "flags_mask": 0, + "mode": 0, "ssid": None, "key": None, "mac": "xx:xx:xx:xx:*:xx" @@ -1319,10 +1320,6 @@ class VAPProfile(LFCliBase): "interest": 0, # (0x2 + 0x4000 + 0x800000) # current, dhcp, down } - if self.use_ht160: - self.desired_add_vap_flags.append("ht160_enable") - self.desired_add_vap_flags_mask.append("ht160_enable") - def admin_up(self, resource): set_port_r = LFRequest.LFRequest(self.lfclient_url, "/cli-json/set_port", debug_=self.debug) req_json = LFUtils.portUpRequest(resource, None, debug_on=self.debug) @@ -1446,6 +1443,17 @@ class VAPProfile(LFCliBase): return result def create(self, resource, radio, channel=None, up_=None, debug=False, suppress_related_commands_=True): + + if self.use_ht160: + self.desired_add_vap_flags.append("enable_80211d") + self.desired_add_vap_flags_mask.append("enable_80211d") + self.desired_add_vap_flags.append("80211h_enable") + self.desired_add_vap_flags_mask.append("80211h_enable") + self.desired_add_vap_flags.append("ht160_enable") + self.desired_add_vap_flags_mask.append("ht160_enable") + + print("MODE ========= ", self.mode) + jr = self.local_realm.json_get("/radiostatus/1/%s/%s?fields=channel,frequency,country" % (resource, radio), debug_=self.debug) if jr is None: raise ValueError("No radio %s.%s found" % (resource, radio)) @@ -1460,7 +1468,7 @@ class VAPProfile(LFCliBase): "shelf": 1, "resource": resource, "radio": radio, - "mode": 0, #"NA", #0 for AUTO or "NA" + "mode": self.mode, #"NA", #0 for AUTO or "NA" "channel": channel, "country": country, "frequency": self.local_realm.channel_freq(channel_=channel) @@ -1474,7 +1482,8 @@ class VAPProfile(LFCliBase): elif "create_admin_down" not in self.desired_add_vap_flags: self.desired_add_vap_flags.append("create_admin_down") - # create stations down, do set_port on them, then set stations up + # create vaps down, do set_port on them, then set vaps up + self.add_vap_data["mode"] = self.mode self.add_vap_data["flags"] = self.add_named_flags(self.desired_add_vap_flags, add_vap.add_vap_flags) self.add_vap_data["flags_mask"] = self.add_named_flags(self.desired_add_vap_flags_mask, add_vap.add_vap_flags) self.add_vap_data["radio"] = radio From 3a94735b4b9f4ec9e7c97662c0ddafd84e7d9c05 Mon Sep 17 00:00:00 2001 From: Logan Lipke Date: Tue, 4 Aug 2020 13:23:13 -0700 Subject: [PATCH 2/4] Added options to enable ht160 --- py-scripts/test_ipv4_variable_time.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/py-scripts/test_ipv4_variable_time.py b/py-scripts/test_ipv4_variable_time.py index f9be5880..8032e2bd 100755 --- a/py-scripts/test_ipv4_variable_time.py +++ b/py-scripts/test_ipv4_variable_time.py @@ -22,7 +22,7 @@ class IPV4VariableTime(LFCliBase): def __init__(self, host, port, ssid, security, password, sta_list, name_prefix, resource=1, radio="wiphy0", side_a_min_rate=56, side_a_max_rate=0, side_b_min_rate=56, side_b_max_rate=0, - number_template="00000", test_duration="5m", + number_template="00000", test_duration="5m", use_ht160=False, _debug_on=False, _exit_on_error=False, _exit_on_fail=False): @@ -48,7 +48,8 @@ class IPV4VariableTime(LFCliBase): self.station_profile.ssid_pass = self.password, self.station_profile.security = self.security self.station_profile.number_template_ = self.number_template - self.station_profile.mode = 0 + self.station_profile.mode = 9 + self.station_profile.use_ht160 = use_ht160 self.cx_profile.host = self.host self.cx_profile.port = self.port @@ -161,10 +162,11 @@ def main(): station_list = LFUtils.portNameSeries(prefix_="sta", start_id_=0, end_id_=1, padding_number_=10000) ip_var_test = IPV4VariableTime(lfjson_host, lfjson_port, number_template="00", sta_list=station_list, name_prefix="var_time", - ssid="jedway-wpa2-x2048-4-4", - password="jedway-wpa2-x2048-4-4", + ssid="jedway-wpa2-160", + password="jedway-wpa2-160", resource=1, - security="wpa2", test_duration="5m", + radio="wiphy2", + security="wpa2", test_duration="5m", use_ht160=False, side_a_min_rate=256000, side_b_min_rate=256000, _debug_on=False) ip_var_test.cleanup(station_list) From 8efe1dfd236283976f84f230afe352294acc6bb1 Mon Sep 17 00:00:00 2001 From: Logan Lipke Date: Tue, 4 Aug 2020 13:23:28 -0700 Subject: [PATCH 3/4] Added options to StationProfile to enable ht160 --- py-json/realm.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/py-json/realm.py b/py-json/realm.py index 2a836b93..8bce277d 100755 --- a/py-json/realm.py +++ b/py-json/realm.py @@ -1594,7 +1594,7 @@ class VAPProfile(LFCliBase): # class StationProfile: def __init__(self, lfclient_url, local_realm, ssid="NA", ssid_pass="NA", security="open", number_template_="00000", mode=0, up=True, - dhcp=True, debug_=False): + dhcp=True, debug_=False, use_ht160=False): self.debug = debug_ self.lfclient_url = lfclient_url self.ssid = ssid @@ -1604,6 +1604,7 @@ class StationProfile: self.dhcp = dhcp self.security = security self.local_realm = local_realm + self.use_ht160 = use_ht160 self.COMMANDS = ["add_sta", "set_port"] self.desired_add_sta_flags = ["wpa2_enable", "80211u_enable", "create_admin_down"] self.desired_add_sta_flags_mask = ["wpa2_enable", "80211u_enable", "create_admin_down"] @@ -1824,6 +1825,12 @@ class StationProfile: # print("Building %s on radio %s.%s" % (num_stations, resource, radio_name)) # except ValueError as e: # print(e) + + if self.use_ht160: + self.desired_add_sta_flags.append("ht160_enable") + self.desired_add_sta_flags_mask.append("ht160_enable") + self.add_sta_data["mode"] = self.mode + if up_ is not None: self.up = up_ From 761dff87ae22442d3dd8028d177650dc62bca211 Mon Sep 17 00:00:00 2001 From: Logan Lipke Date: Tue, 4 Aug 2020 13:25:10 -0700 Subject: [PATCH 4/4] Added ht160 check for station mode --- py-scripts/test_ipv4_variable_time.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/py-scripts/test_ipv4_variable_time.py b/py-scripts/test_ipv4_variable_time.py index 8032e2bd..111fa916 100755 --- a/py-scripts/test_ipv4_variable_time.py +++ b/py-scripts/test_ipv4_variable_time.py @@ -48,8 +48,10 @@ class IPV4VariableTime(LFCliBase): self.station_profile.ssid_pass = self.password, self.station_profile.security = self.security self.station_profile.number_template_ = self.number_template - self.station_profile.mode = 9 + self.station_profile.mode = 0 self.station_profile.use_ht160 = use_ht160 + if self.station_profile.use_ht160: + self.station_profile.mode = 9 self.cx_profile.host = self.host self.cx_profile.port = self.port