Files
bpfire/src/initscripts/packages/hostapd
Michael Tremer 53d03ef352 hostapd: Find device by MAC address
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>
2021-04-16 10:03:58 +00:00

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