mirror of https://github.com/OpenIPC/firmware.git
				
				
				
			
		
			
				
	
	
		
			75 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
| #!/bin/sh
 | |
| WPA_FILE=/etc/wireless.conf
 | |
| WPA_TEMP=/tmp/wpa_supplicant.conf
 | |
| 
 | |
| if [ -e "$WPA_FILE" ]; then
 | |
| 	WPA_SSID=$(sed -n "1p" $WPA_FILE)
 | |
| 	WPA_PASS=$(sed -n "2p" $WPA_FILE)
 | |
| 	WPA_MODE=$(sed -n "3p" $WPA_FILE)
 | |
| fi
 | |
| 
 | |
| if [ -z "$WPA_SSID" ] || [ -z "$WPA_PASS" ] || [ "$WPA_MODE" != "client" ]; then
 | |
| 	WPA_SSID=OpenIPC
 | |
| 	WPA_PASS=12345678
 | |
| 	WPA_MODE=server
 | |
| 	rm -f "$WPA_FILE"
 | |
| fi
 | |
| 
 | |
| case "$PHASE" in
 | |
| 	pre-up)
 | |
| 		/etc/network/adapter
 | |
| 		wpa_passphrase "$WPA_SSID" "$WPA_PASS" > $WPA_TEMP
 | |
| 		[ "$WPA_MODE" = "client" ] && sed -i '2i \\tscan_ssid=1' $WPA_TEMP
 | |
| 		[ "$WPA_MODE" = "server" ] && sed -i '2i \\tmode=2' $WPA_TEMP
 | |
| 		exit 0
 | |
| 		;;
 | |
| 
 | |
| 	post-up)
 | |
| 		wpa_supplicant -B -i wlan0 -c $WPA_TEMP
 | |
| 		[ "$WPA_MODE" = "server" ] && udhcpd
 | |
| 		exit 0
 | |
| 		;;
 | |
| 
 | |
| 	post-down)
 | |
| 		killall -q udhcpd
 | |
| 		killall -q wpa_supplicant
 | |
| 		exit 0
 | |
| 		;;
 | |
| esac
 | |
| 
 | |
| case "$1" in
 | |
| 	connect)
 | |
| 		ifdown wlan0
 | |
| 		ifup wlan0
 | |
| 		;;
 | |
| 
 | |
| 	reset)
 | |
| 		rm -f "$WPA_FILE"
 | |
| 		;;
 | |
| 
 | |
| 	setup)
 | |
| 		if [ -z "$2" ] || [ -z "$3" ]; then
 | |
| 			echo wireless setup [SSID] [PASS]
 | |
| 			exit 0
 | |
| 		fi
 | |
| 		rm -f "$WPA_FILE"
 | |
| 		echo "$2" >> "$WPA_FILE"
 | |
| 		echo "$3" >> "$WPA_FILE"
 | |
| 		echo "client" >> "$WPA_FILE"
 | |
| 		echo SSID: "$2"
 | |
| 		echo PASS: "$3"
 | |
| 		;;
 | |
| 
 | |
| 	show)
 | |
| 		echo SSID: "$WPA_SSID"
 | |
| 		echo PASS: "$WPA_PASS"
 | |
| 		;;
 | |
| 
 | |
| 	*)
 | |
| 		echo wireless connect
 | |
| 		echo wireless reset
 | |
| 		echo wireless setup
 | |
| 		echo wireless show
 | |
| 		;;
 | |
| esac
 |