Files
bpfire/src/initscripts/init.d/hostapd
2008-08-21 21:49:31 +02:00

67 lines
1.7 KiB
Bash

#!/bin/sh
. /etc/sysconfig/rc
. ${rc_functions}
CHANNEL="05"
TXPOWER="auto"
INTERFACE="blue0"
eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings)
case "${1}" in
start)
mkdir -p /var/run/hostapd
if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then
boot_mesg "Setting wlan $INTERFACE to Master mode... "
# Set Atheros Cards to master mode
if [ -d /proc/net/madwifi/ath0/ ]; then
/usr/bin/wlanconfig ath0 destroy > /dev/null
fi
/usr/bin/wlanconfig $INTERFACE destroy > /dev/null
/usr/bin/wlanconfig $INTERFACE create wlandev wifi0 wlanmode ap > /dev/null
# Set other cards to master mode
#/usr/sbin/iwconfig blue0 mode master
fi
if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then
boot_mesg "Error! Can't set wlan master mode"
echo_failure;
exit 1;
else
# enable wlan module of collectd
sed -i -e "s|#LoadPlugin wireless|LoadPlugin wireless|g" /etc/collectd.conf
boot_mesg "Starting hostapd... "
/usr/sbin/iwconfig $INTERFACE channel $CHANNEL
/usr/sbin/iwconfig $INTERFACE txpower $TXPOWER
/usr/bin/hostapd -P /var/run/hostapd /etc/hostapd.conf </dev/tty12 >/dev/tty12 2>&1 &
evaluate_retval
fi
;;
stop)
boot_mesg "Stopping hostapd..."
killproc /usr/bin/hostapd
evaluate_retval
;;
restart)
${0} stop
sleep 1
${0} start
;;
status)
statusproc /usr/bin/hostapd
;;
*)
echo "Usage: ${0} {start|stop|restart|status}"
exit 1
;;
esac