firmware/src/packages/fff/fff-wireless/files/etc/uci-defaults/24a-fff-wireless

86 lines
2.5 KiB
Plaintext

# Copyright 2016 Tim Niemeyer
# Copyright 2019 Adrian Schmutzler
# License GPLv3
. /lib/functions.sh
. /lib/functions/fff/wireless
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"
# detect 802.11ac capable radio and set htmode appropriately
local htmode="HT20"
uci -q get wireless.${radio}.htmode | grep VHT && htmode="VHT20"
# Comments
# wXmesh: use 802.11s mesh as "default"
uci batch <<-__EOF__
set wireless.${radio}.htmode='${htmode}'
set wireless.${radio}.country='DE'
set wireless.${radio}.disabled='0'
set wireless.w${freq}ap='wifi-iface'
set wireless.w${freq}ap.device='${radio}'
set wireless.w${freq}ap.network='mesh'
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'
set network.w${freq}mesh.proto='batadv_hardif'
set network.w${freq}mesh.master='bat0'
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
exit 0
# vim: set noexpandtab:tabstop=4