summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/base-files/etc/preinit.arch
blob: 2acbe2fb542a3bd91173edc476f5885c4950855a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#
# Copyright (C) 2009 OpenWrt.org
#

. /lib/ar71xx.sh

fetch_mac_from_mtd() {
	local mtd_part=$1
	local lan_env=$2
	local wan_env=$3
	local mtd mac

	mtd=$(grep $mtd_part /proc/mtd | cut -d: -f1)
	[ -z $mtd ] && return

	mac=$(grep $lan_env /dev/$mtd | cut -d= -f2)
	[ ! -z $mac ] && ifconfig eth0 hw ether $mac 2>/dev/null

	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)
		fetch_mac_from_mtd config lan_mac wan_mac
		;;
	wrt160nl)
		fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
		;;
esac