Message ID | 1504205801-1921-2-git-send-email-fff@chrisi01.de |
---|---|
State | Superseded |
Headers | show |
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" + 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}' + + commit wireless + __EOF__ + + echo "${iface}" +} + # vim: set noexpandtab:tabstop=4
Hallo, zwei Kommentare/Fragen inline. Grüße Adrian > -----Original Message----- > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf > Of Christian Dresel > Sent: Donnerstag, 31. August 2017 20:57 > To: franken-dev@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@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". > + 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... > + > + commit wireless > + __EOF__ > + > + echo "${iface}" > +} > + > # vim: set noexpandtab:tabstop=4 > -- > 2.1.4 > > -- > franken-dev mailing list > franken-dev@freifunk.net > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net
hi On 03.09.2017 14:26, mail@adrianschmutzler.de wrote: > Hallo, > > zwei Kommentare/Fragen inline. > > Grüße > > Adrian > >> -----Original Message----- >> From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf >> Of Christian Dresel >> Sent: Donnerstag, 31. August 2017 20:57 >> To: franken-dev@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@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@freifunk.net >> http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net >
Hi Am Montag, den 04.09.2017, 19:30 +0200 schrieb Christian Dresel: > > > + 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? Hier ist es gut erklärt: https://stackoverflow.com/questions/27920806/how-to-avoid-heredoc-expanding-variables/27921346#27921346 Tim
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@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