hdr = struct.pack('<HH6B6B6BH', *t)
self.request("MGMT_TX " + binascii.hexlify(hdr + msg['payload']))
-def add_ap(ifname, params):
+def add_ap(ifname, params, wait_enabled=True):
logger.info("Starting AP " + ifname)
hapd_global = HostapdGlobal()
hapd_global.remove(ifname)
else:
hapd.set(f, v)
hapd.enable()
+ if wait_enabled:
+ ev = hapd.wait_event(["AP-ENABLED"], timeout=30)
+ if ev is None:
+ raise Exception("AP startup timed out")
return hapd
def add_bss(phy, ifname, confname, ignore_error=False):
"""Automatic channel selection"""
params = hostapd.wpa2_params(ssid="test-acs", passphrase="12345678")
params['channel'] = '0'
- hapd = hostapd.add_ap(apdev[0]['ifname'], params)
+ hapd = hostapd.add_ap(apdev[0]['ifname'], params, wait_enabled=False)
wait_acs(hapd)
freq = hapd.get_status_field("freq")
params = { "ssid": "test-ht40",
"channel": "5",
"ht_capab": "[HT40-]"}
- hapd = hostapd.add_ap(apdev[0]['ifname'], params)
+ hapd = hostapd.add_ap(apdev[0]['ifname'], params, wait_enabled=False)
state = hapd.get_status_field("state")
if state != "HT_SCAN":
- time.wait(0.1)
+ time.sleep(0.1)
state = hapd.get_status_field("state")
if state != "HT_SCAN":
raise Exception("Unexpected interface state - expected HT_SCAN")