diff options
author | user <user@bergwerk> | 2011-07-09 07:12:45 +0000 |
---|---|---|
committer | user <user@bergwerk> | 2011-07-09 07:12:45 +0000 |
commit | 4be9983acfdf35e4cfe54dc116163f1ec392f3a9 (patch) | |
tree | 9fbe3a73fae821c42989d3f5b708cfa140544a2b /btc/mining | |
parent | e03b7fc183deb56cf71eb9095257356d4c2c54dc (diff) |
enable-wlan0: handle the nightmare applet
Diffstat (limited to 'btc/mining')
-rwxr-xr-x | btc/mining/bin/ensure-wlan0 | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/btc/mining/bin/ensure-wlan0 b/btc/mining/bin/ensure-wlan0 index 92839a13..77587156 100755 --- a/btc/mining/bin/ensure-wlan0 +++ b/btc/mining/bin/ensure-wlan0 @@ -6,20 +6,28 @@ if test "${nosudo-false}" != true -a `id -u` != 0; then exit 23 # go to hell fi -if ! ifconfig wlan0 | grep -q 'inet addr'; then - if ! grep -q wlan0 /etc/network/interfaces; then - cat >> /etc/network/interfaces <<EOF -# generated by rc.local -auto wlan0 -iface wlan0 inet dhcp -wpa_conf /etc/wpa_supplicant/wpa_supplicant.conf -EOF +has_internet() { + curl -sS google.com >/dev/null +} + +if ! has_internet; then + + ## get rid of the nightmare applet + pkill -9 nm-applet + if test -x "`type -p nm-applet`"; then + rm -vf "`type -p nm-applet`" fi - beep -l 50 -f 2000; /etc/init.d/network-manager restart - beep -l 50 -f 2000; ifdown wlan0 - beep -l 50 -f 2000; ifup wlan0 - if ifconfig wlan0 | grep -q 'inet addr'; then + beep -l 50 -f 2000; pkill 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 -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 |