blob: 50f59defe10782864829db3e509180e8fcce2168 (
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#
# 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
}
preinit_set_mac_address() {
case $(ar71xx_board_name) in
c-55|\
c-60)
mac_lan=$(mtd_get_mac_binary art 0)
[ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
;;
dir-615-c1)
fetch_mac_from_mtd config lan_mac wan_mac
echo 1 > /sys/class/leds/dir-615-c1:green:wancpu/brightness
;;
dir-615-i1)
fetch_mac_from_mtd nvram sys_lan_mac sys_wan_mac
;;
mr18)
mac_lan=$(mtd_get_mac_binary_ubi board-config 102)
[ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
;;
r6100)
mac_lan=$(mtd_get_mac_binary caldata 0)
[ -n "$mac_lan" ] && ifconfig eth1 hw ether "$mac_lan"
mac_wan=$(mtd_get_mac_binary caldata 6)
[ -n "$mac_wan" ] && ifconfig eth0 hw ether "$mac_wan"
;;
tew-632brp)
fetch_mac_from_mtd config lan_mac wan_mac
;;
wrt160nl)
fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
;;
z1)
mac_lan=$(mtd_get_mac_binary_ubi board-config 102)
[ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
;;
esac
}
boot_hook_add preinit_main preinit_set_mac_address
|