[SQUASHED PATCH v17 2/8] Reconfigure fff-wireless for keyxchangev2
Tim Niemeyer
tim at tn-x.org
Sa Okt 14 19:19:53 CEST 2017
From: Christian Dresel <fff at chrisi01.de>
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>
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
Signed-off-by: Tim Niemeyer <tim at tn-x.org>
---
Changes in v17:
- Reintroduce initial setup of wireless interfaces. This is required as configurenetwork reads the MAC addresses from the WiFi interfaces.
Changes in v16: None
Changes in v15: None
Changes in v14:
- Removed single quotes in iface
Changes in v13: None
Changes in v12: None
Changes in v11: None
Changes in v10: None
Changes in v9:
- rebase onto 20170918-beta
Changes in v8:
- rebase onto 20170918-beta
Changes in v7: None
Changes in v6: None
Changes in v5:
- wXSta to wXsta
Changes in v4: None
Changes in v3: None
Changes in v2: None
.../files/etc/uci-defaults/60-fff-wireless | 27 ++++---------
.../fff-wireless/files/lib/functions/fff/wireless | 44 +++++++++++++++++++---
2 files changed, 47 insertions(+), 24 deletions(-)
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 8e207a4..8070cb4 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
@@ -4,37 +4,26 @@
. /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
+ radio="$(wifiAddPhyCond "$phy" "2" "1")"
+ radio5="$(wifiAddPhyCond "$phy" "5" "36")"
+ [ -n "$radio5" ] && radio="$radio5"
+ if [ -z "$radio" ]; then
+ echo "Can't create radio for $phy"
+ exit 1
fi
- if ! wifiAddAP "$radio" "$ESSID_AP"; 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" "$ESSID_MESH" "$BSSID_MESH"; then
+ if ! wifiAddAdHocMesh "$radio" "batman.do.not.use" "02:CA:FF:EE:BA:BE"; then
echo "Can't add AdHocMesh interface on $radio."
exit 1
fi
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 76424be..8ba9463 100644
--- a/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
+++ b/src/packages/fff/fff-wireless/files/lib/functions/fff/wireless
@@ -91,28 +91,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__
@@ -120,4 +124,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
--
2.11.0
Mehr Informationen über die Mailingliste franken-dev