2013-10-01 20:16:24 +02:00
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
. /lib/gluon/functions/sysconfig.sh
|
|
|
|
. /lib/ar71xx.sh
|
|
|
|
|
|
|
|
|
|
|
|
get_primary_mac() {
|
2014-02-28 13:30:18 +01:00
|
|
|
case "$(ar71xx_board_name)" in
|
|
|
|
tl-wdr3600|tl-wdr4300)
|
|
|
|
cat /sys/class/ieee80211/phy1/macaddress
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
cat /sys/class/ieee80211/phy0/macaddress
|
|
|
|
;;
|
|
|
|
esac
|
2013-10-01 20:16:24 +02:00
|
|
|
}
|
|
|
|
|
2014-01-22 22:04:08 +01:00
|
|
|
iface_exists() {
|
|
|
|
local name="$1"
|
|
|
|
ip link show dev "${name//.*/}" >/dev/null 2>&1
|
|
|
|
}
|
|
|
|
|
2014-02-28 13:30:18 +01:00
|
|
|
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
|
2014-01-22 20:44:34 +01:00
|
|
|
|
2014-01-22 22:04:08 +01:00
|
|
|
if [ -n "$wan_ifname" ] && iface_exists "$wan_ifname"; then
|
2014-01-22 20:44:34 +01:00
|
|
|
[ -z "$lan_ifname" ] || sysconfig_set lan_ifname "$lan_ifname"
|
|
|
|
sysconfig_set wan_ifname "$wan_ifname"
|
|
|
|
else
|
|
|
|
sysconfig_set wan_ifname "$lan_ifname"
|
|
|
|
fi
|
2013-10-01 20:16:24 +02:00
|
|
|
|
|
|
|
sysconfig_set primary_mac "$(get_primary_mac)"
|