diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2011-08-15 18:55:53 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2011-08-15 18:55:53 +0000 |
commit | bfc47ffead2da4ff9fa198a5e6b77452b326730a (patch) | |
tree | e260a1a57e7686c12ec36901c36d3da2557b459f | |
parent | 17c041cd0be46065f27a226236ed03d4949d3778 (diff) | |
download | upstream-bfc47ffead2da4ff9fa198a5e6b77452b326730a.tar.gz upstream-bfc47ffead2da4ff9fa198a5e6b77452b326730a.tar.bz2 upstream-bfc47ffead2da4ff9fa198a5e6b77452b326730a.zip |
ramips: rt305x: fix mac addresses on the Netcore NW718 board
SVN-Revision: 28006
-rwxr-xr-x | target/linux/ramips/base-files/etc/uci-defaults/nw718 | 24 | ||||
-rw-r--r-- | target/linux/ramips/base-files/lib/preinit/06_set_iface_mac | 33 |
2 files changed, 57 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/nw718 b/target/linux/ramips/base-files/etc/uci-defaults/nw718 index 986843ce77..4ce3bc9af8 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/nw718 +++ b/target/linux/ramips/base-files/etc/uci-defaults/nw718 @@ -3,6 +3,29 @@ # Copyright (C) 2011 OpenWrt.org # +nw718_set_macs() { + local part + local lan_mac + local wan_mac + + . /etc/functions.sh + + part=$(find_mtd_part "factory") + [ -z $part ] && return + + lan_mac=$(dd bs=1 skip=4 count=6 if=$part 2>/dev/null | hexdump -v -e '1/1 "%02x"' | sed 's/\(..\)/\1:/g;s/:$//') + [ -z $lan_mac ] && return + + [ -z $(which maccalc) ] && return + wan_mac=$(maccalc add $lan_mac 1) + + uci batch <<EOF +set network.lan.macaddr='$lan_mac' +set network.wan.macaddr='$wan_mac' +commit network +EOF +} + nw718_set_leds() { uci batch <<EOF set system.usb_led=led @@ -21,4 +44,5 @@ board=$(ramips_board_name) if [ "${board}" == "nw718" ]; then nw718_set_leds + nw718_set_macs fi diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac new file mode 100644 index 0000000000..4be625bd1e --- /dev/null +++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac @@ -0,0 +1,33 @@ +# +# Copyright (C) 2011 OpenWrt.org +# + +nw718_set_mac() { + local part + local mac + + [ -z $(which maccalc) ] && return + + . /etc/functions.sh + + part=$(find_mtd_part "factory") + [ -z $part ] && return + + mac=$(dd bs=1 skip=4 count=6 if=$part 2>/dev/null | maccalc bin2mac) + [ -z $mac ] && return + + mac=$(maccalc or "$mac" "02:00:00:00:00:00") + ifconfig eth0 hw ether $mac 2>/dev/null +} + +preinit_set_mac_address() { + . /lib/ramips.sh + + case $(ramips_board_name) in + nw718) + nw718_set_mac + ;; + esac +} + +boot_hook_add preinit_main preinit_set_mac_address |