1# 2# Copyright (C) 2009 OpenWrt.org 3# 4 5. /lib/ar71xx.sh 6 7fetch_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 23preinit_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 38boot_hook_add preinit_main preinit_set_mac_address 39 40