wps-ap-cli revision 252190
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."
17252190Srpaulo	read -p "Enrollee PIN: " pin
18252190Srpaulo	cpin=`$CLI wps_check_pin "$pin" | tail -1`
19252190Srpaulo	if [ "$cpin" = "FAIL-CHECKSUM" ]; then
20252190Srpaulo		echo "Checksum digit is not valid"
21252190Srpaulo		read -p "Do you want to use this PIN (y/n)? " resp
22252190Srpaulo		case "$resp" in
23252190Srpaulo			y*)
24252190Srpaulo				cpin=`echo "$pin" | sed "s/[^1234567890]//g"`
25252190Srpaulo				;;
26252190Srpaulo			*)
27252190Srpaulo				return 1
28252190Srpaulo				;;
29252190Srpaulo		esac
30252190Srpaulo	fi
31252190Srpaulo	if [ "$cpin" = "FAIL" ]; then
32252190Srpaulo		echo "Invalid PIN: $pin"
33252190Srpaulo		return 1
34252190Srpaulo	fi
35252190Srpaulo	echo "Enabling Enrollee PIN: $cpin"
36252190Srpaulo	$CLI wps_pin any "$cpin"
37252190Srpaulo}
38252190Srpaulo
39252190Srpauloshow_config()
40252190Srpaulo{
41252190Srpaulo	$CLI status wps
42252190Srpaulo}
43252190Srpaulo
44252190Srpaulomain_menu()
45252190Srpaulo{
46252190Srpaulo	echo "WPS AP"
47252190Srpaulo	echo "------"
48252190Srpaulo	echo "1: Push button (activate PBC)"
49252190Srpaulo	echo "2: Enter Enrollee PIN"
50252190Srpaulo	echo "3: Show current configuration"
51252190Srpaulo	echo "0: Exit wps-ap-cli"
52252190Srpaulo
53252190Srpaulo	read -p "Command: " cmd
54252190Srpaulo
55252190Srpaulo	case "$cmd" in
56252190Srpaulo		1)
57252190Srpaulo			pbc
58252190Srpaulo			;;
59252190Srpaulo		2)
60252190Srpaulo			enter_pin
61252190Srpaulo			;;
62252190Srpaulo		3)
63252190Srpaulo			show_config
64252190Srpaulo			;;
65252190Srpaulo		0)
66252190Srpaulo			exit 0
67252190Srpaulo			;;
68252190Srpaulo		*)
69252190Srpaulo			echo "Unknown command: $cmd"
70252190Srpaulo			;;
71252190Srpaulo	esac
72252190Srpaulo
73252190Srpaulo	echo
74252190Srpaulo	main_menu
75252190Srpaulo}
76252190Srpaulo
77252190Srpaulo
78252190Srpaulomain_menu
79