mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
With wireless device as members in bridges, we cannot predict the name very well. So we will use the MAC address and find the correct device name when we launch hostapd. Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
61 lines
1005 B
Bash
61 lines
1005 B
Bash
#!/bin/sh
|
|
. /etc/sysconfig/rc
|
|
. ${rc_functions}
|
|
|
|
find_interface() {
|
|
local address="${1}"
|
|
|
|
local path
|
|
for path in /sys/class/net/*; do
|
|
if [ -s "${path}/address" ] && [ "$(<${path}/address)" = "${address}" ]; then
|
|
basename "${path}"
|
|
return 0
|
|
fi
|
|
done
|
|
|
|
return 1;
|
|
}
|
|
|
|
CHANNEL="6"
|
|
COUNTRY="00"
|
|
TXPOWER="auto"
|
|
INTERFACE="blue0"
|
|
MACMODE="0"
|
|
|
|
eval $(/usr/local/bin/readhash /var/ipfire/wlanap/settings)
|
|
|
|
case "${1}" in
|
|
start)
|
|
interface="$(find_interface "${INTERFACE}")"
|
|
if [ -z "${interface}" ]; then
|
|
boot_mesg "Could not find interface with address ${INTERFACE} for wireless access point"
|
|
echo_failure
|
|
exit 1
|
|
fi
|
|
|
|
boot_mesg "Starting hostapd... "
|
|
loadproc /usr/bin/hostapd -B /etc/hostapd.conf -i "${interface}"
|
|
;;
|
|
|
|
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
|