]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: Wait for CTRL-EVENT-REGDOM-CHANGE before starting AP
authorJouni Malinen <j@w1.fi>
Sat, 9 Dec 2023 15:11:45 +0000 (17:11 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 9 Dec 2023 17:02:38 +0000 (19:02 +0200)
Wait for the country change to take effect before trying to start
wpa_supplicant AP mode on the 5 GHz band.

Signed-off-by: Jouni Malinen <j@w1.fi>
tests/hwsim/test_wpas_ap.py

index 98c80ca51c5b5f1672884105814c9cb964abe724..8d0db2c61c8b7efc8f04809de449f54767d4daed 100644 (file)
@@ -21,6 +21,16 @@ def wait_ap_ready(dev):
     if ev is None:
         raise Exception("AP failed to start")
 
+def set_regdom(dev, country):
+    dev.set("country", country)
+    for i in range(5):
+        ev = dev.wait_event(["CTRL-EVENT-REGDOM-CHANGE"], timeout=5)
+        if not ev:
+            return
+        if "alpha2=" + country in ev:
+            return
+    logger.info("No regdom change event indicated")
+
 def log_channel_info(dev):
     gen = dev.get_status_field('wifi_generation')
     if gen:
@@ -684,7 +694,7 @@ def _test_wpas_ap_5ghz(dev):
 def test_wpas_ap_open_ht40(dev):
     """wpa_supplicant AP mode - HT 40 MHz"""
     id = dev[0].add_network()
-    dev[0].set("country", "FI")
+    set_regdom(dev[0], "FI")
     try:
         dev[0].set_network(id, "mode", "2")
         dev[0].set_network_quoted(id, "ssid", "wpas-ap-open")
@@ -713,7 +723,7 @@ def test_wpas_ap_open_ht40(dev):
 def test_wpas_ap_open_vht80(dev):
     """wpa_supplicant AP mode - VHT 80 MHz"""
     id = dev[0].add_network()
-    dev[0].set("country", "FI")
+    set_regdom(dev[0], "FI")
     try:
         dev[0].set_network(id, "mode", "2")
         dev[0].set_network_quoted(id, "ssid", "wpas-ap-open")
@@ -760,7 +770,7 @@ def test_wpas_ap_open_vht80_us_161(dev):
 
 def run_wpas_ap_open_vht80_us(dev, freq, center_freq, ht40):
     id = dev[0].add_network()
-    dev[0].set("country", "US")
+    set_regdom(dev[0], "US")
     try:
         dev[0].set_network(id, "mode", "2")
         dev[0].set_network_quoted(id, "ssid", "wpas-ap-open")
@@ -833,7 +843,7 @@ def test_wpas_ap_no_ht(dev):
 def test_wpas_ap_async_fail(dev):
     """wpa_supplicant AP mode - Async failure"""
     id = dev[0].add_network()
-    dev[0].set("country", "FI")
+    set_regdom(dev[0], "FI")
     try:
         dev[0].set_network(id, "mode", "2")
         dev[0].set_network_quoted(id, "ssid", "wpas-ap-open")