Message ID | 1520635415-4191-1-git-send-email-freifunk@adrianschmutzler.de |
---|---|
State | Rejected |
Headers | show |
diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff index aa6ac42..8433b7f 100644 --- a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff +++ b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff @@ -4,11 +4,19 @@ touch /etc/config/fff +# default config values if ! uci -q get fff.system > /dev/null ; then uci -q set fff.system=fff uci -q set "fff.system.hostname=FFF" fi +uci -q set fff.wifi=fff +uci -q get fff.wifi.disablew2ap > /dev/null || uci -q set "fff.wifi.disablew2ap=0" +uci -q get fff.wifi.disablew5ap > /dev/null || uci -q set "fff.wifi.disablew5ap=0" +uci -q get fff.wifi.disablew2mesh > /dev/null || uci -q set "fff.wifi.disablew2mesh=0" +uci -q get fff.wifi.disablew5mesh > /dev/null || uci -q set "fff.wifi.disablew5mesh=0" + +# apply config to other uci entries FFF_hostname=$(uci -q get "fff.system.hostname") test -n "${FFF_hostname}" && uci -q set "system.@system[0].hostname=${FFF_hostname}" test -n "${FFF_hostname}" && echo "${FFF_hostname}" > /proc/sys/kernel/hostname @@ -24,6 +32,7 @@ uci -q set "simple-tc.example.limit_egress=${traffic_out}" uci -q commit +# run configuration scripts poe_passthrough=$(uci -q get "fff.poe_passthrough.active") if [ "$poe_passthrough" = "1" ] && [ -s /usr/lib/fff-support/activate_poe_passthrough.sh ] ; then /usr/lib/fff-support/activate_poe_passthrough.sh diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index fd4126e..ae92f96 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -260,26 +260,35 @@ if [ -s "$hoodfile" ]; then fi for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do - radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")" - radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" - [ -n "$radio5" ] && radio="$radio5" + radio="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" + + if [ -n "$radio" ] ; then + # 5 GHz + mesh_type="$mesh_type5" + disableap="fff.wifi.disablew5ap" + disablemesh="fff.wifi.disablew5mesh" + else + # 2.4 GHz + radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")" + mesh_type="$mesh_type2" + disableap="fff.wifi.disablew2ap" + disablemesh="fff.wifi.disablew2mesh" + fi - if ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then + if [ "$(uci -q get "$disableap")" != "1" ] && ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then echo "Can't add AP interface on $radio." exit 1 fi - # add 802.11s mesh if type == "802.11s" - if ( [ -n "$radio5" ] && [ "$mesh_type5" == "802.11s" ] ) || [ "$mesh_type2" == "802.11s" ]; then - if ! wifiAddMesh "$radio" "$mesh_id"; then + if [ "$(uci -q get "$disablemesh")" != "1" ] ; then + # add 802.11s mesh if type = "802.11s" + if [ "$mesh_type" = "802.11s" ] && ! wifiAddMesh "$radio" "$mesh_id"; then echo "Can't add Mesh interface on $radio." exit 1 fi - fi - # add IBSS mesh if type == "ibss" - if ( [ -n "$radio5" ] && [ "$mesh_type5" == "ibss" ] ) || [ "$mesh_type2" == "ibss" ]; then - if ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then + # add IBSS mesh if type = "ibss" + if [ "$mesh_type" = "ibss" ] && ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then echo "Can't add AdHocMesh interface on $radio." exit 1 fi
Moin, ich glaube wir sollten das anders angehen. Mein Vorschlag: Das permanente Ändern der Wifi Konfiguration sollte weg. Dazu: - Nur die fürs Hoodfile interessanten Parameter (SSID, Kanal, ..) bei configurehood ändern. - w2sta generell nur im RAM machen (uci set ohne commit, danach revert) Dann kann man an die einzelnen Interfaces entweder disabled-Options dran setzen oder das ganze Interface löschen. (Es sollte natürlich im configurehood beim setzen der Parameter entsprechend geprüft werden, ob das Interface existiert) Gruß Fabian > On 9. Mar 2018, at 23:43, Adrian Schmutzler <freifunk@adrianschmutzler.de> wrote: > > Each WiFi interface can be disabled individually. > > To apply the settings after having changed uci, one has to > uci commit fff > rm /www/hood/keyxchangev2data > configurehood > > Fixes #97. > > Fixes misconfiguration in case of mixed IBSS/802.11s. > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > --- > > Changes in v2: > - Use separate settings for 2.4 and 5 GHz (an no combined setting) > - Add default values to fff-config > - Add comments to fff-config setup script > - Fix double equal sign in affected area of configurehood > - Rewrite section to reduce ifs and logical operators > --- > .../files/etc/uci-defaults/98-configure-fff | 9 +++++++ > .../fff/fff-hoods/files/usr/sbin/configurehood | 31 ++++++++++++++-------- > 2 files changed, 29 insertions(+), 11 deletions(-) > > diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > index aa6ac42..8433b7f 100644 > --- a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > +++ b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > @@ -4,11 +4,19 @@ > > touch /etc/config/fff > > +# default config values > if ! uci -q get fff.system > /dev/null ; then > uci -q set fff.system=fff > uci -q set "fff.system.hostname=FFF" > fi > > +uci -q set fff.wifi=fff > +uci -q get fff.wifi.disablew2ap > /dev/null || uci -q set "fff.wifi.disablew2ap=0" > +uci -q get fff.wifi.disablew5ap > /dev/null || uci -q set "fff.wifi.disablew5ap=0" > +uci -q get fff.wifi.disablew2mesh > /dev/null || uci -q set "fff.wifi.disablew2mesh=0" > +uci -q get fff.wifi.disablew5mesh > /dev/null || uci -q set "fff.wifi.disablew5mesh=0" > + > +# apply config to other uci entries > FFF_hostname=$(uci -q get "fff.system.hostname") > test -n "${FFF_hostname}" && uci -q set "system.@system[0].hostname=${FFF_hostname}" > test -n "${FFF_hostname}" && echo "${FFF_hostname}" > /proc/sys/kernel/hostname > @@ -24,6 +32,7 @@ uci -q set "simple-tc.example.limit_egress=${traffic_out}" > > uci -q commit > > +# run configuration scripts > poe_passthrough=$(uci -q get "fff.poe_passthrough.active") > if [ "$poe_passthrough" = "1" ] && [ -s /usr/lib/fff-support/activate_poe_passthrough.sh ] ; then > /usr/lib/fff-support/activate_poe_passthrough.sh > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index fd4126e..ae92f96 100755 > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > @@ -260,26 +260,35 @@ if [ -s "$hoodfile" ]; then > fi > > for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do > - radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")" > - radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" > - [ -n "$radio5" ] && radio="$radio5" > + radio="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" > + > + if [ -n "$radio" ] ; then > + # 5 GHz > + mesh_type="$mesh_type5" > + disableap="fff.wifi.disablew5ap" > + disablemesh="fff.wifi.disablew5mesh" > + else > + # 2.4 GHz > + radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")" > + mesh_type="$mesh_type2" > + disableap="fff.wifi.disablew2ap" > + disablemesh="fff.wifi.disablew2mesh" > + fi > > - if ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then > + if [ "$(uci -q get "$disableap")" != "1" ] && ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then > echo "Can't add AP interface on $radio." > exit 1 > fi > > - # add 802.11s mesh if type == "802.11s" > - if ( [ -n "$radio5" ] && [ "$mesh_type5" == "802.11s" ] ) || [ "$mesh_type2" == "802.11s" ]; then > - if ! wifiAddMesh "$radio" "$mesh_id"; then > + if [ "$(uci -q get "$disablemesh")" != "1" ] ; then > + # add 802.11s mesh if type = "802.11s" > + if [ "$mesh_type" = "802.11s" ] && ! wifiAddMesh "$radio" "$mesh_id"; then > echo "Can't add Mesh interface on $radio." > exit 1 > fi > - fi > > - # add IBSS mesh if type == "ibss" > - if ( [ -n "$radio5" ] && [ "$mesh_type5" == "ibss" ] ) || [ "$mesh_type2" == "ibss" ]; then > - if ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then > + # add IBSS mesh if type = "ibss" > + if [ "$mesh_type" = "ibss" ] && ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then > echo "Can't add AdHocMesh interface on $radio." > exit 1 > fi > -- > 2.7.4 > > -- > franken-dev mailing list > franken-dev@freifunk.net > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Hallo Fabian, das klingt für mich zunächst so vernünftig. Ich werde da aber nochmal in Ruhe drüber nachdenken, da das in meinen Augen keine so extrem hohe Priorität hat. Grüße Adrian > -----Original Message----- > From: Fabian Bläse [mailto:fabian@blaese.de] > Sent: Sonntag, 24. Juni 2018 11:38 > To: Adrian Schmutzler <freifunk@adrianschmutzler.de> > Cc: franken-dev <franken-dev@freifunk.net> > Subject: Re: [PATCH v2] configurehood: Provide options to disable AP and > Mesh for WiFi > > Moin, > > ich glaube wir sollten das anders angehen. Mein Vorschlag: > Das permanente Ändern der Wifi Konfiguration sollte weg. Dazu: > - Nur die fürs Hoodfile interessanten Parameter (SSID, Kanal, ..) bei > configurehood ändern. > - w2sta generell nur im RAM machen (uci set ohne commit, danach revert) > > Dann kann man an die einzelnen Interfaces entweder disabled-Options dran > setzen oder das ganze Interface löschen. > (Es sollte natürlich im configurehood beim setzen der Parameter > entsprechend geprüft werden, ob das Interface existiert) > > Gruß > Fabian > > > On 9. Mar 2018, at 23:43, Adrian Schmutzler > <freifunk@adrianschmutzler.de> wrote: > > > > Each WiFi interface can be disabled individually. > > > > To apply the settings after having changed uci, one has to uci commit > > fff rm /www/hood/keyxchangev2data configurehood > > > > Fixes #97. > > > > Fixes misconfiguration in case of mixed IBSS/802.11s. > > > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > > > --- > > > > Changes in v2: > > - Use separate settings for 2.4 and 5 GHz (an no combined setting) > > - Add default values to fff-config > > - Add comments to fff-config setup script > > - Fix double equal sign in affected area of configurehood > > - Rewrite section to reduce ifs and logical operators > > --- > > .../files/etc/uci-defaults/98-configure-fff | 9 +++++++ > > .../fff/fff-hoods/files/usr/sbin/configurehood | 31 ++++++++++++++----- > --- > > 2 files changed, 29 insertions(+), 11 deletions(-) > > > > diff --git > > a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > > b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > > index aa6ac42..8433b7f 100644 > > --- > > a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff > > +++ b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure- > > +++ fff > > @@ -4,11 +4,19 @@ > > > > touch /etc/config/fff > > > > +# default config values > > if ! uci -q get fff.system > /dev/null ; then > > uci -q set fff.system=fff > > uci -q set "fff.system.hostname=FFF" > > fi > > > > +uci -q set fff.wifi=fff > > +uci -q get fff.wifi.disablew2ap > /dev/null || uci -q set > "fff.wifi.disablew2ap=0" > > +uci -q get fff.wifi.disablew5ap > /dev/null || uci -q set > "fff.wifi.disablew5ap=0" > > +uci -q get fff.wifi.disablew2mesh > /dev/null || uci -q set > "fff.wifi.disablew2mesh=0" > > +uci -q get fff.wifi.disablew5mesh > /dev/null || uci -q set > "fff.wifi.disablew5mesh=0" > > + > > +# apply config to other uci entries > > FFF_hostname=$(uci -q get "fff.system.hostname") test -n > > "${FFF_hostname}" && uci -q set > "system.@system[0].hostname=${FFF_hostname}" > > test -n "${FFF_hostname}" && echo "${FFF_hostname}" > > > /proc/sys/kernel/hostname @@ -24,6 +32,7 @@ uci -q set "simple- > tc.example.limit_egress=${traffic_out}" > > > > uci -q commit > > > > +# run configuration scripts > > poe_passthrough=$(uci -q get "fff.poe_passthrough.active") if [ > > "$poe_passthrough" = "1" ] && [ -s /usr/lib/fff- > support/activate_poe_passthrough.sh ] ; then > > /usr/lib/fff-support/activate_poe_passthrough.sh > > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > index fd4126e..ae92f96 100755 > > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > @@ -260,26 +260,35 @@ if [ -s "$hoodfile" ]; then > > fi > > > > for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do > > - radio="$(wifiAddPhyCond "$phy" "2" "$chan2ghz")" > > - radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" > > - [ -n "$radio5" ] && radio="$radio5" > > + radio="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" > > + > > + if [ -n "$radio" ] ; then > > + # 5 GHz > > + mesh_type="$mesh_type5" > > + disableap="fff.wifi.disablew5ap" > > + disablemesh="fff.wifi.disablew5mesh" > > + else > > + # 2.4 GHz > > + radio="$(wifiAddPhyCond "$phy" "2" > "$chan2ghz")" > > + mesh_type="$mesh_type2" > > + disableap="fff.wifi.disablew2ap" > > + disablemesh="fff.wifi.disablew2mesh" > > + fi > > > > - if ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then > > + if [ "$(uci -q get "$disableap")" != "1" ] && ! wifiAddAP > "$radio" > > +"$essid" "mesh" "ap" "0"; then > > echo "Can't add AP interface on $radio." > > exit 1 > > fi > > > > - # add 802.11s mesh if type == "802.11s" > > - if ( [ -n "$radio5" ] && [ "$mesh_type5" == "802.11s" ] > ) || [ "$mesh_type2" == "802.11s" ]; then > > - if ! wifiAddMesh "$radio" "$mesh_id"; then > > + if [ "$(uci -q get "$disablemesh")" != "1" ] ; then > > + # add 802.11s mesh if type = "802.11s" > > + if [ "$mesh_type" = "802.11s" ] && ! > wifiAddMesh "$radio" > > +"$mesh_id"; then > > echo "Can't add Mesh interface on > $radio." > > exit 1 > > fi > > - fi > > > > - # add IBSS mesh if type == "ibss" > > - if ( [ -n "$radio5" ] && [ "$mesh_type5" == "ibss" ] ) || > [ "$mesh_type2" == "ibss" ]; then > > - if ! wifiAddAdHocMesh "$radio" > "$mesh_essid" "$mesh_bssid"; then > > + # add IBSS mesh if type = "ibss" > > + if [ "$mesh_type" = "ibss" ] && ! > wifiAddAdHocMesh "$radio" > > +"$mesh_essid" "$mesh_bssid"; then > > echo "Can't add AdHocMesh interface > on $radio." > > exit 1 > > fi > > -- > > 2.7.4 > > > > -- > > franken-dev mailing list > > franken-dev@freifunk.net > > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Hi Der Patch erfindet eine Lösung neu, die bereits von OpenWRT geliefert wird. Insofern sollten wir das nicht so machen, sondern wie unten von Fabian beschrieben. Am Sonntag, den 24.06.2018, 11:38 +0200 schrieb Fabian Bläse: > Moin, > > ich glaube wir sollten das anders angehen. Mein Vorschlag: > Das permanente Ändern der Wifi Konfiguration sollte weg. Dazu: > - Nur die fürs Hoodfile interessanten Parameter (SSID, Kanal, ..) bei > configurehood ändern. > - w2sta generell nur im RAM machen (uci set ohne commit, danach > revert) Das klingt nach einer sehr guten Lösung. Klingt aber auch nach einer Menge umbauarbeiten. :( > Dann kann man an die einzelnen Interfaces entweder disabled-Options Genau, oder ggfs andere Werte ergänzen. > dran setzen oder das ganze Interface löschen. Davon wäre ich jetzt nicht so begeistert. Es sollte schon irgendwas da sein, dass garantiert, dass die Interfaces da sind. > (Es sollte natürlich im configurehood beim setzen der Parameter > entsprechend geprüft werden, ob das Interface existiert) Wenn die nicht da sind, würde ich die pauschal neu anlegen. Ich kann ja nicht erkennen, ob die nicht da sind, weil die aus sein sollen oder weil die neu angelegt werden sollen. Tim > Gruß > Fabian > > > On 9. Mar 2018, at 23:43, Adrian Schmutzler <freifunk@adrianschmutz > > ler.de> wrote: > > > > Each WiFi interface can be disabled individually. > > > > To apply the settings after having changed uci, one has to > > uci commit fff > > rm /www/hood/keyxchangev2data > > configurehood > > > > Fixes #97. > > > > Fixes misconfiguration in case of mixed IBSS/802.11s. > > > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > > > --- > > > > Changes in v2: > > - Use separate settings for 2.4 and 5 GHz (an no combined setting) > > - Add default values to fff-config > > - Add comments to fff-config setup script > > - Fix double equal sign in affected area of configurehood > > - Rewrite section to reduce ifs and logical operators > > --- > > .../files/etc/uci-defaults/98-configure-fff | 9 +++++++ > > .../fff/fff-hoods/files/usr/sbin/configurehood | 31 > > ++++++++++++++-------- > > 2 files changed, 29 insertions(+), 11 deletions(-) > > > > diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/98- > > configure-fff b/src/packages/fff/fff-config/files/etc/uci- > > defaults/98-configure-fff > > index aa6ac42..8433b7f 100644 > > --- a/src/packages/fff/fff-config/files/etc/uci-defaults/98- > > configure-fff > > +++ b/src/packages/fff/fff-config/files/etc/uci-defaults/98- > > configure-fff > > @@ -4,11 +4,19 @@ > > > > touch /etc/config/fff > > > > +# default config values > > if ! uci -q get fff.system > /dev/null ; then > > uci -q set fff.system=fff > > uci -q set "fff.system.hostname=FFF" > > fi > > > > +uci -q set fff.wifi=fff > > +uci -q get fff.wifi.disablew2ap > /dev/null || uci -q set > > "fff.wifi.disablew2ap=0" > > +uci -q get fff.wifi.disablew5ap > /dev/null || uci -q set > > "fff.wifi.disablew5ap=0" > > +uci -q get fff.wifi.disablew2mesh > /dev/null || uci -q set > > "fff.wifi.disablew2mesh=0" > > +uci -q get fff.wifi.disablew5mesh > /dev/null || uci -q set > > "fff.wifi.disablew5mesh=0" > > + > > +# apply config to other uci entries > > FFF_hostname=$(uci -q get "fff.system.hostname") > > test -n "${FFF_hostname}" && uci -q set "system.@system[0].hostname > > =${FFF_hostname}" > > test -n "${FFF_hostname}" && echo "${FFF_hostname}" > > > /proc/sys/kernel/hostname > > @@ -24,6 +32,7 @@ uci -q set "simple- > > tc.example.limit_egress=${traffic_out}" > > > > uci -q commit > > > > +# run configuration scripts > > poe_passthrough=$(uci -q get "fff.poe_passthrough.active") > > if [ "$poe_passthrough" = "1" ] && [ -s /usr/lib/fff- > > support/activate_poe_passthrough.sh ] ; then > > /usr/lib/fff-support/activate_poe_passthrough.sh > > diff --git a/src/packages/fff/fff- > > hoods/files/usr/sbin/configurehood b/src/packages/fff/fff- > > hoods/files/usr/sbin/configurehood > > index fd4126e..ae92f96 100755 > > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > @@ -260,26 +260,35 @@ if [ -s "$hoodfile" ]; then > > fi > > > > for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do > > - radio="$(wifiAddPhyCond "$phy" "2" > > "$chan2ghz")" > > - radio5="$(wifiAddPhyCond "$phy" "5" > > "$chan5ghz")" > > - [ -n "$radio5" ] && radio="$radio5" > > + radio="$(wifiAddPhyCond "$phy" "5" > > "$chan5ghz")" > > + > > + if [ -n "$radio" ] ; then > > + # 5 GHz > > + mesh_type="$mesh_type5" > > + disableap="fff.wifi.disablew5ap" > > + disablemesh="fff.wifi.disablew5mes > > h" > > + else > > + # 2.4 GHz > > + radio="$(wifiAddPhyCond "$phy" "2" > > "$chan2ghz")" > > + mesh_type="$mesh_type2" > > + disableap="fff.wifi.disablew2ap" > > + disablemesh="fff.wifi.disablew2mes > > h" > > + fi > > > > - if ! wifiAddAP "$radio" "$essid" "mesh" > > "ap" "0"; then > > + if [ "$(uci -q get "$disableap")" != "1" ] > > && ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then > > echo "Can't add AP interface on > > $radio." > > exit 1 > > fi > > > > - # add 802.11s mesh if type == "802.11s" > > - if ( [ -n "$radio5" ] && [ "$mesh_type5" > > == "802.11s" ] ) || [ "$mesh_type2" == "802.11s" ]; then > > - if ! wifiAddMesh "$radio" > > "$mesh_id"; then > > + if [ "$(uci -q get "$disablemesh")" != "1" > > ] ; then > > + # add 802.11s mesh if type = > > "802.11s" > > + if [ "$mesh_type" = "802.11s" ] && > > ! wifiAddMesh "$radio" "$mesh_id"; then > > echo "Can't add Mesh interface > > on $radio." > > exit 1 > > fi > > - fi > > > > - # add IBSS mesh if type == "ibss" > > - if ( [ -n "$radio5" ] && [ "$mesh_type5" > > == "ibss" ] ) || [ "$mesh_type2" == "ibss" ]; then > > - if ! wifiAddAdHocMesh "$radio" > > "$mesh_essid" "$mesh_bssid"; then > > + # add IBSS mesh if type = "ibss" > > + if [ "$mesh_type" = "ibss" ] && ! > > wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then > > echo "Can't add AdHocMesh > > interface on $radio." > > exit 1 > > fi > > -- > > 2.7.4 > > > > -- > > franken-dev mailing list > > franken-dev@freifunk.net > > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net > >
Each WiFi interface can be disabled individually. To apply the settings after having changed uci, one has to uci commit fff rm /www/hood/keyxchangev2data configurehood Fixes #97. Fixes misconfiguration in case of mixed IBSS/802.11s. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> --- Changes in v2: - Use separate settings for 2.4 and 5 GHz (an no combined setting) - Add default values to fff-config - Add comments to fff-config setup script - Fix double equal sign in affected area of configurehood - Rewrite section to reduce ifs and logical operators --- .../files/etc/uci-defaults/98-configure-fff | 9 +++++++ .../fff/fff-hoods/files/usr/sbin/configurehood | 31 ++++++++++++++-------- 2 files changed, 29 insertions(+), 11 deletions(-)