check in earliest bash script
[dumbwifi.git] / dumbwifi
blobfe69bdec4e0a8403bdb583860144fb5a563e13ab
1 #!/bin/bash
3 log=/var/log/dumbwifi
5 home_essid=
6 home_key=
7 office_essid=
8 office_key=
10 essid=$home_essid
11 key=$home_key
13 wire=eth0
14 wifi=eth1
16 while true; do
17 /sbin/ifconfig $wire 2>/dev/null | grep "inet addr" &>/dev/null || \
18 /sbin/ifconfig $wifi 2>/dev/null | grep "inet addr" &>/dev/null
19 if [ $? != 0 ]; then
20 echo "Checking for ip... none"
22 time_start=$(date +%s)
24 echo -n "Checking for ethernet link... "
25 ifconfig $wire up 2>/dev/null
26 mii-tool $wire 2>/dev/null | grep "link ok" &>/dev/null
27 if [ $? = 0 ]; then
28 echo "yes"
29 iface=$wire
30 else
31 echo "none, use wifi"
32 iface=$wifi
35 # pick wifi net
36 if [[ $iface = $wifi ]]; then
37 echo -n "Scan for wifi networks... "
38 scandata=$(iwlist $wifi scan 2>/dev/null)
39 if [ ! "$scandata" ]; then
40 essid=
41 echo "scan failed"
42 elif echo "$scandata" | grep "$home_essid" &>/dev/null; then
43 essid=$home_essid; key=$home_key
44 echo "$essid"
45 elif echo "$scandata" | grep "$uu_essid" &>/dev/null; then
46 essid=$uu_essid; key=$uu_key
47 echo "$essid"
48 else
49 essid=
50 echo "none"
53 if [ -n "$essid" ]; then
54 iwconfig eth1 essid "$essid" key "$key" >>$log 2>&1
58 if [[ $iface = $wifi ]] && [ "$essid" ] || [[ $iface = $wire ]]; then
59 pkill dhclient >>$log 2>&1
60 ifconfig $iface up >>$log 2>&1
62 echo -n "Request ip... "
63 dhclient $iface >>$log 2>&1
64 if [ $? = 0 ]; then
65 time_stop=$(date +%s)
66 timer=$(($time_stop - $time_start))
67 dur=" [${timer}s]"
68 echo "ok $dur"
69 else
70 echo "failed $dur"
76 if ! ps axf | grep sshd &>/dev/null; then
77 /usr/sbin/sshd >>$log 2>&1
80 sleep 1
81 done