forked from freifunk-franken/firmware
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> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This commit is contained in:
parent
60fecf6ea5
commit
1d4dd25341
|
@ -4,37 +4,26 @@
|
||||||
|
|
||||||
. /lib/functions/fff/wireless
|
. /lib/functions/fff/wireless
|
||||||
|
|
||||||
. /etc/community.cfg
|
|
||||||
|
|
||||||
if ! wifiDelAll; then
|
if ! wifiDelAll; then
|
||||||
echo "Can't delete current wifi setup"
|
echo "Can't delete current wifi setup"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
|
for phy in $(iw phy | awk '/^Wiphy/{ print $2 }'); do
|
||||||
if iw phy "$phy" info | grep -q -m1 "2... MHz"; then
|
radio="$(wifiAddPhyCond "$phy" "2" "1")"
|
||||||
echo "$phy is 2.4 GHz"
|
radio5="$(wifiAddPhyCond "$phy" "5" "36")"
|
||||||
radio=$(wifiAddPhy "$phy" "$BATMAN_CHANNEL")
|
[ -n "$radio5" ] && radio="$radio5"
|
||||||
if [ -z "$radio" ]; then
|
if [ -z "$radio" ]; then
|
||||||
echo "Can't create radio for $phy"
|
echo "Can't create radio for $phy"
|
||||||
exit 1
|
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
|
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."
|
echo "Can't add AP interface on $radio."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
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."
|
echo "Can't add AdHocMesh interface on $radio."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -91,28 +91,32 @@ wifiAddAdHocMesh() {
|
||||||
}
|
}
|
||||||
|
|
||||||
wifiAddAP() {
|
wifiAddAP() {
|
||||||
if [ $# -ne "2" ]
|
if [ $# -ne "5" ]
|
||||||
then
|
then
|
||||||
echo "Usage: wifiAddAP <radio> <essid>"
|
echo "Usage: wifiAddAP <radio> <essid> <network> <iface> <hidden>"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
local radio=$1
|
local radio=$1
|
||||||
local essid=$2
|
local essid=$2
|
||||||
|
local network=$3
|
||||||
|
local inface=$4
|
||||||
|
local hidden=$5
|
||||||
|
|
||||||
local channel=$(uci get "wireless.${radio}.channel")
|
local channel=$(uci get "wireless.${radio}.channel")
|
||||||
local iface="w2ap"
|
local iface="w2${inface}"
|
||||||
if [ "$channel" -gt "14" ]; then
|
if [ "$channel" -gt "14" ]; then
|
||||||
iface="w5ap"
|
iface="w5${inface}"
|
||||||
fi
|
fi
|
||||||
uci batch <<-__EOF__
|
uci batch <<-__EOF__
|
||||||
set wireless.${iface}='wifi-iface'
|
set wireless.${iface}='wifi-iface'
|
||||||
set wireless.${iface}.device='${radio}'
|
set wireless.${iface}.device='${radio}'
|
||||||
set wireless.${iface}.network='mesh'
|
set wireless.${iface}.network='${network}'
|
||||||
set wireless.${iface}.ifname='${iface}'
|
set wireless.${iface}.ifname='${iface}'
|
||||||
set wireless.${iface}.mode='ap'
|
set wireless.${iface}.mode='ap'
|
||||||
set wireless.${iface}.ssid='${essid}'
|
set wireless.${iface}.ssid='${essid}'
|
||||||
set wireless.${iface}.encryption='none'
|
set wireless.${iface}.encryption='none'
|
||||||
|
set wireless.${iface}.hidden='${hidden}'
|
||||||
|
|
||||||
commit wireless
|
commit wireless
|
||||||
__EOF__
|
__EOF__
|
||||||
|
@ -120,4 +124,34 @@ wifiAddAP() {
|
||||||
echo "${iface}"
|
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
|
# vim: set noexpandtab:tabstop=4
|
||||||
|
|
Loading…
Reference in New Issue
Block a user