]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/blob - src/initscripts/init.d/hostapd
Fix updater (now real core18)
[people/teissler/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 eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings)
9
10 case "${1}" in
11 start)
12 boot_mesg "Starting hostapd... "
13 mkdir -p /var/run/hostapd
14 # enable wlan module of collectd
15 sed -i -e "s|#LoadPlugin wireless|LoadPlugin wireless|g" /etc/collectd.conf
16
17 # Set Atheros Cards to master mode
18 /usr/bin/wlanconfig $INTERFACE destroy > /dev/null
19 /usr/bin/wlanconfig $INTERFACE create wlandev wifi0 wlanmode ap > /dev/null
20
21 # Set other cards to master mode
22 #/usr/sbin/iwconfig blue0 mode master
23
24 if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then
25 boot_mesg "Error! Can't set wlan master mode"
26 echo_failure;
27 exit 1;
28 else
29 /usr/sbin/iwconfig $INTERFACE channel $CHANNEL
30 /usr/sbin/iwconfig $INTERFACE txpower $TXPOWER
31 /usr/bin/hostapd -P /var/run/hostapd /etc/hostapd.conf </dev/tty12 >/dev/tty12 2>&1 &
32 evaluate_retval
33 fi
34
35 # Bring blue up (but not at boot)
36 if [ "$(basename $0)" == "hostapd" ]; then
37
38 /etc/rc.d/init.d/networking/${INTERFACE//[0-9]/} start
39
40 if [ -f /var/ipfire/dhcp/enable_blue || -f /var/ipfire/dhcp/enable_green ]; then
41 /etc/rc.d/init.d/dhcp restart
42 fi
43 fi
44 ;;
45
46 stop)
47 boot_mesg "Stopping hostapd..."
48
49 # Set Atheros Card to managed mode
50 /usr/bin/wlanconfig $INTERFACE destroy > /dev/null
51 /usr/bin/wlanconfig $INTERFACE create wlandev wifi0 wlanmode sta > /dev/null
52
53 # Set other cards to managed mode
54 #/usr/sbin/iwconfig blue0 mode Managed
55
56 killproc /usr/bin/hostapd
57 evaluate_retval
58 ;;
59
60 restart)
61 ${0} stop
62 sleep 1
63 ${0} start
64 ;;
65
66 status)
67 statusproc /usr/bin/hostapd
68 ;;
69
70 *)
71 echo "Usage: ${0} {start|stop|restart|status}"
72 exit 1
73 ;;
74 esac