]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/initscripts/init.d/hostapd
Update madwifi to r4003 and switch hal to test-hal
[people/pmueller/ipfire-2.x.git] / src / initscripts / init.d / hostapd
1 #!/bin/sh
2 . /etc/sysconfig/rc
3 . ${rc_functions}
4
5 CHANNEL="05"
6 TXPOWER="auto"
7 INTERFACE="blue0"
8 MACMODE="0"
9 DRIVER="MADWIFI"
10
11 eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings)
12
13 case "${1}" in
14 start)
15 mkdir -p /var/run/hostapd
16
17 if [ "$DRIVER" == "MADWIFI" ]; then
18 if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then
19 boot_mesg "Setting MADWIFI wlan $INTERFACE to Master mode... "
20 # Set Atheros Cards to master mode
21 /usr/bin/wlanconfig $INTERFACE destroy > /dev/null
22 /usr/bin/wlanconfig $INTERFACE create wlandev wifi0 wlanmode ap > /dev/null
23 fi
24 fi
25
26 boot_mesg "Starting hostapd... "
27 /usr/sbin/iwconfig $INTERFACE channel $CHANNEL
28 /usr/sbin/iwconfig $INTERFACE txpower $TXPOWER
29 /usr/bin/hostapd -P /var/run/hostapd /etc/hostapd.conf </dev/tty12 >/dev/tty12 2>&1 &
30
31 if [ $DRIVER == "MADWIFI" ]; then
32
33 iwpriv $INTERFACE maccmd 3
34 if [ $MACMODE != 0 ]; then
35 FILE="/var/ipfire/wlanap/macfile"
36 exec < $FILE
37 while read LINE
38 do
39 iwpriv $INTERFACE addmac $LINE
40 done
41
42 iwpriv $INTERFACE maccmd $MACMODE
43 fi
44 # Disable background scann
45 iwpriv $INTERFACE bgscan 0
46 # Set beacon interval to 500
47 iwpriv $INTERFACE bintval 500
48 fi
49
50 if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then
51 boot_mesg "Error! Can't set wlan master mode"
52 echo_failure;
53 exit 0;
54 else
55 # enable wlan module of collectd
56 sed -i -e "s|#LoadPlugin wireless|LoadPlugin wireless|g" /etc/collectd.conf
57 echo_ok
58 fi
59 ;;
60
61 stop)
62 boot_mesg "Stopping hostapd..."
63
64 killproc /usr/bin/hostapd
65 evaluate_retval
66 ;;
67
68 restart)
69 ${0} stop
70 sleep 1
71 ${0} start
72 ;;
73
74 status)
75 statusproc /usr/bin/hostapd
76 ;;
77
78 *)
79 echo "Usage: ${0} {start|stop|restart|status}"
80 exit 1
81 ;;
82 esac