ar71xx: add support for 8devices Rambutan development board
[openwrt/openwrt.git] / target / linux / ar71xx / base-files / lib / preinit / 05_set_iface_mac_ar71xx
1 #
2 # Copyright (C) 2009 OpenWrt.org
3 #
4
5 . /lib/ar71xx.sh
6
7 fetch_mac_from_mtd() {
8 local mtd_part=$1
9 local lan_env=$2
10 local wan_env=$3
11 local mtd mac
12
13 mtd=$(grep $mtd_part /proc/mtd | cut -d: -f1)
14 [ -z $mtd ] && return
15
16 mac=$(grep $lan_env /dev/$mtd | cut -d= -f2)
17 [ ! -z $mac ] && ifconfig eth0 hw ether $mac 2>/dev/null
18
19 mac=$(grep $wan_env /dev/$mtd | cut -d= -f2)
20 [ ! -z $mac ] && ifconfig eth1 hw ether $mac 2>/dev/null
21 }
22
23 preinit_set_mac_address() {
24 case $(ar71xx_board_name) in
25 c-55|\
26 c-60)
27 mac_lan=$(mtd_get_mac_binary art 0)
28 [ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
29 ;;
30 dir-615-c1)
31 fetch_mac_from_mtd config lan_mac wan_mac
32 echo 1 > /sys/class/leds/dir-615-c1:green:wancpu/brightness
33 ;;
34 dir-615-i1)
35 fetch_mac_from_mtd nvram sys_lan_mac sys_wan_mac
36 ;;
37 mr18)
38 mac_lan=$(mtd_get_mac_binary_ubi board-config 102)
39 [ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
40 ;;
41 r6100)
42 mac_lan=$(mtd_get_mac_binary caldata 0)
43 [ -n "$mac_lan" ] && ifconfig eth1 hw ether "$mac_lan"
44 mac_wan=$(mtd_get_mac_binary caldata 6)
45 [ -n "$mac_wan" ] && ifconfig eth0 hw ether "$mac_wan"
46 ;;
47 rambutan)
48 mac_lan=$(mtd_get_mac_binary art 0)
49 [ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
50 mac_wan=$(mtd_get_mac_binary art 6)
51 [ -n "$mac_wan" ] && ifconfig eth1 hw ether "$mac_wan"
52 ;;
53 tew-632brp)
54 fetch_mac_from_mtd config lan_mac wan_mac
55 ;;
56 wrt160nl)
57 fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr
58 ;;
59 z1)
60 mac_lan=$(mtd_get_mac_binary_ubi board-config 102)
61 [ -n "$mac_lan" ] && ifconfig eth0 hw ether "$mac_lan"
62 ;;
63 esac
64 }
65
66 boot_hook_add preinit_main preinit_set_mac_address