[PATCH v6] fff-hoods: Use channel provided by gateway
Fabian Bläse
fabian at blaese.de
Do Okt 19 22:38:44 CEST 2017
Tested-by: Fabian Bläse <fabian at blaese.de>
> On 15. Oct 2017, at 11:29, Adrian Schmutzler <freifunk at adrianschmutzler.de> wrote:
>
> Changes in v2:
> - rebase due to conflict with 802.11s
>
> Changes in v3:
> - Fix wrong variable name introduced in v2
>
> Changes in v4:
> - Fixed comment
> - Fixed channel comparison for wXsta
>
> Changes in v5:
> - Make radio in wifiAddPhyCond local
>
> Changes in v6:
> - Rebase
>
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
> Signed-off-by: Fabian Bläse <fabian at blaese.de>
> ---
> .../fff/fff-hoods/files/usr/sbin/configurehood | 19 ++++++++++++-------
> .../fff/fff-wireless/files/lib/functions/fff/wireless | 17 ++++++++---------
> 2 files changed, 20 insertions(+), 16 deletions(-)
>
> diff --git a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> index 8ce9133..d64345f 100755
> --- a/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> +++ b/src/packages/fff/fff-hoods/files/usr/sbin/configurehood
> @@ -74,12 +74,17 @@ else
> fi
> #now we look for phy and add this
> 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" "2" "auto")"
> + radio5="$(wifiAddPhyCond "$phy" "5" "auto5")"
> + if [ -n "$radio5" ] ; then
> + radio="$radio5"
> + staiface="w5sta"
> + else
> + staiface="w2sta"
> + fi
>
> #and here we add the station
> - if ! wifiAddSta "$radio" "config.franken.freifunk.net" "configSta"; then
> + if ! wifiAddSta "$radio" "config.franken.freifunk.net" "configSta" "$staiface" ; then
> echo "Can't add Sta interface on $radio."
> exit 1
> else
> @@ -124,11 +129,11 @@ if [ -s /tmp/keyxchangev2data ]; then
> json_get_var mesh_essid mesh_essid
> json_get_var essid essid
> json_get_var ntpip ntp_ip
> - # i think the next things we don't active this in the first version! we can do it later
> - #json_get_var channel2 channel2
> + # Additional parameters may be activated in future versions
> + json_get_var chan2ghz channel2
> #json_get_var mode2 mode2
> json_get_var mesh_type2 mesh_type2
> - #json_get_var channel5 channel5
> + json_get_var chan5ghz channel5
> #json_get_var mode5 mode5
> json_get_var mesh_type5 mesh_type5
> #json_get_var protocol protocol
> 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 7e418c2..b1ff5a9 100644
> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
> @@ -25,7 +25,10 @@ wifiAddPhy() {
> local channel=$2
> local radio="radio$(echo "$phy" | tr -d -C "0-9")"
> local hwmode="11g"
> - if [ "$channel" -gt "14" ]; then
> + if [ "$channel" = "auto5" ] ; then
> + hwmode="11a"
> + channel="auto"
> + elif ( ! [ "$channel" = "auto" ] ) && [ "$channel" -gt "14" ]; then
> hwmode="11a"
> fi
>
> @@ -60,7 +63,7 @@ wifiAddPhyCond() {
> local freq=$2
> local channel=$3
> local radio=""
> -
> +
> if iw phy "$phy" info | grep -q -m1 "${freq}... MHz"; then
> radio="$(wifiAddPhy "$phy" "$channel")"
> if [ -z "$radio" ]; then
> @@ -148,21 +151,17 @@ wifiAddAP() {
> }
>
> wifiAddSta() {
> - if [ $# -ne "3" ]
> + if [ $# -ne "4" ]
> then
> - echo "Usage: wifiAddSta <radio> <essid> <network>"
> + echo "Usage: wifiAddSta <radio> <essid> <network> <iface>"
> return 1
> fi
>
> local radio=$1
> local essid=$2
> local network=$3
> + local iface=$4
>
> - local channel=$(uci get "wireless.${radio}.channel")
> - local iface="w2sta"
> - if [ "$channel" -gt "14" ]; then
> - iface="w5sta"
> - fi
> uci batch <<-__EOF__
> set wireless.${iface}='wifi-iface'
> set wireless.${iface}.device='${radio}'
> --
> 2.7.4
>
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 833 bytes
Beschreibung: Message signed with OpenPGP
URL : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20171019/0abfdcb8/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev