forked from freifunk-franken/firmware
configurehood: Improve conditions for configap setup
This addresses a bunch of issues: - Previously, only the presence of w2configap was checked. With only 5 GHz, this would have caused a recreation every 5 min. (Note that this is only valid for a 5 GHz only device, as we always create all interfaces for disabled radios) - The two outer if-statements are merged - We now check for presence of wXmesh to enable wXconfigap. Although this is no necessity (as the hood file contains the whole config) this assumes that a disabled wXmesh means no intent of the owner to connect to other devices on this radio. - With the dependency of wXconfigap from wXmesh, this patch now enables the deactivation of hood file transmitting by disabling meshing in the hood file Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Reviewed-by: Christian Dresel <fff@chrisi01.de> Reviewed-by: Tim Niemeyer <tim@tn-x.org>
This commit is contained in:
parent
04105ad510
commit
5c1d3b1f35
|
@ -38,27 +38,30 @@ hasInternet() {
|
|||
|
||||
# Hidden AP check
|
||||
|
||||
if [ -s "$hoodfilecopy" ] && ! uci -q get wireless.w2configap > /dev/null ; then
|
||||
if isGatewayAvailable ; then
|
||||
|
||||
for radio in $(uci show wireless | sed -n 's,.*\.\([a-z0-9]*\)=wifi-device,\1,p'); do
|
||||
channel=$(uci get "wireless.${radio}.channel")
|
||||
iface="configap2"
|
||||
if [ "$channel" -gt "14" ]; then
|
||||
iface="configap5"
|
||||
fi
|
||||
uci set network.${iface}=interface
|
||||
uci set network.${iface}.proto='static'
|
||||
uci set network.${iface}.ip6addr='fe80::1/64'
|
||||
if ! wifiAddAP "$radio" "config.franken.freifunk.net" "$iface" "configap" "1"; then
|
||||
echo "Can't add Config interface on $radio."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
if [ -s "$hoodfilecopy" ] && isGatewayAvailable ; then
|
||||
for radio in $(uci show wireless | sed -n 's,.*\.\([a-z0-9]*\)=wifi-device,\1,p'); do
|
||||
freq="2"
|
||||
if [ "$(uci get "wireless.${radio}.channel")" -gt "14" ]; then
|
||||
freq="5"
|
||||
fi
|
||||
# Break: wXconfig is up
|
||||
uci -q get "wireless.w${freq}configap" > /dev/null && continue
|
||||
# Break: No mesh interface
|
||||
(uci -q get "wireless.w${freq}mesh" > /dev/null || uci -q get "wireless.w${freq}ibss" > /dev/null) || continue
|
||||
|
||||
# Create configap
|
||||
iface="configap$freq"
|
||||
uci set network.${iface}=interface
|
||||
uci set network.${iface}.proto='static'
|
||||
uci set network.${iface}.ip6addr='fe80::1/64'
|
||||
uci commit network
|
||||
if ! wifiAddAP "$radio" "config.franken.freifunk.net" "$iface" "configap" "1"; then
|
||||
echo "Can't add Config interface on $radio."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
wifi
|
||||
fi
|
||||
wifi
|
||||
fi
|
||||
|
||||
lat=$(uci -q get fff.system.latitude)
|
||||
|
|
Loading…
Reference in New Issue