diff options
| author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-08-15 18:55:53 +0000 | 
|---|---|---|
| committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-08-15 18:55:53 +0000 | 
| commit | f64a3c86106762363215bda1796ead6f1adcbea2 (patch) | |
| tree | f68f0e6b9854e2987782dc5083e39c7fba9c21aa | |
| parent | 649cff937e844618a848b2278467242388e624de (diff) | |
ramips: rt305x: fix mac addresses on the Netcore NW718 board
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28006 3c298f89-4303-0410-b956-a3cf2f4a3e73
| -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 986843ce7..4ce3bc9af 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 000000000..4be625bd1 --- /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 | 
