summaryrefslogtreecommitdiffstats
path: root/gold/mining/bin/ensure-wlan0
diff options
context:
space:
mode:
Diffstat (limited to 'gold/mining/bin/ensure-wlan0')
-rwxr-xr-xgold/mining/bin/ensure-wlan013
1 files changed, 10 insertions, 3 deletions
diff --git a/gold/mining/bin/ensure-wlan0 b/gold/mining/bin/ensure-wlan0
index fa92c4f5..2ede2e8f 100755
--- a/gold/mining/bin/ensure-wlan0
+++ b/gold/mining/bin/ensure-wlan0
@@ -6,10 +6,17 @@ if test "${nosudo-false}" != true -a `id -u` != 0; then
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
@@ -20,8 +27,8 @@ if test "${force-false}" = true || ! has_internet; then
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 &
- while ! wpa_cli status | grep -q wpa_state=COMPLETED; do
+ 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
@@ -38,4 +45,4 @@ else
(--quiet) : ;;
(*) beep -l 50 -f 2000 -n -l 100 -f 2000 ;;
esac
-fi
+fi 2>&1 | tee /var/log/ensure-wlan0