hostapd/wpa_supplicant/examples/wps-ap-cli
Jouni Malinen 47662f4017 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 <jouni@qca.qualcomm.com>
2011-12-01 22:14:07 +02:00

78 lines
1.1 KiB
Bash
Executable file

#!/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