Message ID | 20171008140708.22727-1-fabian@blaese.de |
---|---|
State | Superseded |
Headers | show |
diff --git a/community/franken.cfg b/community/franken.cfg index 833e98e..3ea5353 100644 --- a/community/franken.cfg +++ b/community/franken.cfg @@ -3,6 +3,7 @@ BATMAN_CHANNEL_5GHZ=36 ESSID_AP=franken.freifunk.net ESSID_MESH=batman.franken.freifunk.net BSSID_MESH=02:CA:FF:EE:BA:BE +MESH_ID=mesh.franken.freifunk.net VPN_PROJECT=fff NTPD_IP=fe80::ff:feee:1%br-mesh UPGRADE_PATH=http://[fe80::ff:feee:1%br-mesh]/dev/firmware/current diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index 264a308..a464841 100755 --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood @@ -119,6 +119,7 @@ if [ -s /tmp/keyxchangev2data ]; then json_select hood json_get_var hood name + json_get_var mesh_id mesh_id json_get_var mesh_bssid mesh_bssid json_get_var mesh_essid mesh_essid json_get_var essid essid @@ -126,10 +127,10 @@ if [ -s /tmp/keyxchangev2data ]; then # i think the next things we don't active this in the first version! we can do it later #json_get_var channel2 channel2 #json_get_var mode2 mode2 - #json_get_var type2 type2 + json_get_var mesh_type2 mesh_type2 #json_get_var channel5 channel5 #json_get_var mode5 mode5 - #json_get_var type5 type5 + json_get_var mesh_type5 mesh_type5 #json_get_var protocol protocol json_select ".." # back to root @@ -155,9 +156,20 @@ if [ -s /tmp/keyxchangev2data ]; then # here we set a bit for add hidden AP touch /tmp/hiddenapflag - if ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then - echo "Can't add AP interface on $radio." - exit 1 + # 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 + + # 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 done diff --git a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless index 2c6dff8..4493b05 100644 --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless @@ -83,9 +83,9 @@ wifiAddAdHocMesh() { local bssid=$3 local channel=$(uci get "wireless.${radio}.channel") - local iface="w2mesh" + local iface="w2ibss" if [ "$channel" -gt "14" ]; then - iface="w5mesh" + iface="w5ibss" fi uci batch <<-__EOF__ @@ -177,4 +177,40 @@ wifiAddSta() { return 0 } +wifiAddMesh() { + if [ $# -ne "2" ] + then + echo "Usage: wifiAddMesh <radio> <mesh-id>" + return 1 + fi + + local radio=$1 + local mesh_id=$2 + + local channel=$(uci get "wireless.${radio}.channel") + local iface="w2mesh" + if [ "$channel" -gt "14" ]; then + iface="w5mesh" + fi + uci batch <<-__EOF__ + set wireless.${iface}='wifi-iface' + set wireless.${iface}.device='${radio}' + set wireless.${iface}.network='${iface}' + set wireless.${iface}.ifname='${iface}' + set wireless.${iface}.mode='mesh' + set wireless.${iface}.mesh_id='${mesh_id}' + set wireless.${iface}.encryption='none' + set wireless.${iface}.mesh_fwding=0 + commit wireless + + set network.${iface}='interface' + set network.${iface}.mtu='1528' + set network.${iface}.proto='batadv' + set network.${iface}.mesh='bat0' + commit network + __EOF__ + + echo "${iface}" + return 0 +} # vim: set noexpandtab:tabstop=4
hi grundsätzlich bin ich mir grad unsicher ob beim c7 und c25 bei 11s was am Treiber geändert werden muss. Ich glaube die Firmware (oder wars doch das kmod? Oder gar beide?) muss nun ohne -ct eingebunden werden, da -ct nur für ibss ist. On 08.10.2017 16:07, Fabian Bläse wrote: > Signed-off-by: Fabian Bläse <fabian@blaese.de> > Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> > > Update in v2: > - Add parentheses > - Rename mesh_type variable > > Update in v3: > - nothing > > Update in v4: > - Fix wrong variable assignment introduced in v2 > > Update in v5: > - Add returns to wifiAddMesh > > Update in v6: > - Rename json mesh_type variable > --- > community/franken.cfg | 1 + > .../fff/fff-hoods/files/usr/sbin/configurehood | 22 +++++++++--- > .../fff-wireless/files/lib/functions/fff/wireless | 40 ++++++++++++++++++++-- > 3 files changed, 56 insertions(+), 7 deletions(-) > > diff --git a/community/franken.cfg b/community/franken.cfg > index 833e98e..3ea5353 100644 > --- a/community/franken.cfg > +++ b/community/franken.cfg > @@ -3,6 +3,7 @@ BATMAN_CHANNEL_5GHZ=36 > ESSID_AP=franken.freifunk.net > ESSID_MESH=batman.franken.freifunk.net > BSSID_MESH=02:CA:FF:EE:BA:BE > +MESH_ID=mesh.franken.freifunk.net ist das noch nötig? Wollten wir die File nicht irgendwann ganz killen? > VPN_PROJECT=fff > NTPD_IP=fe80::ff:feee:1%br-mesh > UPGRADE_PATH=http://[fe80::ff:feee:1%br-mesh]/dev/firmware/current > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index 264a308..a464841 100755 > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > @@ -119,6 +119,7 @@ if [ -s /tmp/keyxchangev2data ]; then > json_select hood > > json_get_var hood name > + json_get_var mesh_id mesh_id > json_get_var mesh_bssid mesh_bssid > json_get_var mesh_essid mesh_essid > json_get_var essid essid > @@ -126,10 +127,10 @@ if [ -s /tmp/keyxchangev2data ]; then > # i think the next things we don't active this in the first version! we can do it later vielleicht sollte man meinen wunderschönen Kommentar bisschen anpassen ;) Stimmt ja jetzt so nicht mehr. > #json_get_var channel2 channel2 > #json_get_var mode2 mode2 > - #json_get_var type2 type2 > + json_get_var mesh_type2 mesh_type2 > #json_get_var channel5 channel5 > #json_get_var mode5 mode5 > - #json_get_var type5 type5 > + json_get_var mesh_type5 mesh_type5 > #json_get_var protocol protocol > > json_select ".." # back to root > @@ -155,9 +156,20 @@ if [ -s /tmp/keyxchangev2data ]; then > # here we set a bit for add hidden AP > touch /tmp/hiddenapflag > > - if ! wifiAddAdHocMesh "$radio" "$mesh_essid" "$mesh_bssid"; then > - echo "Can't add AP interface on $radio." > - exit 1 > + # 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 > + > + # 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 ansich ja richtig das so zu benennen. Wer aber das "alte" w2mesh mit IBSS kennt, ist jetzt richtig verwirrt. Ich hab ein w2mesh gesehen und mich gewundert warum 11s nicht geht ;) Aber du hast recht, w2->mesh<- sollte schon 11s sein und ibss dann ein anderer Name. Muss man sich wohl dran gewöhnen ;) mfg Christian > fi > done > > diff --git a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > index 2c6dff8..4493b05 100644 > --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > @@ -83,9 +83,9 @@ wifiAddAdHocMesh() { > local bssid=$3 > > local channel=$(uci get "wireless.${radio}.channel") > - local iface="w2mesh" > + local iface="w2ibss" > if [ "$channel" -gt "14" ]; then > - iface="w5mesh" > + iface="w5ibss" > fi > > uci batch <<-__EOF__ > @@ -177,4 +177,40 @@ wifiAddSta() { > return 0 > } > > +wifiAddMesh() { > + if [ $# -ne "2" ] > + then > + echo "Usage: wifiAddMesh <radio> <mesh-id>" > + return 1 > + fi > + > + local radio=$1 > + local mesh_id=$2 > + > + local channel=$(uci get "wireless.${radio}.channel") > + local iface="w2mesh" > + if [ "$channel" -gt "14" ]; then > + iface="w5mesh" > + fi > + uci batch <<-__EOF__ > + set wireless.${iface}='wifi-iface' > + set wireless.${iface}.device='${radio}' > + set wireless.${iface}.network='${iface}' > + set wireless.${iface}.ifname='${iface}' > + set wireless.${iface}.mode='mesh' > + set wireless.${iface}.mesh_id='${mesh_id}' > + set wireless.${iface}.encryption='none' > + set wireless.${iface}.mesh_fwding=0 > + commit wireless > + > + set network.${iface}='interface' > + set network.${iface}.mtu='1528' > + set network.${iface}.proto='batadv' > + set network.${iface}.mesh='bat0' > + commit network > + __EOF__ > + > + echo "${iface}" > + return 0 > +} > # vim: set noexpandtab:tabstop=4 >
Am Dienstag, den 10.10.2017, 17:01 +0200 schrieb Christian Dresel: > hi > > grundsätzlich bin ich mir grad unsicher ob beim c7 und c25 bei 11s > was > am Treiber geändert werden muss. Ich glaube die Firmware (oder wars > doch > das kmod? Oder gar beide?) muss nun ohne -ct eingebunden werden, da > -ct nur für ibss ist. Stimmt! Das muss hier noch rein. [..] > > > diff --git a/community/franken.cfg b/community/franken.cfg > > index 833e98e..3ea5353 100644 > > --- a/community/franken.cfg > > +++ b/community/franken.cfg > > @@ -3,6 +3,7 @@ BATMAN_CHANNEL_5GHZ=36 > > ESSID_AP=franken.freifunk.net > > ESSID_MESH=batman.franken.freifunk.net > > BSSID_MESH=02:CA:FF:EE:BA:BE > > +MESH_ID=mesh.franken.freifunk.net > > ist das noch nötig? Wollten wir die File nicht irgendwann ganz > killen? Schließe ich mich an. > > VPN_PROJECT=fff > > NTPD_IP=fe80::ff:feee:1%br-mesh > > UPGRADE_PATH=http://[fe80::ff:feee:1%br-mesh]/dev/firmware/current > > diff --git a/src/packages/fff/fff- > > hoods/files/usr/sbin/configurehood b/src/packages/fff/fff- > > hoods/files/usr/sbin/configurehood > > index 264a308..a464841 100755 > > --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > > @@ -119,6 +119,7 @@ if [ -s /tmp/keyxchangev2data ]; then > > json_select hood > > > > json_get_var hood name > > + json_get_var mesh_id mesh_id > > json_get_var mesh_bssid mesh_bssid > > json_get_var mesh_essid mesh_essid > > json_get_var essid essid > > @@ -126,10 +127,10 @@ if [ -s /tmp/keyxchangev2data ]; then > > # i think the next things we don't active this in > > the first version! we can do it later > > vielleicht sollte man meinen wunderschönen Kommentar bisschen > anpassen > ;) Stimmt ja jetzt so nicht mehr. Das wäre dann aber in einem anderen Patch noch zu fixen. Dieser hier baut ja nur darauf auf. Sollte also hier nicht(!) geändert werden. [..] > Tim