From 47662f4017b32e17343e5def5f5f55f782b82845 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Thu, 1 Dec 2011 22:14:07 +0200 Subject: [PATCH] Add example WPS AP mode UI for wpa_supplicant This script shows some minimal WPS user interface requirements for mobile AP support with wpa_supplicant. Signed-hostap: Jouni Malinen --- wpa_supplicant/examples/wps-ap-cli | 78 ++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 wpa_supplicant/examples/wps-ap-cli diff --git a/wpa_supplicant/examples/wps-ap-cli b/wpa_supplicant/examples/wps-ap-cli new file mode 100755 index 000000000..7c6b0aa8e --- /dev/null +++ b/wpa_supplicant/examples/wps-ap-cli @@ -0,0 +1,78 @@ +#!/bin/sh + +CLI=wpa_cli + +pbc() +{ + echo "Starting PBC mode" + echo "Push button on the station within two minutes" + if ! $CLI wps_pbc | grep -q OK; then + echo "Failed to enable PBC mode" + fi +} + +enter_pin() +{ + echo "Enter a PIN from a station to be enrolled to the network." + read -p "Enrollee PIN: " pin + cpin=`$CLI wps_check_pin "$pin" | tail -1` + if [ "$cpin" = "FAIL-CHECKSUM" ]; then + echo "Checksum digit is not valid" + read -p "Do you want to use this PIN (y/n)? " resp + case "$resp" in + y*) + cpin=`echo "$pin" | sed "s/[^1234567890]//g"` + ;; + *) + return 1 + ;; + esac + fi + if [ "$cpin" = "FAIL" ]; then + echo "Invalid PIN: $pin" + return 1 + fi + echo "Enabling Enrollee PIN: $cpin" + $CLI wps_pin any "$cpin" +} + +show_config() +{ + $CLI status wps +} + +main_menu() +{ + echo "WPS AP" + echo "------" + echo "1: Push button (activate PBC)" + echo "2: Enter Enrollee PIN" + echo "3: Show current configuration" + echo "0: Exit wps-ap-cli" + + read -p "Command: " cmd + + case "$cmd" in + 1) + pbc + ;; + 2) + enter_pin + ;; + 3) + show_config + ;; + 0) + exit 0 + ;; + *) + echo "Unknown command: $cmd" + ;; + esac + + echo + main_menu +} + + +main_menu