|
@@ -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
|