# AP selection routine by rkdavis with some minor
# additions by Ray Haque.
echo "Available AP(s)" > /dev/tty0
echo "~~~~~~~~~~~~~~~" > /dev/tty0
/mnt/sd0/bin/iwlist eth0 scan | /mnt/sd0/bin/grep 'ESSID' | /bin/sed -e 's/.*ESSID:"\([^"]\+\)".*/  \1/' > /dev/tty0
echo "Enter the SSID (name) of the AP:" > /dev/tty0
read apname < /dev/tty0
echo "" >/dev/tty0
echo "Choose encryption method" > /dev/tty0
echo "O) Open (no password)" > /dev/tty0
echo "W) WEP" >/dev/tty0
echo "P) WPA/WPA2" > /dev/tty0
read -s -n1 apenc < /dev/tty0

echo "ctrl_interface=/tmp/wpa_ctrl" > /mnt/sd0/etc/wpa_supplicant.conf
case "$apenc" in
        'p' | 'P')
                echo "Enter the WPA Passphrase: " > /dev/tty0
                read appassphrase < /dev/tty0
                /mnt/sd0/bin/wpa_passphrase $apname $appassphrase >> /mnt/sd0/etc/wpa_supplicant.conf
                echo "" > /dev/tty0
        ;;
        'o' | 'O')
                echo "network={
                        ssid=\"$apname\"
                        key_mgmt=NONE
                        }" >> /mnt/sd0/etc/wpa_supplicant.conf
        ;;
        'w' | 'W')
                echo "Enter the WEP key: " > /dev/tty0
                read apkey < /dev/tty0
	 echo "Is this a Hexadecimal or an ASCII key?" > /dev/tty0
	 echo "Examples: Hex=EBF2B88A95, ASCII=eatcakes"  > /dev/tty0
	 echo "Choose H)exadecimal or A)SCII"  > /dev/tty0
	 	read -s -n1 hexascii < dev/tty0
	 	case "$hexascii" in
	 		'h' | 'H')
                        echo "network={
                        ssid=\"$apname\"
                        key_mgmt=NONE
                        wep_key0=$apkey
                        }" >> /mnt/sd0/etc/wpa_supplicant.conf
                        ;;
                        'a' | 'A')
                        echo "network={                                                                                                   
                        ssid=\"$apname\"                                                                                                  
                        key_mgmt=NONE                                                                                                     
                        wep_key0=\"$apkey\"
                        }" >> /mnt/sd0/etc/wpa_supplicant.conf
                        ;;
                        esac
        ;;
esac

# Connect to unsafe access points?
echo "" >/dev/tty0
echo "Would you like to connect to unsafe or" > /dev/tty0
echo "unencrypted access points in the case" >/dev/tty0
echo "that your choice is unavailable? [y/N]" >/dev/tty0
read -s -n1 unsafe < /dev/tty0
case "$unsafe" in
        'y' | 'Y')
                echo "network={
                        ssid=\"ANY\"
                        key_mgmt=NONE
                        }" >> /mnt/sd0/etc/wpa_supplicant.conf
        ;;
esac

