1 |
dpavlin |
57 |
#!/bin/sh |
2 |
|
|
|
3 |
|
|
wif=`iwconfig 2>&1 | grep -i 802.11 | cut -d" " -f1` |
4 |
|
|
|
5 |
|
|
essid=foobar |
6 |
|
|
key=s:secret |
7 |
|
|
ap=1 |
8 |
|
|
|
9 |
|
|
# doma |
10 |
|
|
essid=dreamhouse |
11 |
|
|
key=off |
12 |
|
|
ap=0 |
13 |
|
|
|
14 |
|
|
test -z "$wif" && ( |
15 |
|
|
sudo rmmod ath_pci |
16 |
|
|
sudo modprobe ath_pci |
17 |
|
|
wif=`iwconfig 2>&1 | grep -i 802.11 | cut -d" " -f1` |
18 |
|
|
test -z "$wif" && echo "no wifi device" && exit |
19 |
|
|
) |
20 |
|
|
|
21 |
|
|
echo "*** stop interfaces $wif eth0" |
22 |
|
|
|
23 |
|
|
sudo ifconfig $wif down |
24 |
|
|
sudo ifconfig eth0 down |
25 |
|
|
sudo ifconfig br0 down |
26 |
|
|
sudo brctl delif br0 $wif |
27 |
|
|
sudo brctl delif br0 eth0 |
28 |
|
|
sudo brctl delbr br0 |
29 |
|
|
|
30 |
|
|
if [ $ap == 1 ] ; then |
31 |
|
|
mode=ap |
32 |
|
|
else |
33 |
|
|
mode=managed |
34 |
|
|
fi |
35 |
|
|
|
36 |
|
|
echo "*** setup wifi $mode $essid" |
37 |
|
|
|
38 |
|
|
sudo wlanconfig $wif destroy || exit |
39 |
|
|
sudo wlanconfig $wif create wlandev wifi0 wlanmode $mode || exit |
40 |
|
|
wif=`iwconfig 2>&1 | grep -i 802.11 | cut -d" " -f1` |
41 |
|
|
|
42 |
|
|
test -z "$wif" && echo "no wifi device" && exit |
43 |
|
|
|
44 |
|
|
echo "*** using wifi $wif $essid" |
45 |
|
|
|
46 |
|
|
sudo iwconfig $wif essid $essid |
47 |
|
|
sudo iwconfig $wif key $key |
48 |
|
|
|
49 |
|
|
sudo ifconfig $wif up |
50 |
|
|
sudo iwconfig $wif |
51 |
|
|
|
52 |
|
|
echo "*** creating bridge $wif eth0" |
53 |
|
|
|
54 |
|
|
sudo brctl addbr br0 |
55 |
|
|
sudo brctl delif br0 eth0 |
56 |
|
|
sudo brctl delif br0 $wif |
57 |
|
|
|
58 |
|
|
sudo ifconfig eth0 0.0.0.0 up |
59 |
|
|
sudo brctl addif br0 eth0 |
60 |
|
|
sudo brctl addif br0 $wif |
61 |
|
|
|
62 |
|
|
echo "*** getting public IP address" |
63 |
|
|
|
64 |
|
|
sudo dhclient br0 |
65 |
|
|
sudo ln -sf /etc/resolv.conf.dhclient-new /etc/resolv.conf-upstream |
66 |
|
|
sudo /etc/init.d/dnsmasq restart |
67 |
|
|
|