aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJouni Malinen <jouni@qca.qualcomm.com>2013-02-24 08:54:18 (GMT)
committerJouni Malinen <j@w1.fi>2013-02-24 08:54:18 (GMT)
commitc39fdb8529295ce99384998fd0c3e8f36e889cce (patch)
tree5cfc4af20ccb5f130eb345576217243d8d8f379c
parentb618a469c42120e984ab1c85ed6058504d1fca78 (diff)
downloadhostap-c39fdb8529295ce99384998fd0c3e8f36e889cce.zip
hostap-c39fdb8529295ce99384998fd0c3e8f36e889cce.tar.gz
hostap-c39fdb8529295ce99384998fd0c3e8f36e889cce.tar.bz2
WPS: Add wps-er-config command for writing config token from ER
UUID of the AP is specified on the command line to select which configuration is used. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
-rwxr-xr-xwpa_supplicant/examples/wps-nfc.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/wpa_supplicant/examples/wps-nfc.py b/wpa_supplicant/examples/wps-nfc.py
index 14acc5b..725886f 100755
--- a/wpa_supplicant/examples/wps-nfc.py
+++ b/wpa_supplicant/examples/wps-nfc.py
@@ -61,6 +61,13 @@ def wpas_get_config_token():
return wpas.request("WPS_NFC_CONFIG_TOKEN NDEF").rstrip().decode("hex")
+def wpas_get_er_config_token(uuid):
+ wpas = wpas_connect()
+ if (wpas == None):
+ return None
+ return wpas.request("WPS_ER_NFC_CONFIG_TOKEN NDEF " + uuid).rstrip().decode("hex")
+
+
def wpas_get_password_token():
wpas = wpas_connect()
if (wpas == None):
@@ -198,6 +205,28 @@ def wps_write_config_tag(clf):
time.sleep(0.1)
+def wps_write_er_config_tag(clf, uuid):
+ print "Write WPS ER config token"
+ data = wpas_get_er_config_token(uuid)
+ if (data == None):
+ print "Could not get WPS config token from wpa_supplicant"
+ return
+
+ print "Touch an NFC tag"
+ while True:
+ tag = clf.poll()
+ if tag == None:
+ time.sleep(0.1)
+ continue
+ break
+
+ print "Tag found - writing"
+ tag.ndef.message = data
+ print "Done - remove tag"
+ while tag.is_present:
+ time.sleep(0.1)
+
+
def wps_write_password_tag(clf):
print "Write WPS password token"
data = wpas_get_password_token()
@@ -256,6 +285,10 @@ def main():
wps_write_config_tag(clf)
raise SystemExit
+ if len(sys.argv) > 2 and sys.argv[1] == "write-er-config":
+ wps_write_er_config_tag(clf, sys.argv[2])
+ raise SystemExit
+
if len(sys.argv) > 1 and sys.argv[1] == "write-password":
wps_write_password_tag(clf)
raise SystemExit