 2797486c4f
			
		
	
	
		2797486c4f
		
	
	
	
	
		
			
			Option '-p' of 'read' command may be unsupported in some POSIX-complete shells. So replace 'read -p' with 'echo -n'/'read' pair. Signed-off-by: Oleksandr Chumachenko <ledest@gmail.com>
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			1.2 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."
 | |
| 	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
 |