summaryrefslogtreecommitdiffstats
path: root/gold/mining/bin/ensure-wlan0
blob: fa92c4f5f5622d34a154aad28643065e8bce5134 (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
#! /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

has_internet() {
  curl -sS google.com >/dev/null
}

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 &
  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