@@ -3,6 +3,7 @@ BATMAN_CHANNEL_5GHZ=36
ESSID_AP=franken.freifunk.net
ESSID_MESH=batman.franken.freifunk.net
BSSID_MESH=02:CA:FF:EE:BA:BE
+MESH_ID=mesh.franken.freifunk.net
VPN_PROJECT=fff
NTPD_IP=fe80::ff:feee:1%br-mesh
UPGRADE_PATH=http://[fe80::ff:feee:1%br-mesh]/dev/firmware/current
@@ -34,9 +34,18 @@ for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
exit 1
fi
- if ! wifiAddAdHocMesh "$radio" "$ESSID_MESH" "$BSSID_MESH"; then
- echo "Can't add AdHocMesh interface on $radio."
- exit 1
+ if [[ -n "$MESH_ID" ]]; then
+ if ! wifiAddMesh "$radio" "$MESH_ID"; then
+ echo "Can't add Mesh interface on $radio."
+ exit 1
+ fi
+ fi
+
+ if [[ -n "$ESSID_MESH" ]] && [[ -n "$BSSID_MESH" ]]; then
+ if ! wifiAddAdHocMesh "$radio" "$ESSID_MESH" "$BSSID_MESH"; then
+ echo "Can't add AdHocMesh interface on $radio."
+ exit 1
+ fi
fi
done
@@ -56,9 +56,9 @@ wifiAddAdHocMesh() {
local bssid=$3
local channel=$(uci get "wireless.${radio}.channel")
- local iface="w2mesh"
+ local iface="w2ibss"
if [ "$channel" -gt "14" ]; then
- iface="w5mesh"
+ iface="w5ibss"
fi
uci batch <<-__EOF__
@@ -114,4 +114,38 @@ wifiAddAP() {
echo "${iface}"
}
+wifiAddMesh() {
+ if [ $# -ne "2" ]
+ then
+ echo "Usage: wifiAddMesh <radio> <mesh-id>"
+ fi
+
+ local radio=$1
+ local mesh_id=$2
+
+ local channel=$(uci get "wireless.${radio}.channel")
+ local iface="w2mesh"
+ if [ "$channel" -gt "14" ]; then
+ iface="w5mesh"
+ fi
+ uci batch <<-__EOF__
+ set wireless.${iface}='wifi-iface'
+ set wireless.${iface}.device='${radio}'
+ set wireless.${iface}.network='${iface}'
+ set wireless.${iface}.ifname='${iface}'
+ set wireless.${iface}.mode='mesh'
+ set wireless.${iface}.mesh_id='${mesh_id}'
+ set wireless.${iface}.encryption='none'
+ set wireless.${iface}.mesh_fwding=0
+ commit wireless
+
+ set network.${iface}='interface'
+ set network.${iface}.mtu='1528'
+ set network.${iface}.proto='batadv'
+ set network.${iface}.mesh='bat0'
+ commit network
+ __EOF__
+
+ echo "${iface}"
+}
# vim: set noexpandtab:tabstop=4
Update in v2: - Don't add mesh interface to br-mesh Signed-off-by: Fabian Bläse <fabian@blaese.de> --- community/franken.cfg | 1 + .../files/etc/uci-defaults/60-fff-wireless | 15 +++++++-- .../fff-wireless/files/lib/functions/fff/wireless | 38 ++++++++++++++++++++-- 3 files changed, 49 insertions(+), 5 deletions(-)