2016-06-10 23:58:09 +02:00
|
|
|
# Copyright 2016 Tim Niemeyer
|
2019-06-16 16:23:24 +02:00
|
|
|
# Copyright 2019 Adrian Schmutzler
|
2016-06-10 23:58:09 +02:00
|
|
|
# License GPLv3
|
|
|
|
|
2019-06-16 16:23:24 +02:00
|
|
|
. /lib/functions.sh
|
2016-06-10 23:58:09 +02:00
|
|
|
. /lib/functions/fff/wireless
|
|
|
|
|
2019-06-16 16:23:24 +02:00
|
|
|
removeWifiIface() {
|
|
|
|
local name="$1"
|
|
|
|
uci del "wireless.$name"
|
|
|
|
}
|
|
|
|
|
|
|
|
configWifiDevice() {
|
|
|
|
local radio="$1"
|
|
|
|
local freq="$(wifiGetFreq $radio)"
|
|
|
|
|
|
|
|
[ "$freq" = "2" ] && uci set "wireless.${radio}.legacy_rates=0"
|
|
|
|
|
2019-12-03 15:25:09 +01:00
|
|
|
# detect 802.11ac capable radio and set htmode appropriately
|
|
|
|
local htmode="HT20"
|
2019-12-14 21:17:06 +01:00
|
|
|
uci -q get wireless.${radio}.htmode | grep VHT && htmode="VHT20"
|
2019-12-03 15:25:09 +01:00
|
|
|
|
2019-06-16 16:23:24 +02:00
|
|
|
# Comments
|
|
|
|
# wXmesh: use 802.11s mesh as "default"
|
|
|
|
|
|
|
|
uci batch <<-__EOF__
|
2019-12-03 15:25:09 +01:00
|
|
|
set wireless.${radio}.htmode='${htmode}'
|
2019-06-16 16:23:24 +02:00
|
|
|
set wireless.${radio}.country='DE'
|
|
|
|
set wireless.${radio}.disabled='0'
|
|
|
|
|
|
|
|
set wireless.w${freq}ap='wifi-iface'
|
|
|
|
set wireless.w${freq}ap.device='${radio}'
|
2020-12-18 20:49:01 +01:00
|
|
|
set wireless.w${freq}ap.network='client'
|
2019-06-16 16:23:24 +02:00
|
|
|
set wireless.w${freq}ap.ifname='w${freq}ap'
|
|
|
|
set wireless.w${freq}ap.mode='ap'
|
|
|
|
set wireless.w${freq}ap.ssid='noservice.freifunk'
|
|
|
|
set wireless.w${freq}ap.encryption='none'
|
|
|
|
set wireless.w${freq}ap.hidden='0'
|
|
|
|
set wireless.w${freq}ap.disabled='0'
|
|
|
|
|
|
|
|
set network.w${freq}mesh='interface'
|
|
|
|
set network.w${freq}mesh.mtu='1560'
|
2019-03-19 19:43:49 +01:00
|
|
|
set network.w${freq}mesh.proto='batadv_hardif'
|
|
|
|
set network.w${freq}mesh.master='bat0'
|
2019-06-16 16:23:24 +02:00
|
|
|
|
|
|
|
set wireless.w${freq}mesh='wifi-iface'
|
|
|
|
set wireless.w${freq}mesh.device='${radio}'
|
|
|
|
set wireless.w${freq}mesh.network='w${freq}mesh'
|
|
|
|
set wireless.w${freq}mesh.ifname='w${freq}mesh'
|
|
|
|
set wireless.w${freq}mesh.mode='mesh'
|
|
|
|
set wireless.w${freq}mesh.mesh_id='nomesh.freifunk'
|
|
|
|
set wireless.w${freq}mesh.encryption='none'
|
|
|
|
set wireless.w${freq}mesh.mesh_fwding=0
|
|
|
|
set wireless.w${freq}mesh.disabled='0'
|
|
|
|
|
|
|
|
set network.configap${freq}=interface
|
|
|
|
set network.configap${freq}.proto='static'
|
|
|
|
set network.configap${freq}.ip6addr='fe80::1/64'
|
|
|
|
|
|
|
|
set wireless.w${freq}configap='wifi-iface'
|
|
|
|
set wireless.w${freq}configap.device='${radio}'
|
|
|
|
set wireless.w${freq}configap.network='configap${freq}'
|
|
|
|
set wireless.w${freq}configap.ifname='w${freq}configap'
|
|
|
|
set wireless.w${freq}configap.mode='ap'
|
|
|
|
set wireless.w${freq}configap.ssid='config.franken.freifunk.net'
|
|
|
|
set wireless.w${freq}configap.encryption='none'
|
|
|
|
set wireless.w${freq}configap.hidden='1'
|
|
|
|
set wireless.w${freq}configap.disabled='1'
|
|
|
|
__EOF__
|
|
|
|
}
|
|
|
|
|
|
|
|
# Remove WiFi config
|
|
|
|
config_load wireless
|
|
|
|
config_foreach removeWifiIface wifi-iface
|
|
|
|
|
|
|
|
# Set up WiFi devices and interfaces, but leave the latter disabled
|
|
|
|
config_load wireless
|
|
|
|
config_foreach configWifiDevice wifi-device
|
|
|
|
|
|
|
|
uci commit network
|
|
|
|
uci commit wireless
|
2016-06-10 23:58:09 +02:00
|
|
|
|
2020-04-22 16:32:46 +02:00
|
|
|
exit 0
|
|
|
|
|
2016-06-10 23:58:09 +02:00
|
|
|
# vim: set noexpandtab:tabstop=4
|