2012-06-20 19:07:54 +02:00
|
|
|
#!/bin/bash
|
|
|
|
################################################################################
|
|
|
|
## Custom network initialization script.
|
2012-09-01 15:32:47 +02:00
|
|
|
## 2012-08-31
|
2012-06-20 19:07:54 +02:00
|
|
|
################################################################################
|
|
|
|
|
|
|
|
if [ $(id -u) -ne 0 ]; then
|
|
|
|
echo "You must be root to run this script."
|
|
|
|
exit
|
|
|
|
fi
|
|
|
|
|
|
|
|
NET_INTERFACE=wlan0
|
|
|
|
WPA_SUPPLICANT_CONF="/etc/wpa_supplicant.conf"
|
|
|
|
TIMEOUT_LIMIT=500
|
|
|
|
|
|
|
|
## Clean running processes if any.
|
|
|
|
pkill dhcpcd
|
|
|
|
pkill wpa_supplicant
|
|
|
|
|
|
|
|
## In case network inteface is not up.
|
|
|
|
ip link set ${NET_INTERFACE} up
|
|
|
|
|
|
|
|
## Connection.
|
|
|
|
if [ $# -eq 0 ]; then
|
|
|
|
# Associate if needed.
|
2012-09-01 15:32:47 +02:00
|
|
|
if [ -n "$(iwconfig ${NET_INTERFACE} | grep 'Not-Associated')" ]; then
|
2012-06-20 19:07:54 +02:00
|
|
|
wpa_supplicant -B -i ${NET_INTERFACE} -D wext -c "${WPA_SUPPLICANT_CONF}"
|
|
|
|
fi
|
|
|
|
|
|
|
|
## Wait until wpa_supplicant has finished association.
|
|
|
|
i=0
|
2012-09-01 15:32:47 +02:00
|
|
|
while [ -n "$(iwconfig ${NET_INTERFACE} | grep 'off/any')" ] && [ $i -lt $TIMEOUT_LIMIT ] ; do
|
2012-06-20 19:07:54 +02:00
|
|
|
i=$(($i+1))
|
|
|
|
done
|
|
|
|
fi
|
2012-07-10 19:47:23 +02:00
|
|
|
|
2012-07-12 20:08:34 +02:00
|
|
|
## Get IP.
|
|
|
|
dhcpcd ${NET_INTERFACE}
|
|
|
|
|