aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/base-files/lib/preinit
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2011-08-15 18:55:53 +0000
committerGabor Juhos <juhosg@openwrt.org>2011-08-15 18:55:53 +0000
commitbfc47ffead2da4ff9fa198a5e6b77452b326730a (patch)
treee260a1a57e7686c12ec36901c36d3da2557b459f /target/linux/ramips/base-files/lib/preinit
parent17c041cd0be46065f27a226236ed03d4949d3778 (diff)
downloadupstream-bfc47ffead2da4ff9fa198a5e6b77452b326730a.tar.gz
upstream-bfc47ffead2da4ff9fa198a5e6b77452b326730a.tar.bz2
upstream-bfc47ffead2da4ff9fa198a5e6b77452b326730a.zip
ramips: rt305x: fix mac addresses on the Netcore NW718 board
SVN-Revision: 28006
Diffstat (limited to 'target/linux/ramips/base-files/lib/preinit')
-rw-r--r--target/linux/ramips/base-files/lib/preinit/06_set_iface_mac33
1 files changed, 33 insertions, 0 deletions
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