#!/bin/sh . /etc/sysconfig/rc . ${rc_functions} CHANNEL="05" TXPOWER="auto" INTERFACE="blue0" MACMODE="0" DRIVER="MADWIFI" eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings) case "${1}" in start) mkdir -p /var/run/hostapd if [ "$DRIVER" == "MADWIFI" ]; then if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then boot_mesg "Setting MADWIFI wlan $INTERFACE to Master mode... " # Set Atheros Cards to master mode /usr/bin/wlanconfig $INTERFACE destroy > /dev/null /usr/bin/wlanconfig $INTERFACE create wlandev wifi0 wlanmode ap > /dev/null fi fi 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 2>&1 & if [ $DRIVER == "MADWIFI" ]; then iwpriv $INTERFACE maccmd 3 if [ $MACMODE != 0 ]; then FILE="/var/ipfire/wlanap/macfile" exec < $FILE while read LINE do iwpriv $INTERFACE addmac $LINE done iwpriv $INTERFACE maccmd $MACMODE fi # Disable background scann iwpriv $INTERFACE bgscan 0 # Set beacon interval to 500 iwpriv $INTERFACE bintval 500 fi if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then boot_mesg "Error! Can't set wlan master mode" echo_failure; exit 0; else # enable wlan module of collectd sed -i -e "s|#LoadPlugin wireless|LoadPlugin wireless|g" /etc/collectd.conf echo_ok 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