blob: 2ede2e8fbcb9421bbf6418157167e5963ca40166 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#! /bin/sh
if test "${nosudo-false}" != true -a `id -u` != 0; then
echo "we're going sudo..." >&2
exec sudo -E "$0" "$@"
exit 23 # go to hell
fi
locate_bin() {
type -p "$1" || find / | sed -n '/.*bin\/'"$1"'$/{p;q}' | grep .
}
has_internet() {
curl -sS google.com >/dev/null
}
wpa_supplicant="`locate_bin wpa_supplicant`"
wpa_cli="`locate_bin wpa_cli`"
if test "${force-false}" = true || ! has_internet; then
## get rid of the fuckers
for fucker in NetworkManager nm-applet; do
pkill -9 $fucker
(IFS=:; for dir in $PATH; do rm -vf $dir/$fucker; done)
done
beep -l 50 -f 2000; pkill wpa
beep -l 50 -f 2000; rm -vf /var/run/wpa_supplicant/*
beep -l 50 -f 2000; $wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf || $wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf &
while ! $wpa_cli status | grep -q wpa_state=COMPLETED; do
beep -l 50 -f 2000 -D 50 -n -l 50 -f 2000
sleep 1
done
beep -l 50 -f 2000; dhcpcd -x wlan0
beep -l 50 -f 2000; dhcpcd wlan0
#echo nameserver 8.8.8.8 >/etc/resolv.conf
if has_internet; then
beep -l 50 -f 2000 -n -l 100 -f 3000
else
beep -l 50 -f 2000 -n -l 100 -f 1000
fi
else
case "${1-}" in
(--quiet) : ;;
(*) beep -l 50 -f 2000 -n -l 100 -f 2000 ;;
esac
fi 2>&1 | tee /var/log/ensure-wlan0
|