Advertisement
Guest User

ewoc-iz2jffs.sh

a guest
Dec 2nd, 2014
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 3.98 KB | None | 0 0
  1. # setup-wifi.sh 07/04/10-5 aka Easy Wifi Configurator -- EWoC
  2. . /mnt/ffs/etc/brand.cfg
  3.  
  4. #setfont /mnt/ffs/share/fonts/ter-112n.psf
  5. setfont /mnt/ffs/share/fonts/lispm-8x14.psf
  6.  
  7. WPA_CONF="/mnt/ffs/etc/wpa_supplicant.conf"
  8. WLAN=eth0
  9. #WLAN=wlan0
  10.  
  11. currentssid=$(grep 'ssid="' ${WPA_CONF} |head -1 | sed -e 's/.*ssid="/  /' -e 's/"//')
  12. dialog --backtitle "$backtitle" --title "Use current Wifi settings?" --yesno "SSID: $currentssid" 6 0
  13. if [ $? -ne 0 ]; then
  14.   iwlist ${WLAN} scan | grep 'ESSID' | sed -e 's/.*ESSID:"\([^"]\+\)".*/  \1/' > /tmp/ap_list.txt
  15.  
  16.   echo "dialog --nocancel --backtitle \"$backtitle\" \\" > /tmp/choose_ap.sh
  17.  echo "--title \"Choose SSID\" \\" >> /tmp/choose_ap.sh
  18.   echo "--radiolist \"\" \\" >> /tmp/choose_ap.sh
  19.  
  20.  LINES=`wc -l < /tmp/ap_list.txt`
  21.  LINES=$((${LINES}+1))
  22.  echo "10 30 ${LINES} \\" >> /tmp/choose_ap.sh
  23.   CNT=1
  24.   for LINE in `cat /tmp/ap_list.txt`
  25.   do
  26.     echo "${CNT} $LINE off \\" >> /tmp/choose_ap.sh
  27.    CNT=$((${CNT}+1))
  28.  done
  29.  echo "${CNT} NAMED\ SSID on 2>/tmp/ssidnumber.ans" >>/tmp/choose_ap.sh
  30.    
  31.    
  32.  chmod 777 /tmp/choose_ap.sh
  33.  . /tmp/choose_ap.sh
  34.      
  35.  CHOOSENSSID=`cat /tmp/ssidnumber.ans`
  36.      
  37.  if [ $CHOOSENSSID == $LINES ]; then
  38.    dialog --nocancel --ok-label "Submit" \
  39.           --backtitle "$backtitle" \
  40.           --title "SSID" \
  41.           --inputbox ""  8 30 2>/tmp/ssid.ans
  42.  else
  43.    cat /tmp/ap_list.txt | head -${CHOOSENSSID} |tail -1 | sed -e 's/^[ \t]*//' >/tmp/ssid.ans
  44.  fi
  45.  
  46.  dialog --nocancel --backtitle "$backtitle" \
  47.          --title "Encryption Method" \
  48.          --radiolist "" \
  49.          10 30 4 \
  50.          1 "WPA/WPA2" on \
  51.          2 "WEP (hex)" off \
  52.          3 "WEP (ascii)" off \
  53.          4 "None" off 2>/tmp/encryption.ans
  54.  
  55.  echo "ctrl_interface=/tmp/wpa_ctrl" > ${WPA_CONF}
  56.  
  57.  SSID=`cat /tmp/ssid.ans`
  58.  ENCRYPTION=`cat /tmp/encryption.ans`
  59.  
  60.  case $ENCRYPTION in
  61.    '1')
  62.      dialog --nocancel --ok-label "Submit" \
  63.             --backtitle "$backtitle" \
  64.             --title "Passphrase" \
  65.             --inputbox ""  8 30 2>/tmp/passphrase.ans
  66.      PASSPHRASE=`cat /tmp/passphrase.ans`
  67.      #wpa_passphrase $SSID $PASSPHRASE | grep -v "^#" | grep -v "#psk=" >> ${WPA_CONF}
  68.       wpa_passphrase $SSID $PASSPHRASE >> ${WPA_CONF}
  69.       cp ${WPA_CONF} /tmp
  70.       ;;
  71.     '2')
  72.        dialog --nocancel --ok-label "Submit" \
  73.               --backtitle "$backtitle" \
  74.               --title "Passphrase" \
  75.               --inputbox "WEP key (hex)"  8 30 2>/tmp/passphrase.ans
  76.        PASSPHRASE=`cat /tmp/passphrase.ans`
  77.        echo "network={
  78.                   ssid=\"$SSID\"
  79.                   key_mgmt=NONE
  80.                   wep_key0=$PASSPHRASE
  81.                   }" >> ${WPA_CONF}
  82.        ;;
  83.     '3')
  84.       dialog --nocancel --ok-label "Submit" \
  85.              --backtitle "$backtitle" \
  86.              --title "Passphrase" \
  87.              --inputbox "WEP key (ascii)"  8 30 2>/tmp/passphrase.ans
  88.        PASSPHRASE=`cat /tmp/passphrase.ans`
  89.        echo "network={
  90.                   ssid=\"$SSID\"
  91.                   key_mgmt=NONE
  92.                   wep_key0=\"$PASSPHRASE\"
  93.                   }" >> ${WPA_CONF}
  94.        ;;
  95.     '4')
  96.       echo "network={
  97.                   ssid=\"$SSID\"
  98.                   key_mgmt=NONE
  99.                   }" >> ${WPA_CONF}
  100.       ;;
  101.   esac
  102. fi
  103. killall wpa_supplicant 2>/dev/null
  104. /mnt/ffs/wpa_supplicant/wpa_supplicant -B -i${WLAN} -c ${WPA_CONF} 2>/dev/null
  105. cls
  106. echo Obtaining an IP address ...
  107. udhcpc -n |tee /tmp/udhcpc.log
  108. grep "No lease, failing" /tmp/udhcpc.log
  109. nolease=$?
  110. if [ $nolease -eq 0  ] ;  then
  111.   dialog --backtitle "$backtitle" --title "Wifi Error" --ok-label "Poweroff" \
  112.          --extra-button --extra-label "Reboot" --cancel-label "Continue" \
  113.          --yesno "" 0 0
  114.   case $? in
  115.   3)
  116.     echo "Rebooting "
  117.     reboot
  118.     sleep 5
  119.     ;;
  120.   0)
  121.     echo "Powering off "
  122.     poweroff
  123.     sleep 5
  124.     ;;
  125.   esac
  126. else
  127.   ntpdate 0.pool.ntp.org
  128. fi
  129.  
  130. setfont /mnt/ffs/share/fonts/myfont.psf
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement