Skip to content
Snippets Groups Projects
Commit 5c1d3b1f authored by Adrian Schmutzler's avatar Adrian Schmutzler Committed by Tim Niemeyer
Browse files

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: default avatarAdrian Schmutzler <freifunk@adrianschmutzler.de>
Reviewed-by: default avatarChristian Dresel <fff@chrisi01.de>
Reviewed-by: default avatarTim Niemeyer <tim@tn-x.org>
parent 04105ad5
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment