diff --git a/tests/hwsim/hostapd.py b/tests/hwsim/hostapd.py index c8df67923..33cfa6206 100644 --- a/tests/hwsim/hostapd.py +++ b/tests/hwsim/hostapd.py @@ -47,8 +47,11 @@ class HostapdGlobal: def request(self, cmd): return self.ctrl.request(cmd) - def add(self, ifname): - res = self.ctrl.request("ADD " + ifname + " " + hapd_ctrl) + def add(self, ifname, driver=None): + cmd = "ADD " + ifname + " " + hapd_ctrl + if driver: + cmd += " " + driver + res = self.ctrl.request(cmd) if not "OK" in res: raise Exception("Could not add hostapd interface " + ifname) diff --git a/tests/hwsim/test_ap_dynamic.py b/tests/hwsim/test_ap_dynamic.py index e8836ca23..19eb9c43d 100644 --- a/tests/hwsim/test_ap_dynamic.py +++ b/tests/hwsim/test_ap_dynamic.py @@ -466,3 +466,20 @@ def test_ap_multi_bss(dev, apdev): raise Exception("sta0 did not report receiving packets") if 'rx_packets' not in sta1 or int(sta1['rx_packets']) < 1: raise Exception("sta1 did not report receiving packets") + +def test_ap_add_with_driver(dev, apdev): + """Add hostapd interface with driver specified""" + ifname = apdev[0]['ifname'] + hapd_global = hostapd.HostapdGlobal() + hapd_global.add(ifname, driver="nl80211") + hapd = hostapd.Hostapd(ifname) + hapd.set_defaults() + hapd.set("ssid", "dynamic") + hapd.enable() + ev = hapd.wait_event(["AP-ENABLED"], timeout=30) + if ev is None: + raise Exception("AP startup timed out") + dev[0].connect("dynamic", key_mgmt="NONE", scan_freq="2412") + dev[0].request("DISCONNECT") + dev[0].wait_disconnected() + hapd.disable()