Skip to content

Instantly share code, notes, and snippets.

@brownman
Last active August 29, 2015 14:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save brownman/2eb88e063b7c33820b39 to your computer and use it in GitHub Desktop.
Save brownman/2eb88e063b7c33820b39 to your computer and use it in GitHub Desktop.
linux: auto connect wifi (for wpa2 encryption)
ssid=${1:-$SSID}
key=${2:-$PASSWORD}
test -n "$ssid" || { echo '[required args] : ssid password'; exit 0; }
pkgs='wpa_passphrase' #dhcp-gtk
type $pkgs || ( sudo apt-get install $pkgs)
connect_passwordless_wifi(){
commander sudo ifconfig $device up
commander sudo iw dev $device connect $ssid
commander sudo dhcpcd $device
}
connect_using_wpa2(){
commander "sudo wpa_supplicant -D$driver -i$device -c$file"
commander sudo dhclient $device #get ip address
commander cat /etc/resolv.conf
commander ping1
}
troubles(){
ifconfig_up | grep SIOCSIFFLAGS --color=always
sudo rfkill list | grep yes --color=auto
commander 'sudo rfkill unblock all'
sudo killall dhcpcd
sudo killall dhclient
sudo ifconfig $device down
}
ping_limit(){
[ $# -eq 0 ] && { print error 'supply a target address';return 1; }
local target="$1"
local num=${2:-1}
local cmd="ping -c $num $target"
( eval "$cmd" &>/dev/null )
local res=$?
indicator "$res"
return $res
}
ping1(){
local url=${1:-google.com}
commander "ping_limit 8.8.8.8" && { commander "ping_limit $url"; }
local res=$?
if [ $res -ne 0 ];then
#
print error "type: fix1"
#figlet1 ping loop
#ping1
fi
return $res
}
use_ssid(){
local str="$1"
case $str in
4C64)
export ssid=NAAN-4C64
export key=517118249
;;
mariana)
export ssid='mariana';
export key=123456789;
;;
229F)
export ssid='NAAN-229F';
export key=00304f859;
;;
Linnovate)
export ssid='Linnovate';
export key=linnoxxx;
;;
**)
print error unknown ssid
;;
esac
}
commander() {
local args=($@);
local cmd="${args[@]}";
echo 1>&2 [cmd] $cmd;
eval "$cmd";
}
set_env(){
export file_wpa=/tmp/wpa0
export cmd_wpa="sudo wpa_passphrase $ssid $key"
export driver=wext
export device=wlan0
}
commander $cmd_wpa
cat $file_wpa | grep 'psk' | grep -v '\#' | cut -d'=' -f2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment