#!/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." echo -n "Enrollee PIN: " read pin cpin=`$CLI wps_check_pin "$pin" | tail -1` if [ "$cpin" = "FAIL-CHECKSUM" ]; then echo "Checksum digit is not valid" echo -n "Do you want to use this PIN (y/n)? " read 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" echo -n "Command: " read 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