1
0
mirror of https://github.com/freifunk-gluon/packages.git synced 2024-06-20 15:48:29 +02:00
gluon-packages/gluon/gluon-core/files/lib/gluon/upgrade/core/initial/001-sysconfig

43 lines
934 B
Plaintext
Raw Normal View History

#!/bin/sh
. /lib/gluon/functions/sysconfig.sh
. /lib/ar71xx.sh
get_primary_mac() {
case "$(ar71xx_board_name)" in
tl-wdr3600|tl-wdr4300)
cat /sys/class/ieee80211/phy1/macaddress
;;
*)
cat /sys/class/ieee80211/phy0/macaddress
;;
esac
}
iface_exists() {
local name="$1"
ip link show dev "${name//.*/}" >/dev/null 2>&1
}
case "$(ar71xx_board_name)" in
nanostation-m)
# It's more convenient to swap the ports for these devices so WAN is the PoE port
lan_ifname="$(uci get network.wan.ifname)"
wan_ifname="$(uci get network.lan.ifname)"
;;
*)
lan_ifname="$(uci get network.lan.ifname)"
wan_ifname="$(uci get network.wan.ifname)"
;;
esac
if [ -n "$wan_ifname" ] && iface_exists "$wan_ifname"; then
[ -z "$lan_ifname" ] || sysconfig_set lan_ifname "$lan_ifname"
sysconfig_set wan_ifname "$wan_ifname"
else
sysconfig_set wan_ifname "$lan_ifname"
fi
sysconfig_set primary_mac "$(get_primary_mac)"