| 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 | tew-632brp) |
| 26 | fetch_mac_from_mtd config lan_mac wan_mac |
| 27 | ;; |
| 28 | dir-615-c1) |
| 29 | fetch_mac_from_mtd config lan_mac wan_mac |
| 30 | echo 1 > /sys/class/leds/dir-615-c1:green:wancpu/brightness |
| 31 | ;; |
| 32 | wrt160nl) |
| 33 | fetch_mac_from_mtd nvram lan_hwaddr wan_hwaddr |
| 34 | ;; |
| 35 | esac |
| 36 | } |
| 37 | |
| 38 | boot_hook_add preinit_main preinit_set_mac_address |
| 39 | |
| 40 | |