[PATCH v6] fff-hoods: Use channel provided by gateway
Fabian Bläse
fabian at blaese.de
Fr Okt 20 00:20:24 CEST 2017
Was wollen wir tun, wenn im json kein Channel drin steht? Aktuell dürfte das recht unschöne Fehlermeldungen geben.
Fabian
> On 19. Oct 2017, at 22:47, <mail at adrianschmutzler.de> <mail at adrianschmutzler.de> wrote:
>
> Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
>
>> -----Original Message-----
>> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
>> Of Fabian Bläse
>> Sent: Donnerstag, 19. Oktober 2017 22:39
>> To: Adrian Schmutzler <freifunk at adrianschmutzler.de>
>> Cc: franken-dev at freifunk.net
>> Subject: Re: [PATCH v6] fff-hoods: Use channel provided by gateway
>>
>> 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
>>>
>
>
> --
> franken-dev mailing list
> franken-dev at freifunk.net
> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
-------------- 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/20171020/f17c85c3/attachment.sig>
Mehr Informationen über die Mailingliste franken-dev