Message ID | 1520541794-4627-1-git-send-email-freifunk@adrianschmutzler.de |
---|---|
State | Superseded |
Headers | show |
diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index 76fdfd8..81228b9 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -264,24 +264,26 @@ if [ -s "$hoodfile" ]; then radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" [ -n "$radio5" ] && radio="$radio5" - if ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then + if ( ! [ "$(uci -q get 'fff.wifi.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 - echo "Can't add Mesh interface on $radio." - exit 1 + if ( ! [ "$(uci -q get 'fff.wifi.disablemesh')" = "1" ] ) ; then + # 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 + echo "Can't add Mesh interface on $radio." + exit 1 + fi 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 - echo "Can't add AdHocMesh interface on $radio." - exit 1 + # add IBSS mesh if type == "ibss" + if ( [ -n "$radio5" ] && [ "$mesh_type5" == "ibss" ] ) || [ "$mesh_type2" == "ibss" ]; then + if ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then + echo "Can't add AdHocMesh interface on $radio." + exit 1 + fi fi fi done
Hi Adrian, die beiden uci settings finde ich recht gut. Ich fände es schöner, wenn man die beiden vorbelegen würde. Das wäre dann selbsterklärend und man muss nicht im Wiki danach suchen. Wenn man das für 2,4 und 5 GHz noch trennen würde, könnte man z.b über 5 nur meshen und über 2,4 AP machen. Ist das sinnvoll? Noch was Allgemeines; wenn im shebang #!/bin/sh steht, sollte man kein bash Zeug verwenden. Kein == , auch kein [[ oder globbing patterns im test. Robert Am 08.03.2018 um 21:43 schrieb Adrian Schmutzler: > By providing > uci set fff.wifi.disableap=1 > and > uci set fff.wifi.disablemesh=1 > one can disable wXap and wXmesh, respectively. > > This affects all interfaces if 2.4 AND 5 GHz are present. > > To apply the settings after having changed uci, one has to > uci commit fff > rm /www/hood/keyxchangev2data > configurehood > > Fixes #97. > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > --- > .../fff/fff-hoods/files/usr/sbin/configurehood | 26 ++++++++++++---------- > 1 file changed, 14 insertions(+), 12 deletions(-) > > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index 76fdfd8..81228b9 100755 > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > @@ -264,24 +264,26 @@ if [ -s "$hoodfile" ]; then > radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" > [ -n "$radio5" ] && radio="$radio5" > > - if ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then > + if ( ! [ "$(uci -q get 'fff.wifi.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 > - echo "Can't add Mesh interface on $radio." > - exit 1 > + if ( ! [ "$(uci -q get 'fff.wifi.disablemesh')" = "1" ] ) ; then > + # 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 > + echo "Can't add Mesh interface on $radio." > + exit 1 > + fi > 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 > - echo "Can't add AdHocMesh interface on $radio." > - exit 1 > + # add IBSS mesh if type == "ibss" > + if ( [ -n "$radio5" ] && [ "$mesh_type5" == "ibss" ] ) || [ "$mesh_type2" == "ibss" ]; then > + if ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then > + echo "Can't add AdHocMesh interface on $radio." > + exit 1 > + fi > fi > fi > done
Hallo Robert, man könnte natürlich auch 2.4 und 5 GHz trennen. Das wird dann allerdings etwas weniger schlank im Code. Deshalb habe ich (zunächst) darauf verzichtet. Zwecks == usw.: Das war vorher so und ich wollte es nicht ändern, gelegentlich könnte man hier mal einen Cleanup-Patch machen (wenn der Rest durch ist). Bitte auch beachten, dass man beim ersten uci set vorher uci set fff.wifi=fff machen muss, um den Block anzulegen. Grüße Adrian > -----Original Message----- > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf > Of robert > Sent: Freitag, 9. März 2018 09:05 > To: franken-dev@freifunk.net > Subject: Re: [PATCH] configurehood: Provide options to disable AP and Mesh > for WiFi > > Hi Adrian, > > die beiden uci settings finde ich recht gut. Ich fände es schöner, wenn man > die beiden vorbelegen würde. Das wäre dann selbsterklärend und man muss > nicht im Wiki danach suchen. > > Wenn man das für 2,4 und 5 GHz noch trennen würde, könnte man z.b über > 5 nur meshen und über 2,4 AP machen. Ist das sinnvoll? > > Noch was Allgemeines; wenn im shebang #!/bin/sh steht, sollte man kein > bash Zeug verwenden. Kein == , auch kein [[ oder globbing patterns im test. > > Robert > > > Am 08.03.2018 um 21:43 schrieb Adrian Schmutzler: > > By providing > > uci set fff.wifi.disableap=1 > > and > > uci set fff.wifi.disablemesh=1 > > one can disable wXap and wXmesh, respectively. > > > > This affects all interfaces if 2.4 AND 5 GHz are present. > > > > To apply the settings after having changed uci, one has to uci commit > > fff rm /www/hood/keyxchangev2data configurehood > > > > Fixes #97. > > > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > --- > > .../fff/fff-hoods/files/usr/sbin/configurehood | 26 ++++++++++++------- > --- > > 1 file changed, 14 insertions(+), 12 deletions(-) > > > > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > index 76fdfd8..81228b9 100755 > > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > @@ -264,24 +264,26 @@ if [ -s "$hoodfile" ]; then > > radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" > > [ -n "$radio5" ] && radio="$radio5" > > > > - if ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then > > + if ( ! [ "$(uci -q get 'fff.wifi.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 > > - echo "Can't add Mesh interface on > $radio." > > - exit 1 > > + if ( ! [ "$(uci -q get 'fff.wifi.disablemesh')" = "1" ] ) ; > then > > + # 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 > > + echo "Can't add Mesh > interface on $radio." > > + exit 1 > > + fi > > 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 > > - echo "Can't add AdHocMesh interface > on $radio." > > - exit 1 > > + # add IBSS mesh if type == "ibss" > > + if ( [ -n "$radio5" ] && [ "$mesh_type5" == > "ibss" ] ) || [ "$mesh_type2" == "ibss" ]; then > > + if ! wifiAddAdHocMesh "$radio" > "$mesh_essid" "$mesh_bssid"; then > > + echo "Can't add AdHocMesh > interface on $radio." > > + exit 1 > > + fi > > fi > > fi > > done > > -- > franken-dev mailing list > franken-dev@freifunk.net > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Hallo Robert, Nachtrag: Vorbelegen bei der fffconfig ist nicht trivial, da die Datei ja bei jedem Update mitgenommen wird. Die alte fffconfig ohne Parameter würde also die neue überschreiben. Was man machen kann ist ein uci-default Skript, dass bei einem firstboot diese Parameter und anlegt, wenn sie nicht da sind. Ich werde mal einen Patch in diese Richtung bauen, dann kann man das konkreter diskutieren. Grüße Adrian > -----Original Message----- > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf > Of robert > Sent: Freitag, 9. März 2018 09:05 > To: franken-dev@freifunk.net > Subject: Re: [PATCH] configurehood: Provide options to disable AP and Mesh > for WiFi > > Hi Adrian, > > die beiden uci settings finde ich recht gut. Ich fände es schöner, wenn man > die beiden vorbelegen würde. Das wäre dann selbsterklärend und man muss > nicht im Wiki danach suchen. > > Wenn man das für 2,4 und 5 GHz noch trennen würde, könnte man z.b über > 5 nur meshen und über 2,4 AP machen. Ist das sinnvoll? > > Noch was Allgemeines; wenn im shebang #!/bin/sh steht, sollte man kein > bash Zeug verwenden. Kein == , auch kein [[ oder globbing patterns im test. > > Robert > > > Am 08.03.2018 um 21:43 schrieb Adrian Schmutzler: > > By providing > > uci set fff.wifi.disableap=1 > > and > > uci set fff.wifi.disablemesh=1 > > one can disable wXap and wXmesh, respectively. > > > > This affects all interfaces if 2.4 AND 5 GHz are present. > > > > To apply the settings after having changed uci, one has to uci commit > > fff rm /www/hood/keyxchangev2data configurehood > > > > Fixes #97. > > > > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > --- > > .../fff/fff-hoods/files/usr/sbin/configurehood | 26 ++++++++++++------- > --- > > 1 file changed, 14 insertions(+), 12 deletions(-) > > > > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > index 76fdfd8..81228b9 100755 > > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > @@ -264,24 +264,26 @@ if [ -s "$hoodfile" ]; then > > radio5="$(wifiAddPhyCond "$phy" "5" "$chan5ghz")" > > [ -n "$radio5" ] && radio="$radio5" > > > > - if ! wifiAddAP "$radio" "$essid" "mesh" "ap" "0"; then > > + if ( ! [ "$(uci -q get 'fff.wifi.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 > > - echo "Can't add Mesh interface on > $radio." > > - exit 1 > > + if ( ! [ "$(uci -q get 'fff.wifi.disablemesh')" = "1" ] ) ; > then > > + # 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 > > + echo "Can't add Mesh > interface on $radio." > > + exit 1 > > + fi > > 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 > > - echo "Can't add AdHocMesh interface > on $radio." > > - exit 1 > > + # add IBSS mesh if type == "ibss" > > + if ( [ -n "$radio5" ] && [ "$mesh_type5" == > "ibss" ] ) || [ "$mesh_type2" == "ibss" ]; then > > + if ! wifiAddAdHocMesh "$radio" > "$mesh_essid" "$mesh_bssid"; then > > + echo "Can't add AdHocMesh > interface on $radio." > > + exit 1 > > + fi > > fi > > fi > > done > > -- > franken-dev mailing list > franken-dev@freifunk.net > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
By providing uci set fff.wifi.disableap=1 and uci set fff.wifi.disablemesh=1 one can disable wXap and wXmesh, respectively. This affects all interfaces if 2.4 AND 5 GHz are present. To apply the settings after having changed uci, one has to uci commit fff rm /www/hood/keyxchangev2data configurehood Fixes #97. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> --- .../fff/fff-hoods/files/usr/sbin/configurehood | 26 ++++++++++++---------- 1 file changed, 14 insertions(+), 12 deletions(-)