ev = dev[0].wait_event(["WPS-AP-SETUP-LOCKED"])
if ev is None:
raise Exception("WPS AP PIN not locked")
+
+ dev[0].dump_monitor()
+ logger.info("Test random AP PIN timeout")
+ pin = dev[0].request("WPS_AP_PIN random 1")
+ if "FAIL" in pin:
+ raise Exception("Could not generate random AP PIN")
+ res = dev[0].request("WPS_AP_PIN get")
+ if pin not in res:
+ raise Exception("Could not fetch current AP PIN")
+ for i in range(10):
+ time.sleep(0.2)
+ res = dev[0].request("WPS_AP_PIN get")
+ if "FAIL" in res:
+ break
+ if "FAIL" not in res:
+ raise Exception("WPS_AP_PIN random timeout did not work")
+
+ if "FAIL" not in dev[0].request("WPS_AP_PIN foo"):
+ raise Exception("Invalid WPS_AP_PIN command not rejected")
+ if "FAIL" not in dev[0].request("WPS_AP_PIN set"):
+ raise Exception("Invalid WPS_AP_PIN command not rejected")