Message ID | 1508059678-1390-1-git-send-email-freifunk@adrianschmutzler.de |
---|---|
State | Accepted |
Headers | show |
diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config index b407f7d..0a5b9b9 100644 --- a/bsp/ar71xx/.config +++ b/bsp/ar71xx/.config @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl-ar150="" CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k-firmware-qca9887-ct" +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct" CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c7-v2=y -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c7-v2="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca988x ath10k-firmware-qca988x-ct" +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c7-v2="-kmod-ath10k kmod-ath10k-ct" CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe210-220=y CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_cpe210-220="" CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe510-520=y diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood index 63580b1..8ce9133 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/etc/uci-defaults/60-fff-wireless b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless index 8070cb4..7e2fcf9 100644 --- a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless +++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless @@ -13,18 +13,18 @@ for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do radio="$(wifiAddPhyCond "$phy" "2" "1")" radio5="$(wifiAddPhyCond "$phy" "5" "36")" [ -n "$radio5" ] && radio="$radio5" - if [ -z "$radio" ]; then + if [ -z "$radio" ] ; then echo "Can't create radio for $phy" exit 1 fi - if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0"; then + if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0" ; then echo "Can't add AP interface on $radio." exit 1 fi - if ! wifiAddAdHocMesh "$radio" "batman.do.not.use" "02:CA:FF:EE:BA:BE"; then - echo "Can't add AdHocMesh interface on $radio." + if ! wifiAddMesh "$radio" "mesh.do.not.use" ; then + echo "Can't add Mesh interface on $radio." exit 1 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 71f566a..7e418c2 100644 --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless @@ -84,9 +84,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__ @@ -178,4 +178,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 Am Sonntag, den 15.10.2017, 11:27 +0200 schrieb Adrian Schmutzler: > > From: Fabian Blaese <fabian@blaese.de> > > > 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 > > Update in v7: > - Remove ath10k-ct > - Remove changes to community file > > Update in v8: > - Revert removing ath10k-ct kmod > > Update in v9: > - Rebase > - Use 11s as initial interface during boot (merge with > remainder of initial setup patch) > --- > bsp/ar71xx/.config | 4 +-- > .../fff/fff-hoods/files/usr/sbin/configurehood | 22 +++++++++--- > .../files/etc/uci-defaults/60-fff-wireless | 8 ++--- > .../fff-wireless/files/lib/functions/fff/wireless | 40 ++++++++++++++++++++-- > 4 files changed, 61 insertions(+), 13 deletions(-) > > diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config > index b407f7d..0a5b9b9 100644 > --- a/bsp/ar71xx/.config > +++ b/bsp/ar71xx/.config > @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl-ar150="" > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y > -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k-firmware-qca9887-ct" > +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct" Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, ich hätte stumpf die Invertierung erwartet: CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k-firmware-qca9887-ct" Warum ist meine Annahme falsch? > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c7-v2=y > -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c7-v2="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca988x ath10k-firmware-qca988x-ct" > +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c7-v2="-kmod-ath10k kmod-ath10k-ct" s.o. > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe210-220=y > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_cpe210-220="" > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe510-520=y > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index 63580b1..8ce9133 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" Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man sollte mal testen, was dann konkret passiert. Wenn durch das Aktivieren von ibss auf einem ath10k mit 11s Firmware irgendwelche Nebeneffekte passieren wäre das hinlänglich doof. Wäre das der Fall, müsste man hier die Kompatibilität prüfen! > + 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/etc/uci-defaults/60-fff-wireless b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless > index 8070cb4..7e2fcf9 100644 > --- a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless > +++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless > @@ -13,18 +13,18 @@ for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do > > radio="$(wifiAddPhyCond "$phy" "2" "1")" > > radio5="$(wifiAddPhyCond "$phy" "5" "36")" > > [ -n "$radio5" ] && radio="$radio5" > > - if [ -z "$radio" ]; then > + if [ -z "$radio" ] ; then Das ist eine nutzlose Änderung.. > echo "Can't create radio for $phy" > > exit 1 > > fi > > > - if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0"; then > + if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0" ; then Das ist eine nutzlose Änderung.. Tim > echo "Can't add AP interface on $radio." > > exit 1 > > fi > > > - if ! wifiAddAdHocMesh "$radio" "batman.do.not.use" "02:CA:FF:EE:BA:BE"; then > > - echo "Can't add AdHocMesh interface on $radio." > > + if ! wifiAddMesh "$radio" "mesh.do.not.use" ; then > > + echo "Can't add Mesh interface on $radio." > > exit 1 > > 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 71f566a..7e418c2 100644 > --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > @@ -84,9 +84,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__ > @@ -178,4 +178,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 > -- > 2.7.4 >
hi hab das ganze gerade noch mal getestet, da ich es schon gerne vor einer Alpha noch mit drin haben möchte. Eingebaut auf den aktuellen Master und dieses Patch dazu. Funktioniert soweit einwandfrei daher auch ein Reviewed-by: Christian Dresel <fff@chrisi01.de> Kleine Anmerkung noch, man könnte theoretisch auch https://github.com/FreifunkFranken/firmware/blob/master/bsp/ar71xx/.config Zeile 88 / 89 CONFIG_PACKAGE_ath10k-firmware-qca9887-ct=m CONFIG_PACKAGE_ath10k-firmware-qca988x-ct=m entfernen. Da es aber eh nur ein m hat und sowieso nur eingebaut wird, wenn man es weiter oben anwählt (zumindest versteh ich den Syntax so, bitte korrigieren wenn falsch), stört es aktuell auch gar nicht. Soll daher das Applien jetzt nicht verhindern aber man muss mal irgendwann drüber nachdenken wie man damit umgeht. P.S. In dem Zustand bekommt der c25 immer noch kein fe80::1 an den config AP gehangen aber ich glaub da gabs schon ein Patch dagegen, sollte man dann am besten auch noch einbauen bevor Alpha (hat jetzt aber eigentlich hier grad gar nix zu suchen) mfg Christian On 15.10.2017 11:27, Adrian Schmutzler wrote: > From: Fabian Blaese <fabian@blaese.de> > > 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 > > Update in v7: > - Remove ath10k-ct > - Remove changes to community file > > Update in v8: > - Revert removing ath10k-ct kmod > > Update in v9: > - Rebase > - Use 11s as initial interface during boot (merge with > remainder of initial setup patch) > --- > bsp/ar71xx/.config | 4 +-- > .../fff/fff-hoods/files/usr/sbin/configurehood | 22 +++++++++--- > .../files/etc/uci-defaults/60-fff-wireless | 8 ++--- > .../fff-wireless/files/lib/functions/fff/wireless | 40 ++++++++++++++++++++-- > 4 files changed, 61 insertions(+), 13 deletions(-) > > diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config > index b407f7d..0a5b9b9 100644 > --- a/bsp/ar71xx/.config > +++ b/bsp/ar71xx/.config > @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl-ar150="" > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y > -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k-firmware-qca9887-ct" > +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct" > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c7-v2=y > -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c7-v2="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca988x ath10k-firmware-qca988x-ct" > +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c7-v2="-kmod-ath10k kmod-ath10k-ct" > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe210-220=y > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_cpe210-220="" > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe510-520=y > diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > index 63580b1..8ce9133 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/etc/uci-defaults/60-fff-wireless b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless > index 8070cb4..7e2fcf9 100644 > --- a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless > +++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless > @@ -13,18 +13,18 @@ for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do > radio="$(wifiAddPhyCond "$phy" "2" "1")" > radio5="$(wifiAddPhyCond "$phy" "5" "36")" > [ -n "$radio5" ] && radio="$radio5" > - if [ -z "$radio" ]; then > + if [ -z "$radio" ] ; then > echo "Can't create radio for $phy" > exit 1 > fi > > - if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0"; then > + if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0" ; then > echo "Can't add AP interface on $radio." > exit 1 > fi > > - if ! wifiAddAdHocMesh "$radio" "batman.do.not.use" "02:CA:FF:EE:BA:BE"; then > - echo "Can't add AdHocMesh interface on $radio." > + if ! wifiAddMesh "$radio" "mesh.do.not.use" ; then > + echo "Can't add Mesh interface on $radio." > exit 1 > 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 71f566a..7e418c2 100644 > --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > @@ -84,9 +84,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__ > @@ -178,4 +178,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 On 15.10.2017 18:27, Tim Niemeyer wrote: > Hi > > Am Sonntag, den 15.10.2017, 11:27 +0200 schrieb Adrian Schmutzler: >>> From: Fabian Blaese <fabian@blaese.de> >> >>> 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 >> >> Update in v7: >> - Remove ath10k-ct >> - Remove changes to community file >> >> Update in v8: >> - Revert removing ath10k-ct kmod >> >> Update in v9: >> - Rebase >> - Use 11s as initial interface during boot (merge with >> remainder of initial setup patch) >> --- >> bsp/ar71xx/.config | 4 +-- >> .../fff/fff-hoods/files/usr/sbin/configurehood | 22 +++++++++--- >> .../files/etc/uci-defaults/60-fff-wireless | 8 ++--- >> .../fff-wireless/files/lib/functions/fff/wireless | 40 ++++++++++++++++++++-- >> 4 files changed, 61 insertions(+), 13 deletions(-) >> >> diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config >> index b407f7d..0a5b9b9 100644 >> --- a/bsp/ar71xx/.config >> +++ b/bsp/ar71xx/.config >> @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y >> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl-ar150="" >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y >> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k-firmware-qca9887-ct" >> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct" > Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, ich > hätte stumpf die Invertierung erwartet: > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k-firmware-qca9887-ct" > > Warum ist meine Annahme falsch? ja Adrian antwortet hoffentlich gleich drauf ;) > >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c7-v2=y >> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c7-v2="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca988x ath10k-firmware-qca988x-ct" >> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c7-v2="-kmod-ath10k kmod-ath10k-ct" > s.o. > >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe210-220=y >> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_cpe210-220="" >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe510-520=y >> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood >> index 63580b1..8ce9133 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" > Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man sollte > mal testen, was dann konkret passiert. Wenn durch das Aktivieren von > ibss auf einem ath10k mit 11s Firmware irgendwelche Nebeneffekte > passieren wäre das hinlänglich doof. > > Wäre das der Fall, müsste man hier die Kompatibilität prüfen! Soviel ich noch im Kopf habe wird mit der falschen Firmware dann einfach gar kein AdHoc/11s Netz aufgemacht und nur der Accesspoint startet. D.h. wenn ich die 11s Firmware drinnen habe und im ibss lande, gibts einfach gar kein AdHoc Netz, andersherum genauso. mfg Christian > >> + 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/etc/uci-defaults/60-fff-wireless b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless >> index 8070cb4..7e2fcf9 100644 >> --- a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless >> +++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless >> @@ -13,18 +13,18 @@ for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do >>> radio="$(wifiAddPhyCond "$phy" "2" "1")" >>> radio5="$(wifiAddPhyCond "$phy" "5" "36")" >>> [ -n "$radio5" ] && radio="$radio5" >>> - if [ -z "$radio" ]; then >> + if [ -z "$radio" ] ; then > Das ist eine nutzlose Änderung.. > >> echo "Can't create radio for $phy" >>> exit 1 >>> fi >> >>> - if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0"; then >> + if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0" ; then > Das ist eine nutzlose Änderung.. > > Tim > >> echo "Can't add AP interface on $radio." >>> exit 1 >>> fi >> >>> - if ! wifiAddAdHocMesh "$radio" "batman.do.not.use" "02:CA:FF:EE:BA:BE"; then >>> - echo "Can't add AdHocMesh interface on $radio." >>> + if ! wifiAddMesh "$radio" "mesh.do.not.use" ; then >>> + echo "Can't add Mesh interface on $radio." >>> exit 1 >>> 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 71f566a..7e418c2 100644 >> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless >> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless >> @@ -84,9 +84,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__ >> @@ -178,4 +178,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 >> -- >> 2.7.4 >> >>
Hallo, siehe unten. > -----Original Message----- > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf > Of Christian Dresel > Sent: Sonntag, 15. Oktober 2017 18:33 > To: Tim Niemeyer <tim@tn-x.org>; franken-dev@freifunk.net; Adrian > Schmutzler <freifunk@adrianschmutzler.de> > Subject: Re: [PATCH v9] Support batman-adv meshing over 802.11s > > hi > > On 15.10.2017 18:27, Tim Niemeyer wrote: > > Hi > > > > Am Sonntag, den 15.10.2017, 11:27 +0200 schrieb Adrian Schmutzler: > >>> From: Fabian Blaese <fabian@blaese.de> > >> > >>> 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 > >> > >> Update in v7: > >> - Remove ath10k-ct > >> - Remove changes to community file > >> > >> Update in v8: > >> - Revert removing ath10k-ct kmod > >> > >> Update in v9: > >> - Rebase > >> - Use 11s as initial interface during boot (merge with > >> remainder of initial setup patch) > >> --- > >> bsp/ar71xx/.config | 4 +-- > >> .../fff/fff-hoods/files/usr/sbin/configurehood | 22 +++++++++--- > >> .../files/etc/uci-defaults/60-fff-wireless | 8 ++--- > >> .../fff-wireless/files/lib/functions/fff/wireless | 40 > >> ++++++++++++++++++++-- > >> 4 files changed, 61 insertions(+), 13 deletions(-) > >> > >> diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config index > >> b407f7d..0a5b9b9 100644 > >> --- a/bsp/ar71xx/.config > >> +++ b/bsp/ar71xx/.config > >> @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y > >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y > >> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl- > ar150="" > >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y > >> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- > c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k- > firmware-qca9887-ct" > >> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- > c25-v1="-kmod-ath10k kmod-ath10k-ct" > > Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, > > ich hätte stumpf die Invertierung erwartet: > > > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- > c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k- > firmware-qca9887-ct" > > > > Warum ist meine Annahme falsch? > > ja Adrian antwortet hoffentlich gleich drauf ;) Das hat fblaese geändert, ich hab da keine Ahnung von, mein C25 geht mit keiner Config richtig. > > > > >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c7-v2=y > >> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- > c7-v2="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca988x ath10k- > firmware-qca988x-ct" > >> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- > c7-v2="-kmod-ath10k kmod-ath10k-ct" > > s.o. > > > >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe210-220=y > >> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_cpe210- > 220="" > >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_cpe510-520=y > >> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > >> b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood > >> index 63580b1..8ce9133 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" > > Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man > > sollte mal testen, was dann konkret passiert. Wenn durch das > > Aktivieren von ibss auf einem ath10k mit 11s Firmware irgendwelche > > Nebeneffekte passieren wäre das hinlänglich doof. > > > > Wäre das der Fall, müsste man hier die Kompatibilität prüfen! > > Soviel ich noch im Kopf habe wird mit der falschen Firmware dann einfach gar > kein AdHoc/11s Netz aufgemacht und nur der Accesspoint startet. > > > D.h. wenn ich die 11s Firmware drinnen habe und im ibss lande, gibts einfach > gar kein AdHoc Netz, andersherum genauso. Habe ich nie getestet, da das mit meinem C25 keinen Sinn macht. Grüße Adrian > > mfg > > Christian > > > > >> + 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/etc/uci-defaults/60-fff-wireles > >> s > >> b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireles > >> s > >> index 8070cb4..7e2fcf9 100644 > >> --- > >> a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireles > >> s > >> +++ b/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wir > >> +++ eless > >> @@ -13,18 +13,18 @@ for phy in $(iw phy | awk '/^Wiphy/{ print $2 > >> }'); do > >>> radio="$(wifiAddPhyCond "$phy" "2" "1")" > >>> radio5="$(wifiAddPhyCond "$phy" "5" "36")" > >>> [ -n "$radio5" ] && radio="$radio5" > >>> - if [ -z "$radio" ]; then > >> + if [ -z "$radio" ] ; then > > Das ist eine nutzlose Änderung.. > > > >> echo "Can't create radio for $phy" > >>> exit 1 > >>> fi > >> > >>> - if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0"; then > >> + if ! wifiAddAP "$radio" "do.not.use" "mesh" "ap" "0" ; then > > Das ist eine nutzlose Änderung.. > > > > Tim > > > >> echo "Can't add AP interface on $radio." > >>> exit 1 > >>> fi > >> > >>> - if ! wifiAddAdHocMesh "$radio" "batman.do.not.use" > "02:CA:FF:EE:BA:BE"; then > >>> - echo "Can't add AdHocMesh interface on $radio." > >>> + if ! wifiAddMesh "$radio" "mesh.do.not.use" ; then > >>> + echo "Can't add Mesh interface on $radio." > >>> exit 1 > >>> 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 71f566a..7e418c2 100644 > >> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > >> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless > >> @@ -84,9 +84,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__ > >> @@ -178,4 +178,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 > >> -- > >> 2.7.4 > >> > >>
Hallo Tim, >> diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config >> index b407f7d..0a5b9b9 100644 >> --- a/bsp/ar71xx/.config >> +++ b/bsp/ar71xx/.config >> @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y >> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl-ar150="" >> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y >> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k-firmware-qca9887-ct" >> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct" > Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, ich > hätte stumpf die Invertierung erwartet: > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k-firmware-qca9887-ct" > > Warum ist meine Annahme falsch? Weil diese Pakete per default drin sind, deswegen muss für den CT ja auch das “normale” raus (-kmod-ath10k) Siehe auch: https://github.com/lede-project/source/blob/1c4a116a300d5447bf037760f64653556824ab77/target/linux/ar71xx/image/tp-link.mk#L108 <https://github.com/lede-project/source/blob/1c4a116a300d5447bf037760f64653556824ab77/target/linux/ar71xx/image/tp-link.mk#L108> Was genau war am normalerweise eingebauten Treiber eigentlich schlecht? >> @@ -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" > Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man sollte > mal testen, was dann konkret passiert. Wenn durch das Aktivieren von > ibss auf einem ath10k mit 11s Firmware irgendwelche Nebeneffekte > passieren wäre das hinlänglich doof. > > Wäre das der Fall, müsste man hier die Kompatibilität prüfen! Ja, das muss auf jeden Fall getestet werden. Ich dachte eigentlich, dass ich das irgendwo mit dazu geschrieben hätte, aber scheinbar hab ich das vergessen. Fabian
Hi Am Sonntag, den 15.10.2017, 18:58 +0200 schrieb Fabian Bläse: > Hallo Tim, > > > > diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config > > > index b407f7d..0a5b9b9 100644 > > > --- a/bsp/ar71xx/.config > > > +++ b/bsp/ar71xx/.config > > > @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y > > > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y > > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl-ar150="" > > > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y > > > -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k-firmware-qca9887-ct" > > > +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct" > > Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, ich > > hätte stumpf die Invertierung erwartet: > > > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k-firmware-qca9887-ct" > > > > Warum ist meine Annahme falsch? > > Weil diese Pakete per default drin sind, deswegen muss für den CT ja auch das “normale” raus (-kmod-ath10k) Ah, ja das ergibt Sinn! Dann würde ich jetzt annehmen, dass das so sein müsste: CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="" Die kmod-ath10k ath10k-firmware-qca9887 sind ja beide schon drin und die *-ct Dinger sind ja eh nur ein Modul. Also per default auch nicht drin. Wobei ich mich dann auch Christians Anmerkung anschließen würde und die *-ct Pakete ganz aus der Config abwählen würde. > Siehe auch: https://github.com/lede-project/source/blob/1c4a116a300d5447bf037760f64653556824ab77/target/linux/ar71xx/image/tp-link.mk#L108 > Was genau war am normalerweise eingebauten Treiber eigentlich schlecht? Nach meinem Verständnis: Der "ohne -ct" Treiber kann zwar 11s aber kein ibss, der "-ct" kann es. Ganz sicher bin ich mir aber nicht.. > > > > @@ -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" > > Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man sollte > > mal testen, was dann konkret passiert. Wenn durch das Aktivieren von > > ibss auf einem ath10k mit 11s Firmware irgendwelche Nebeneffekte > > passieren wäre das hinlänglich doof. > > > > Wäre das der Fall, müsste man hier die Kompatibilität prüfen! > > Ja, das muss auf jeden Fall getestet werden. Ich dachte eigentlich, > dass ich das irgendwo mit dazu geschrieben hätte, aber scheinbar hab > ich das vergessen. Shit! Dann müssen wir irgendwo hinterlegen, welche Geräte mit welchem Type kompatibel sind. Wenn wir den Aufwand nicht wollen, stelle ich nochmal zur Diskussion auf ibss ganz zu verzichten. Der Nachteil ist, dass wir keine wirkliche Field-Test Erfahrung mit 11s haben. Der Vorteil ist aber eine deutlich gesunkene Komplexität. Im Moment müssen die Knoten eh mit allem kompatibel sein, weil es eigentlich gar keine Alternative gibt. Beim dezKeyX könnte der Knoten einfach die nächste Hood nehmen. Hier nicht. Tim
hi On 15.10.2017 19:06, Tim Niemeyer wrote: > Hi > > Am Sonntag, den 15.10.2017, 18:58 +0200 schrieb Fabian Bläse: >> Hallo Tim, >> >>>> diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config >>>> index b407f7d..0a5b9b9 100644 >>>> --- a/bsp/ar71xx/.config >>>> +++ b/bsp/ar71xx/.config >>>> @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y >>>> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y >>>> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl-ar150="" >>>> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y >>>> -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k-firmware-qca9887-ct" >>>> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct" >>> Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, ich >>> hätte stumpf die Invertierung erwartet: >>> >>> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k-firmware-qca9887-ct" >>> >>> Warum ist meine Annahme falsch? >> >> Weil diese Pakete per default drin sind, deswegen muss für den CT ja auch das “normale” raus (-kmod-ath10k) > Ah, ja das ergibt Sinn! > > Dann würde ich jetzt annehmen, dass das so sein müsste: > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="" ich habs mir von Gluon abgeguckt und die setzen beim kmod IMMER den -ct ein (auch bei ibss) warum, weshalb? Weiß ich gerade nicht. Daher bin ich der Meinung wie oben richtig. (ohne es anders getestet zu haben aber wie oben tut es auf jeden Fall richtig, auch getestet) > > Die kmod-ath10k ath10k-firmware-qca9887 sind ja beide schon drin und > die *-ct Dinger sind ja eh nur ein Modul. Also per default auch nicht > drin. Wobei ich mich dann auch Christians Anmerkung anschließen würde > und die *-ct Pakete ganz aus der Config abwählen würde.> >> Siehe auch: https://github.com/lede-project/source/blob/1c4a116a300d5447bf037760f64653556824ab77/target/linux/ar71xx/image/tp-link.mk#L108 >> Was genau war am normalerweise eingebauten Treiber eigentlich schlecht? > Nach meinem Verständnis: Der "ohne -ct" Treiber kann zwar 11s aber kein > ibss, der "-ct" kann es. Ganz sicher bin ich mir aber nicht.. ja gilt aber wohl nur für Firmware, für den kmod weiß ich es auch nicht exakt was da der Unterschied ist. > >> >>>> @@ -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" >>> Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man sollte >>> mal testen, was dann konkret passiert. Wenn durch das Aktivieren von >>> ibss auf einem ath10k mit 11s Firmware irgendwelche Nebeneffekte >>> passieren wäre das hinlänglich doof. >>> >>> Wäre das der Fall, müsste man hier die Kompatibilität prüfen! >> >> Ja, das muss auf jeden Fall getestet werden. Ich dachte eigentlich, >> dass ich das irgendwo mit dazu geschrieben hätte, aber scheinbar hab >> ich das vergessen. > Shit! Dann müssen wir irgendwo hinterlegen, welche Geräte mit welchem > Type kompatibel sind. > > Wenn wir den Aufwand nicht wollen, stelle ich nochmal zur Diskussion > auf ibss ganz zu verzichten. Der Nachteil ist, dass wir keine wirkliche > Field-Test Erfahrung mit 11s haben. Der Vorteil ist aber eine deutlich > gesunkene Komplexität. > > Im Moment müssen die Knoten eh mit allem kompatibel sein, weil es > eigentlich gar keine Alternative gibt. Beim dezKeyX könnte der Knoten > einfach die nächste Hood nehmen. Hier nicht. also wegen mir kann ibss auch ganz fallen, ich bin da für alles offen. mfg Christian > > Tim > > >
Hallo, ich bin dafür, die Flexibilität beizubehalten und sowohl 11s als auch ibss anzubieten. Im Moment sind ja nur 2 (Nischen-)Geräte betroffen, wenn ich das richtig verstanden habe. Grüße Adrian > -----Original Message----- > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf > Of Christian Dresel > Sent: Sonntag, 15. Oktober 2017 19:12 > To: Tim Niemeyer <tim@tn-x.org>; franken-dev@freifunk.net; Fabian Bläse > <fabian@blaese.de> > Subject: Re: [PATCH v9] Support batman-adv meshing over 802.11s > > hi > > On 15.10.2017 19:06, Tim Niemeyer wrote: > > Hi > > > > Am Sonntag, den 15.10.2017, 18:58 +0200 schrieb Fabian Bläse: > >> Hallo Tim, > >> > >>>> diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config index > >>>> b407f7d..0a5b9b9 100644 > >>>> --- a/bsp/ar71xx/.config > >>>> +++ b/bsp/ar71xx/.config > >>>> @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y > >>>> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y > >>>> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl- > ar150="" > >>>> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y > >>>> - > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25- > v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k- > firmware-qca9887-ct" > >>>> > +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25- > v1="-kmod-ath10k kmod-ath10k-ct" > >>> Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, > >>> ich hätte stumpf die Invertierung erwartet: > >>> > >>> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- > c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k- > firmware-qca9887-ct" > >>> > >>> Warum ist meine Annahme falsch? > >> > >> Weil diese Pakete per default drin sind, deswegen muss für den CT ja > >> auch das “normale” raus (-kmod-ath10k) > > Ah, ja das ergibt Sinn! > > > > Dann würde ich jetzt annehmen, dass das so sein müsste: > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- > c25-v1="" > > ich habs mir von Gluon abgeguckt und die setzen beim kmod IMMER den -ct > ein (auch bei ibss) warum, weshalb? Weiß ich gerade nicht. Daher bin ich der > Meinung wie oben richtig. (ohne es anders getestet zu haben aber wie oben > tut es auf jeden Fall richtig, auch getestet) > > > > > Die kmod-ath10k ath10k-firmware-qca9887 sind ja beide schon drin und > > die *-ct Dinger sind ja eh nur ein Modul. Also per default auch nicht > > drin. Wobei ich mich dann auch Christians Anmerkung anschließen würde > > und die *-ct Pakete ganz aus der Config abwählen würde.> > >> Siehe auch: > >> https://github.com/lede- > project/source/blob/1c4a116a300d5447bf037760f > >> 64653556824ab77/target/linux/ar71xx/image/tp-link.mk#L108 > >> Was genau war am normalerweise eingebauten Treiber eigentlich > schlecht? > > Nach meinem Verständnis: Der "ohne -ct" Treiber kann zwar 11s aber > > kein ibss, der "-ct" kann es. Ganz sicher bin ich mir aber nicht.. > > ja gilt aber wohl nur für Firmware, für den kmod weiß ich es auch nicht exakt > was da der Unterschied ist. > > > > >> > >>>> @@ -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" > >>> Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man > >>> sollte mal testen, was dann konkret passiert. Wenn durch das > >>> Aktivieren von ibss auf einem ath10k mit 11s Firmware irgendwelche > >>> Nebeneffekte passieren wäre das hinlänglich doof. > >>> > >>> Wäre das der Fall, müsste man hier die Kompatibilität prüfen! > >> > >> Ja, das muss auf jeden Fall getestet werden. Ich dachte eigentlich, > >> dass ich das irgendwo mit dazu geschrieben hätte, aber scheinbar hab > >> ich das vergessen. > > Shit! Dann müssen wir irgendwo hinterlegen, welche Geräte mit welchem > > Type kompatibel sind. > > > > Wenn wir den Aufwand nicht wollen, stelle ich nochmal zur Diskussion > > auf ibss ganz zu verzichten. Der Nachteil ist, dass wir keine > > wirkliche Field-Test Erfahrung mit 11s haben. Der Vorteil ist aber > > eine deutlich gesunkene Komplexität. > > > > Im Moment müssen die Knoten eh mit allem kompatibel sein, weil es > > eigentlich gar keine Alternative gibt. Beim dezKeyX könnte der Knoten > > einfach die nächste Hood nehmen. Hier nicht. > > also wegen mir kann ibss auch ganz fallen, ich bin da für alles offen. > > mfg > > Christian > > > > > Tim > > > > > >
Ich wäre auch dafür, zumindest zunächst die Flexibilität im Code beizubehalten und das bei den known-issues oder so mit aufzunehmen, welche Geräte nicht IBSS sprechen. Aber auf jeden Fall sollten alle neuen zentralen Hoods auf 11s setzen. Fabian > On 16. Oct 2017, at 12:25, Adrian Schmutzler <mail@adrianschmutzler.de> wrote: > > Hallo, > > ich bin dafür, die Flexibilität beizubehalten und sowohl 11s als auch ibss anzubieten. > > Im Moment sind ja nur 2 (Nischen-)Geräte betroffen, wenn ich das richtig verstanden habe. > > Grüße > > Adrian > >> -----Original Message----- >> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf >> Of Christian Dresel >> Sent: Sonntag, 15. Oktober 2017 19:12 >> To: Tim Niemeyer <tim@tn-x.org>; franken-dev@freifunk.net; Fabian Bläse >> <fabian@blaese.de> >> Subject: Re: [PATCH v9] Support batman-adv meshing over 802.11s >> >> hi >> >> On 15.10.2017 19:06, Tim Niemeyer wrote: >>> Hi >>> >>> Am Sonntag, den 15.10.2017, 18:58 +0200 schrieb Fabian Bläse: >>>> Hallo Tim, >>>> >>>>>> diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config index >>>>>> b407f7d..0a5b9b9 100644 >>>>>> --- a/bsp/ar71xx/.config >>>>>> +++ b/bsp/ar71xx/.config >>>>>> @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y >>>>>> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y >>>>>> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl- >> ar150="" >>>>>> CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y >>>>>> - >> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25- >> v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k- >> firmware-qca9887-ct" >>>>>> >> +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25- >> v1="-kmod-ath10k kmod-ath10k-ct" >>>>> Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, >>>>> ich hätte stumpf die Invertierung erwartet: >>>>> >>>>> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- >> c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k- >> firmware-qca9887-ct" >>>>> >>>>> Warum ist meine Annahme falsch? >>>> >>>> Weil diese Pakete per default drin sind, deswegen muss für den CT ja >>>> auch das “normale” raus (-kmod-ath10k) >>> Ah, ja das ergibt Sinn! >>> >>> Dann würde ich jetzt annehmen, dass das so sein müsste: >>> CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer- >> c25-v1="" >> >> ich habs mir von Gluon abgeguckt und die setzen beim kmod IMMER den -ct >> ein (auch bei ibss) warum, weshalb? Weiß ich gerade nicht. Daher bin ich der >> Meinung wie oben richtig. (ohne es anders getestet zu haben aber wie oben >> tut es auf jeden Fall richtig, auch getestet) >> >>> >>> Die kmod-ath10k ath10k-firmware-qca9887 sind ja beide schon drin und >>> die *-ct Dinger sind ja eh nur ein Modul. Also per default auch nicht >>> drin. Wobei ich mich dann auch Christians Anmerkung anschließen würde >>> und die *-ct Pakete ganz aus der Config abwählen würde.> >>>> Siehe auch: >>>> https://github.com/lede- >> project/source/blob/1c4a116a300d5447bf037760f >>>> 64653556824ab77/target/linux/ar71xx/image/tp-link.mk#L108 >>>> Was genau war am normalerweise eingebauten Treiber eigentlich >> schlecht? >>> Nach meinem Verständnis: Der "ohne -ct" Treiber kann zwar 11s aber >>> kein ibss, der "-ct" kann es. Ganz sicher bin ich mir aber nicht.. >> >> ja gilt aber wohl nur für Firmware, für den kmod weiß ich es auch nicht exakt >> was da der Unterschied ist. >> >>> >>>> >>>>>> @@ -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" >>>>> Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man >>>>> sollte mal testen, was dann konkret passiert. Wenn durch das >>>>> Aktivieren von ibss auf einem ath10k mit 11s Firmware irgendwelche >>>>> Nebeneffekte passieren wäre das hinlänglich doof. >>>>> >>>>> Wäre das der Fall, müsste man hier die Kompatibilität prüfen! >>>> >>>> Ja, das muss auf jeden Fall getestet werden. Ich dachte eigentlich, >>>> dass ich das irgendwo mit dazu geschrieben hätte, aber scheinbar hab >>>> ich das vergessen. >>> Shit! Dann müssen wir irgendwo hinterlegen, welche Geräte mit welchem >>> Type kompatibel sind. >>> >>> Wenn wir den Aufwand nicht wollen, stelle ich nochmal zur Diskussion >>> auf ibss ganz zu verzichten. Der Nachteil ist, dass wir keine >>> wirkliche Field-Test Erfahrung mit 11s haben. Der Vorteil ist aber >>> eine deutlich gesunkene Komplexität. >>> >>> Im Moment müssen die Knoten eh mit allem kompatibel sein, weil es >>> eigentlich gar keine Alternative gibt. Beim dezKeyX könnte der Knoten >>> einfach die nächste Hood nehmen. Hier nicht. >> >> also wegen mir kann ibss auch ganz fallen, ich bin da für alles offen. >> >> mfg >> >> Christian >> >>> >>> Tim >>> >>> >>> > > > -- > franken-dev mailing list > franken-dev@freifunk.net > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
Am Sonntag, den 15.10.2017, 19:11 +0200 schrieb Christian Dresel: > hi > > On 15.10.2017 19:06, Tim Niemeyer wrote: > > Hi > > > > Am Sonntag, den 15.10.2017, 18:58 +0200 schrieb Fabian Bläse: > > > Hallo Tim, > > > > > > > > diff --git a/bsp/ar71xx/.config b/bsp/ar71xx/.config > > > > > index b407f7d..0a5b9b9 100644 > > > > > --- a/bsp/ar71xx/.config > > > > > +++ b/bsp/ar71xx/.config > > > > > @@ -7,9 +7,9 @@ CONFIG_TARGET_MULTI_PROFILE=y > > > > > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_gl-ar150=y > > > > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_gl-ar150="" > > > > > CONFIG_TARGET_DEVICE_ar71xx_generic_DEVICE_archer-c25-v1=y > > > > > -CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct -ath10k-firmware-qca9887 ath10k-firmware-qca9887-ct" > > > > > +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="-kmod-ath10k kmod-ath10k-ct" > > > > > > > > Es braucht kein Firmware Package? Wie auch immer dies zu lesen ist, ich > > > > hätte stumpf die Invertierung erwartet: > > > > > > > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="kmod-ath10k -kmod-ath10k-ct ath10k-firmware-qca9887 -ath10k-firmware-qca9887-ct" > > > > > > > > Warum ist meine Annahme falsch? > > > > > > Weil diese Pakete per default drin sind, deswegen muss für den CT ja auch das “normale” raus (-kmod-ath10k) > > > > Ah, ja das ergibt Sinn! > > > > Dann würde ich jetzt annehmen, dass das so sein müsste: > > CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_generic_DEVICE_archer-c25-v1="" > > ich habs mir von Gluon abgeguckt und die setzen beim kmod IMMER den -ct > ein (auch bei ibss) warum, weshalb? Weiß ich gerade nicht. Daher bin ich > der Meinung wie oben richtig. (ohne es anders getestet zu haben aber wie > oben tut es auf jeden Fall richtig, auch getestet) Ok, da es getestet wurde.. Und wegen dem mesh_type = adhoc und dem ath10k scheint der Konsens ja zunächst zu sein mit Known-Issue zu fahren.. .. Patch applied. Tim > > > > > Die kmod-ath10k ath10k-firmware-qca9887 sind ja beide schon drin und > > die *-ct Dinger sind ja eh nur ein Modul. Also per default auch nicht > > drin. Wobei ich mich dann auch Christians Anmerkung anschließen würde > > und die *-ct Pakete ganz aus der Config abwählen würde.> > > > Siehe auch: https://github.com/lede-project/source/blob/1c4a116a300d5447bf037760f64653556824ab77/target/linux/ar71xx/image/tp-link.mk#L108 > > > Was genau war am normalerweise eingebauten Treiber eigentlich schlecht? > > > > Nach meinem Verständnis: Der "ohne -ct" Treiber kann zwar 11s aber kein > > ibss, der "-ct" kann es. Ganz sicher bin ich mir aber nicht.. > > ja gilt aber wohl nur für Firmware, für den kmod weiß ich es auch nicht > exakt was da der Unterschied ist. > > > > > > > > > > > @@ -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" > > > > > > > > Das würde in dem Fall der ath10k Geräte nicht funktionieren. Man sollte > > > > mal testen, was dann konkret passiert. Wenn durch das Aktivieren von > > > > ibss auf einem ath10k mit 11s Firmware irgendwelche Nebeneffekte > > > > passieren wäre das hinlänglich doof. > > > > > > > > Wäre das der Fall, müsste man hier die Kompatibilität prüfen! > > > > > > Ja, das muss auf jeden Fall getestet werden. Ich dachte eigentlich, > > > dass ich das irgendwo mit dazu geschrieben hätte, aber scheinbar hab > > > ich das vergessen. > > > > Shit! Dann müssen wir irgendwo hinterlegen, welche Geräte mit welchem > > Type kompatibel sind. > > > > Wenn wir den Aufwand nicht wollen, stelle ich nochmal zur Diskussion > > auf ibss ganz zu verzichten. Der Nachteil ist, dass wir keine wirkliche > > Field-Test Erfahrung mit 11s haben. Der Vorteil ist aber eine deutlich > > gesunkene Komplexität. > > > > Im Moment müssen die Knoten eh mit allem kompatibel sein, weil es > > eigentlich gar keine Alternative gibt. Beim dezKeyX könnte der Knoten > > einfach die nächste Hood nehmen. Hier nicht. > > also wegen mir kann ibss auch ganz fallen, ich bin da für alles offen. > > mfg > > Christian > > > > > Tim > > > > > > > >
> Und wegen dem mesh_type = adhoc und dem ath10k scheint der Konsens ja > zunächst zu sein mit Known-Issue zu fahren.. mesh_type = ibss, aber ja. ;) Fabian