1252190Srpaulo#!/bin/sh 2252190Srpaulo 3252190SrpauloCLI=wpa_cli 4252190Srpaulo 5252190Srpaulopbc() 6252190Srpaulo{ 7252190Srpaulo echo "Starting PBC mode" 8252190Srpaulo echo "Push button on the station within two minutes" 9252190Srpaulo if ! $CLI wps_pbc | grep -q OK; then 10252190Srpaulo echo "Failed to enable PBC mode" 11252190Srpaulo fi 12252190Srpaulo} 13252190Srpaulo 14252190Srpauloenter_pin() 15252190Srpaulo{ 16252190Srpaulo echo "Enter a PIN from a station to be enrolled to the network." 17346981Scy printf "Enrollee PIN: " 18281806Srpaulo read pin 19252190Srpaulo cpin=`$CLI wps_check_pin "$pin" | tail -1` 20252190Srpaulo if [ "$cpin" = "FAIL-CHECKSUM" ]; then 21252190Srpaulo echo "Checksum digit is not valid" 22346981Scy printf "Do you want to use this PIN (y/n)? " 23281806Srpaulo read resp 24252190Srpaulo case "$resp" in 25252190Srpaulo y*) 26252190Srpaulo cpin=`echo "$pin" | sed "s/[^1234567890]//g"` 27252190Srpaulo ;; 28252190Srpaulo *) 29252190Srpaulo return 1 30252190Srpaulo ;; 31252190Srpaulo esac 32252190Srpaulo fi 33252190Srpaulo if [ "$cpin" = "FAIL" ]; then 34252190Srpaulo echo "Invalid PIN: $pin" 35252190Srpaulo return 1 36252190Srpaulo fi 37252190Srpaulo echo "Enabling Enrollee PIN: $cpin" 38252190Srpaulo $CLI wps_pin any "$cpin" 39252190Srpaulo} 40252190Srpaulo 41252190Srpauloshow_config() 42252190Srpaulo{ 43252190Srpaulo $CLI status wps 44252190Srpaulo} 45252190Srpaulo 46252190Srpaulomain_menu() 47252190Srpaulo{ 48252190Srpaulo echo "WPS AP" 49252190Srpaulo echo "------" 50252190Srpaulo echo "1: Push button (activate PBC)" 51252190Srpaulo echo "2: Enter Enrollee PIN" 52252190Srpaulo echo "3: Show current configuration" 53252190Srpaulo echo "0: Exit wps-ap-cli" 54252190Srpaulo 55346981Scy printf "Command: " 56281806Srpaulo read cmd 57252190Srpaulo 58252190Srpaulo case "$cmd" in 59252190Srpaulo 1) 60252190Srpaulo pbc 61252190Srpaulo ;; 62252190Srpaulo 2) 63252190Srpaulo enter_pin 64252190Srpaulo ;; 65252190Srpaulo 3) 66252190Srpaulo show_config 67252190Srpaulo ;; 68252190Srpaulo 0) 69252190Srpaulo exit 0 70252190Srpaulo ;; 71252190Srpaulo *) 72252190Srpaulo echo "Unknown command: $cmd" 73252190Srpaulo ;; 74252190Srpaulo esac 75252190Srpaulo 76252190Srpaulo echo 77252190Srpaulo main_menu 78252190Srpaulo} 79252190Srpaulo 80252190Srpaulo 81252190Srpaulomain_menu 82