aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/ar71xx/base-files/etc/preinit.arch16
1 files changed, 11 insertions, 5 deletions
diff --git a/target/linux/ar71xx/base-files/etc/preinit.arch b/target/linux/ar71xx/base-files/etc/preinit.arch
index 6e09039059..2acbe2fb54 100644
--- a/target/linux/ar71xx/base-files/etc/preinit.arch
+++ b/target/linux/ar71xx/base-files/etc/preinit.arch
@@ -4,21 +4,27 @@
. /lib/ar71xx.sh
-tew632brp_init_mac_address() {
+fetch_mac_from_mtd() {
+ local mtd_part=$1
+ local lan_env=$2
+ local wan_env=$3
local mtd mac
- mtd=$(grep config /proc/mtd | cut -d: -f1)
+ mtd=$(grep $mtd_part /proc/mtd | cut -d: -f1)
[ -z $mtd ] && return
- mac=$(grep lan_mac /dev/$mtd | cut -d= -f2)
+ mac=$(grep $lan_env /dev/$mtd | cut -d= -f2)
[ ! -z $mac ] && ifconfig eth0 hw ether $mac 2>/dev/null
- mac=$(grep wan_mac /dev/$mtd | cut -d= -f2)
+ mac=$(grep $wan_env /dev/$mtd | cut -d= -f2)
[ ! -z $mac ] && ifconfig eth1 hw ether $mac 2>/dev/null
}
case $(ar71xx_board_name) in
tew-632brp)
- tew632brp_init_mac_address
+ fetch_mac_from_mtd config lan_mac wan_mac
+ ;;
+ wrt160nl)
+ fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
;;
esac