Fixed hostapd bug

This commit is contained in:
Maniacikarus
2008-12-08 20:58:31 +01:00
parent dfdcd34575
commit 8aa49c1548
5 changed files with 73 additions and 90 deletions

View File

@@ -8,59 +8,71 @@ INTERFACE="blue0"
eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings)
case "${1}" in
start)
start)
mkdir -p /var/run/hostapd
if [ "$(/usr/sbin/iwconfig $INTERFACE | /bin/grep "Mode:Master")" == "" ]; then
boot_mesg "Setting wlan $INTERFACE to Master mode... "
boot_mesg "Setting wlan $INTERFACE to Master mode... "
# Set Atheros Cards to master mode
if [ -d /proc/net/madwifi/ath0/ ]; then
# 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
/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;
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
# 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
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)
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
;;
stop)
boot_mesg "Stopping hostapd..."
killproc /usr/bin/hostapd
evaluate_retval
;;
killproc /usr/bin/hostapd
evaluate_retval
;;
restart)
${0} stop
sleep 1
${0} start
;;
restart)
${0} stop
sleep 1
${0} start
;;
status)
statusproc /usr/bin/hostapd
;;
status)
statusproc /usr/bin/hostapd
;;
*)
echo "Usage: ${0} {start|stop|restart|status}"
exit 1
;;
*)
echo "Usage: ${0} {start|stop|restart|status}"
exit 1
;;
esac