 47662f4017
			
		
	
	
		47662f4017
		
	
	
	
	
		
			
			This script shows some minimal WPS user interface requirements for mobile AP support with wpa_supplicant. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
		
			
				
	
	
		
			78 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			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
 |