[PATCH 2/4] Reconfigure fff-wireless for keyxchangev2
Christian Dresel
fff at chrisi01.de
Mo Sep 4 19:30:09 CEST 2017
hi
On 03.09.2017 14:26, mail at adrianschmutzler.de wrote:
> Hallo,
>
> zwei Kommentare/Fragen inline.
>
> Grüße
>
> Adrian
>
>> -----Original Message-----
>> From: franken-dev [mailto:franken-dev-bounces at freifunk.net] On Behalf
>> Of Christian Dresel
>> Sent: Donnerstag, 31. August 2017 20:57
>> To: franken-dev at freifunk.net
>> Subject: [PATCH 2/4] Reconfigure fff-wireless for keyxchangev2
>>
>> Need more parameters in wifiAddAP to add hidden AP Need new function
>> wifiAddSta to add a station and download hoodfile
>>
>> Signed-off-by: Christian Dresel <fff at chrisi01.de>
>> ---
>> .../files/etc/uci-defaults/60-fff-wireless | 43
> ---------------------
>> .../fff-wireless/files/lib/functions/fff/wireless | 44
>> +++++++++++++++++++---
>> 2 files changed, 39 insertions(+), 48 deletions(-) delete mode 100644
>> src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless
>>
>> 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
>> deleted file mode 100644
>> index 8e207a4..0000000
>> --- a/src/packages/fff/fff-wireless/files/etc/uci-defaults/60-fff-wireless
>> +++ /dev/null
>> @@ -1,43 +0,0 @@
>> -#!/bin/sh
>> -# Copyright 2016 Tim Niemeyer
>> -# License GPLv3
>> -
>> -. /lib/functions/fff/wireless
>> -
>> -. /etc/community.cfg
>> -
>> -if ! wifiDelAll; then
>> - echo "Can't delete current wifi setup"
>> - exit 1
>> -fi
>> -
>> -for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
>> - if iw phy "$phy" info | grep -q -m1 "2... MHz"; then
>> - echo "$phy is 2.4 GHz"
>> - radio=$(wifiAddPhy "$phy" "$BATMAN_CHANNEL")
>> - if [ -z "$radio" ]; then
>> - echo "Can't create radio for $phy"
>> - exit 1
>> - fi
>> - fi
>> - if iw phy "$phy" info | grep -q -m1 "5... MHz"; then
>> - echo "$phy is 5 GHz"
>> - radio=$(wifiAddPhy "$phy" "$BATMAN_CHANNEL_5GHZ")
>> - if [ -z "$radio" ]; then
>> - echo "Can't create radio for $phy"
>> - exit 1
>> - fi
>> - fi
>> -
>> - if ! wifiAddAP "$radio" "$ESSID_AP"; then
>> - echo "Can't add AP interface on $radio."
>> - exit 1
>> - fi
>> -
>> - if ! wifiAddAdHocMesh "$radio" "$ESSID_MESH" "$BSSID_MESH";
>> then
>> - echo "Can't add AdHocMesh interface on $radio."
>> - exit 1
>> - fi
>> -done
>> -
>> -# vim: set noexpandtab:tabstop=4
>> 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 59c8ce2..1d403a0 100644
>> --- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
>> +++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
>> @@ -85,28 +85,32 @@ wifiAddAdHocMesh() { }
>>
>> wifiAddAP() {
>> - if [ $# -ne "2" ]
>> + if [ $# -ne "5" ]
>> then
>> - echo "Usage: wifiAddAP <radio> <essid>"
>> + echo "Usage: wifiAddAP <radio> <essid> <network> <iface>
>> <hidden>"
>> return 1
>> fi
>>
>> local radio=$1
>> local essid=$2
>> + local network=$3
>> + local inface=$4
>> + local hidden=$5
>>
>> local channel=$(uci get "wireless.${radio}.channel")
>> - local iface="w2ap"
>> + local iface="w2'${inface}'"
>> if [ "$channel" -gt "14" ]; then
>> - iface="w5ap"
>> + iface="w5'${inface}'"
>> fi
>> uci batch <<-__EOF__
>> set wireless.${iface}='wifi-iface'
>> set wireless.${iface}.device='${radio}'
>> - set wireless.${iface}.network='mesh'
>> + set wireless.${iface}.network='${network}'
>> set wireless.${iface}.ifname='${iface}'
>> set wireless.${iface}.mode='ap'
>> set wireless.${iface}.ssid='${essid}'
>> set wireless.${iface}.encryption='none'
>> + set wireless.${iface}.hidden='${hidden}'
>>
>> commit wireless
>> __EOF__
>> @@ -114,4 +118,34 @@ wifiAddAP() {
>> echo "${iface}"
>> }
>>
>> +wifiAddSta() {
>> + if [ $# -ne "3" ]
>> + then
>> + echo "Usage: wifiAddSta <radio> <essid> <network>"
>> + return 1
>> + fi
>> +
>> + local radio=$1
>> + local essid=$2
>> + local network=$3
>> +
>> + local channel=$(uci get "wireless.${radio}.channel")
>> + local iface="w2Sta"
>
> Ich würde hier das "S" klein schreiben. Erstens wäre es dann konsistent zu
> w2mesh etc. und 2. lese ich so immer erst "w25".
ist notiert und änder ich in der nächsten Version.
>
>> + if [ "$channel" -gt "14" ]; then
>> + iface="w5Sta"
>> + fi
>> + uci batch <<-__EOF__
>> + set wireless.${iface}='wifi-iface'
>> + set wireless.${iface}.device='${radio}'
>> + set wireless.${iface}.network='${network}'
>> + set wireless.${iface}.ifname='${iface}'
>> + set wireless.${iface}.mode='sta'
>> + set wireless.${iface}.ssid='${essid}'
>
> Warum darf man hier Variablen in einfache Anführungszeichen schreiben?
> Normal würde ich sagen, die werden dann nicht ausgewertet...
gute Frage, keine Ahnung. Ich hab mir das einfach von hier C&P:
https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
vielleicht kann es ja jemand anders beantworten?
mfg
Christian
>
>> +
>> + commit wireless
>> + __EOF__
>> +
>> + echo "${iface}"
>> +}
>> +
>> # vim: set noexpandtab:tabstop=4
>> --
>> 2.1.4
>>
>> --
>> franken-dev mailing list
>> franken-dev at freifunk.net
>> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
>
Mehr Informationen über die Mailingliste franken-dev