tests: AP tracking STA taxonomy
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
442819406c
commit
425cb95337
2 changed files with 105 additions and 0 deletions
|
@ -103,3 +103,4 @@ CONFIG_SUITEB=y
|
||||||
CONFIG_MBO=y
|
CONFIG_MBO=y
|
||||||
|
|
||||||
CONFIG_IAPP=y
|
CONFIG_IAPP=y
|
||||||
|
CONFIG_TAXONOMY=y
|
||||||
|
|
|
@ -283,3 +283,107 @@ def _test_ap_track_sta_force_2ghz(dev, apdev):
|
||||||
if freq != '2437':
|
if freq != '2437':
|
||||||
raise Exception("Unexpected operating channel")
|
raise Exception("Unexpected operating channel")
|
||||||
dev[0].request("DISCONNECT")
|
dev[0].request("DISCONNECT")
|
||||||
|
|
||||||
|
def test_ap_track_taxonomy(dev, apdev):
|
||||||
|
"""AP tracking STA taxonomy"""
|
||||||
|
try:
|
||||||
|
_test_ap_track_taxonomy(dev, apdev)
|
||||||
|
finally:
|
||||||
|
dev[1].request("SET p2p_disabled 0")
|
||||||
|
|
||||||
|
def _test_ap_track_taxonomy(dev, apdev):
|
||||||
|
params = { "ssid": "track",
|
||||||
|
"country_code": "US",
|
||||||
|
"hw_mode": "g",
|
||||||
|
"channel": "6",
|
||||||
|
"track_sta_max_num": "2" }
|
||||||
|
hapd = hostapd.add_ap(apdev[0], params)
|
||||||
|
bssid = apdev[0]['bssid']
|
||||||
|
|
||||||
|
dev[0].scan_for_bss(bssid, freq=2437, force_scan=True)
|
||||||
|
addr0 = dev[0].own_addr()
|
||||||
|
dev[0].connect("track", key_mgmt="NONE", scan_freq="2437")
|
||||||
|
|
||||||
|
dev[1].request("SET p2p_disabled 1")
|
||||||
|
dev[1].scan_for_bss(bssid, freq=2437, force_scan=True)
|
||||||
|
addr1 = dev[1].own_addr()
|
||||||
|
dev[1].connect("track", key_mgmt="NONE", scan_freq="2437")
|
||||||
|
|
||||||
|
wpas = WpaSupplicant(global_iface='/tmp/wpas-wlan5')
|
||||||
|
wpas.interface_add("wlan5")
|
||||||
|
wpas.request("SET model_name track test")
|
||||||
|
wpas.scan_for_bss(bssid, freq=2437, force_scan=True)
|
||||||
|
addr = wpas.own_addr()
|
||||||
|
wpas.connect("track", key_mgmt="NONE", scan_freq="2437")
|
||||||
|
|
||||||
|
if "FAIL" not in hapd.request("SIGNATURE abc"):
|
||||||
|
raise Exception("SIGNATURE failure not reported (1)")
|
||||||
|
if "FAIL" not in hapd.request("SIGNATURE 22:33:44:55:66:77"):
|
||||||
|
raise Exception("SIGNATURE failure not reported (2)")
|
||||||
|
|
||||||
|
res = hapd.request("SIGNATURE " + addr0)
|
||||||
|
logger.info("sta0: " + res)
|
||||||
|
if not res.startswith("wifi4|probe:"):
|
||||||
|
raise Exception("Unexpected SIGNATURE prefix")
|
||||||
|
if "|assoc:" not in res:
|
||||||
|
raise Exception("Missing assoc info in SIGNATURE")
|
||||||
|
if "wps:track_test" in res:
|
||||||
|
raise Exception("Unexpected WPS model name")
|
||||||
|
|
||||||
|
res = hapd.request("SIGNATURE " + addr1)
|
||||||
|
logger.info("sta1: " + res)
|
||||||
|
if not res.startswith("wifi4|probe:"):
|
||||||
|
raise Exception("Unexpected SIGNATURE prefix")
|
||||||
|
if "|assoc:" not in res:
|
||||||
|
raise Exception("Missing assoc info in SIGNATURE")
|
||||||
|
if "wps:" in res:
|
||||||
|
raise Exception("Unexpected WPS info");
|
||||||
|
if ",221(0050f2,4)," in res:
|
||||||
|
raise Exception("Unexpected WPS IE info");
|
||||||
|
if ",221(506f9a,9)," in res:
|
||||||
|
raise Exception("Unexpected P2P IE info");
|
||||||
|
|
||||||
|
res = hapd.request("SIGNATURE " + addr)
|
||||||
|
logger.info("sta: " + res)
|
||||||
|
if not res.startswith("wifi4|probe:"):
|
||||||
|
raise Exception("Unexpected SIGNATURE prefix")
|
||||||
|
if "|assoc:" not in res:
|
||||||
|
raise Exception("Missing assoc info in SIGNATURE")
|
||||||
|
if "wps:track_test" not in res:
|
||||||
|
raise Exception("Missing WPS model name")
|
||||||
|
if ",221(0050f2,4)," not in res:
|
||||||
|
raise Exception("Missing WPS IE info");
|
||||||
|
if ",221(506f9a,9)," not in res:
|
||||||
|
raise Exception("Missing P2P IE info");
|
||||||
|
|
||||||
|
addr2 = dev[2].own_addr()
|
||||||
|
res = hapd.request("SIGNATURE " + addr2)
|
||||||
|
if "FAIL" not in res:
|
||||||
|
raise Exception("Unexpected SIGNATURE success for sta2 (1)")
|
||||||
|
|
||||||
|
for i in range(10):
|
||||||
|
dev[2].request("SCAN freq=2437 passive=1")
|
||||||
|
ev = dev[2].wait_event(["CTRL-EVENT-SCAN-RESULTS"], timeout=10)
|
||||||
|
if ev is None:
|
||||||
|
raise Exception("Scan did not complete")
|
||||||
|
if dev[2].get_bss(bssid):
|
||||||
|
break
|
||||||
|
|
||||||
|
res = hapd.request("SIGNATURE " + addr2)
|
||||||
|
if "FAIL" not in res:
|
||||||
|
raise Exception("Unexpected SIGNATURE success for sta2 (2)")
|
||||||
|
|
||||||
|
dev[2].connect("track", key_mgmt="NONE", scan_freq="2437")
|
||||||
|
|
||||||
|
res = hapd.request("SIGNATURE " + addr2)
|
||||||
|
if "FAIL" not in res and len(res) > 0:
|
||||||
|
raise Exception("Unexpected SIGNATURE success for sta2 (3)")
|
||||||
|
|
||||||
|
dev[2].scan_for_bss(bssid, freq=2437, force_scan=True)
|
||||||
|
|
||||||
|
res = hapd.request("SIGNATURE " + addr2)
|
||||||
|
logger.info("sta2: " + res)
|
||||||
|
if not res.startswith("wifi4|probe:"):
|
||||||
|
raise Exception("Unexpected SIGNATURE prefix")
|
||||||
|
if "|assoc:" not in res:
|
||||||
|
raise Exception("Missing assoc info in SIGNATURE")
|
||||||
|
|
Loading…
Reference in a new issue