mirror of
https://github.com/billz/raspap-webgui.git
synced 2025-07-25 17:38:12 +02:00
Default to interface value in /etc/raspap/hostapd.ini
This commit is contained in:
parent
5d8b71b768
commit
0ad82da51c
@ -16,7 +16,7 @@ After=multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/bash /etc/raspap/hostapd/servicestart.sh --interface uap0 --seconds 3
|
||||
ExecStart=/bin/bash /etc/raspap/hostapd/servicestart.sh --seconds 1
|
||||
RemainAfterExit=no
|
||||
|
||||
[Install]
|
||||
|
@ -34,6 +34,20 @@ esac
|
||||
done
|
||||
set -- "${positional[@]}"
|
||||
|
||||
# Load config file into associative array
|
||||
declare -A config
|
||||
if [ -r "$CONFIGFILE" ]; then
|
||||
while IFS=" = " read -r key value; do
|
||||
config["$key"]="$value"
|
||||
done < "$CONFIGFILE"
|
||||
fi
|
||||
|
||||
# Set interface from config if not set by parameter
|
||||
if [ -z "$interface" ] && [ -n "${config[WifiInterface]}" ]; then
|
||||
interface="${config[WifiInterface]}"
|
||||
echo "Interface not provided. Using WifiInterface from config: $interface"
|
||||
fi
|
||||
|
||||
echo "Stopping network services..."
|
||||
if [ $OPENVPNENABLED -eq 1 ]; then
|
||||
systemctl stop openvpn-client@client
|
||||
@ -49,58 +63,51 @@ if [ "${action}" = "stop" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ -f "$DAEMONPATH" ] && [ ! -z "$interface" ]; then
|
||||
if [ -f "$DAEMONPATH" ] && [ -n "$interface" ]; then
|
||||
echo "Changing RaspAP Daemon --interface to $interface"
|
||||
sed -i "s/\(--interface \)[[:alnum:]]*/\1$interface/" "$DAEMONPATH"
|
||||
fi
|
||||
|
||||
if [ -r "$CONFIGFILE" ]; then
|
||||
declare -A config
|
||||
while IFS=" = " read -r key value; do
|
||||
config["$key"]="$value"
|
||||
done < "$CONFIGFILE"
|
||||
if [ "${config[BridgedEnable]}" = 1 ]; then
|
||||
if [ "${interface}" = "br0" ]; then
|
||||
echo "Stopping systemd-networkd"
|
||||
systemctl stop systemd-networkd
|
||||
|
||||
if [ "${config[BridgedEnable]}" = 1 ]; then
|
||||
if [ "${interface}" = "br0" ]; then
|
||||
echo "Stopping systemd-networkd"
|
||||
systemctl stop systemd-networkd
|
||||
echo "Restarting eth0 interface..."
|
||||
ip link set down eth0
|
||||
ip link set up eth0
|
||||
|
||||
echo "Restarting eth0 interface..."
|
||||
ip link set down eth0
|
||||
ip link set up eth0
|
||||
echo "Removing uap0 interface..."
|
||||
iw dev uap0 del
|
||||
|
||||
echo "Removing uap0 interface..."
|
||||
iw dev uap0 del
|
||||
echo "Enabling systemd-networkd"
|
||||
systemctl start systemd-networkd
|
||||
systemctl enable systemd-networkd
|
||||
fi
|
||||
else
|
||||
echo "Disabling systemd-networkd"
|
||||
systemctl disable systemd-networkd
|
||||
|
||||
echo "Enabling systemd-networkd"
|
||||
systemctl start systemd-networkd
|
||||
systemctl enable systemd-networkd
|
||||
fi
|
||||
else
|
||||
echo "Disabling systemd-networkd"
|
||||
systemctl disable systemd-networkd
|
||||
ip link ls up | grep -q 'br0' &> /dev/null
|
||||
if [ $? == 0 ]; then
|
||||
echo "Removing br0 interface..."
|
||||
ip link set down br0
|
||||
ip link del dev br0
|
||||
fi
|
||||
|
||||
ip link ls up | grep -q 'br0' &> /dev/null
|
||||
if [ $? == 0 ]; then
|
||||
echo "Removing br0 interface..."
|
||||
ip link set down br0
|
||||
ip link del dev br0
|
||||
fi
|
||||
if [ "${config[WifiAPEnable]}" = 1 ]; then
|
||||
if [ "${interface}" = "uap0" ]; then
|
||||
|
||||
if [ "${config[WifiAPEnable]}" = 1 ]; then
|
||||
if [ "${interface}" = "uap0" ]; then
|
||||
|
||||
ip link ls up | grep -q 'uap0' &> /dev/null
|
||||
if [ $? == 0 ]; then
|
||||
echo "Removing uap0 interface..."
|
||||
iw dev uap0 del
|
||||
fi
|
||||
|
||||
echo "Adding uap0 interface to ${config[WifiManaged]}"
|
||||
iw dev ${config[WifiManaged]} interface add uap0 type __ap
|
||||
# Bring up uap0 interface
|
||||
ifconfig uap0 up
|
||||
ip link ls up | grep -q 'uap0' &> /dev/null
|
||||
if [ $? == 0 ]; then
|
||||
echo "Removing uap0 interface..."
|
||||
iw dev uap0 del
|
||||
fi
|
||||
|
||||
echo "Adding uap0 interface to ${config[WifiManaged]}"
|
||||
iw dev ${config[WifiManaged]} interface add uap0 type __ap
|
||||
# Bring up uap0 interface
|
||||
ifconfig uap0 up
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@ -122,8 +129,6 @@ if [ $OPENVPNENABLED -eq 1 ]; then
|
||||
systemctl start openvpn-client@client
|
||||
fi
|
||||
|
||||
# @mp035 found that the wifi client interface would stop every 8 seconds
|
||||
# for about 16 seconds. Reassociating seems to solve this
|
||||
if [ "${config[WifiAPEnable]}" = 1 ]; then
|
||||
echo "Reassociating wifi client interface..."
|
||||
sleep "${seconds}"
|
||||
|
Loading…
x
Reference in New Issue
Block a user