From a60a0a43c73aa42d8988aba1b5c23e1f2663d054 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sat, 21 Mar 2020 18:13:28 +0200 Subject: [PATCH] tests: Fix bgscan_simple_beacon_loss with REPORTS_TX_ACK_STATUS Stopping the AP from beaconing will also stop it from acknowledging frames and that resulted in bgscan_simple_beacon_loss failing when mac80211_hwsim is registering REPORTS_TX_ACK_STATUS. Work around this by moving to using PMF so that the station ignores the unprotected deauthentiation frames from the AP and also disabling SA Query. This allows the AP to be stopped and restarted with large enough Beacon interval to allow the station to detect beacon loss. Signed-off-by: Jouni Malinen --- tests/hwsim/test_bgscan.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tests/hwsim/test_bgscan.py b/tests/hwsim/test_bgscan.py index f418f56da..0387406fe 100644 --- a/tests/hwsim/test_bgscan.py +++ b/tests/hwsim/test_bgscan.py @@ -71,13 +71,21 @@ def test_bgscan_simple(dev, apdev): def test_bgscan_simple_beacon_loss(dev, apdev): """bgscan_simple and beacon loss""" - hapd = hostapd.add_ap(apdev[0], {"ssid": "bgscan"}) + params = hostapd.wpa2_params(ssid="bgscan", passphrase="12345678") + params["wpa_key_mgmt"] = "WPA-PSK-SHA256" + params["ieee80211w"] = "2" + hapd = hostapd.add_ap(apdev[0], params) - dev[0].connect("bgscan", key_mgmt="NONE", scan_freq="2412", - bgscan="simple:1:-20:2") + dev[0].set("disable_sa_query", "1") + dev[0].connect("bgscan", ieee80211w="2", key_mgmt="WPA-PSK-SHA256", + psk="12345678", scan_freq="2412", bgscan="simple:1:-20:2") hapd.set("ext_mgmt_frame_handling", "1") if "OK" not in hapd.request("STOP_AP"): raise Exception("Failed to stop AP") + hapd.disable() + hapd.set("ssid", "foo") + hapd.set("beacon_int", "10000") + hapd.enable() ev = dev[0].wait_event(["CTRL-EVENT-BEACON-LOSS"], timeout=10) if ev is None: raise Exception("Beacon loss not reported")