Root/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
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

Archive Download this file



interactive