diff options
| -rwxr-xr-x | target/linux/ramips/base-files/etc/uci-defaults/network | 63 | 
1 files changed, 13 insertions, 50 deletions
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/network b/target/linux/ramips/base-files/etc/uci-defaults/network index 7baac0c9c..9d464cd01 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/network +++ b/target/linux/ramips/base-files/etc/uci-defaults/network @@ -52,61 +52,17 @@ get_mac_nvram()  	maccalc add "$mac_dirty" 0  } -set_macs() +set_interface_mac()  { -	local lan_mac="$1" -	local wan_mac="$2" - -	echo "Setting LAN mac address to: $lan_mac" >&2 -	echo "Setting WAN mac address to: $wan_mac" >&2 +	local iface="$1" +	local mac="$2"  	uci batch <<EOF -set network.lan.macaddr='$lan_mac' -set network.wan.macaddr='$wan_mac' +set network.$iface.macaddr=""$mac"  commit network  EOF  } -set_macs_only_lan() -{ -	local lan_mac="$1" -	local wan_mac - -	wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1) - -	set_macs "$lan_mac" "$wan_mac" -} - -set_macs_only_lan_from_mtd() -{ -	local mtdname="$1" -	local seek="$2" -	local lan_mac - -	lan_mac=$(get_mac_binary "$mtdname" "$seek") -	if [ -z $lan_mac ]; then -		echo "set_macs_only_lan_from_mtd: can't extract mac address from $part" >&2 -		return -	fi - -	set_macs_only_lan "$lan_mac" -} - -set_macs_only_lan_from_nvram() -{ -	local mtdname="$1" -	local key="$2" -	local lan_mac - -	lan_mac=$(get_mac_nvram "$mtdname" "$key") -	if [ -z $lan_mac ]; then -		echo "set_macs_only_lan_from_nvram: can't extract mac address from $part" >&2 -		return -	fi - -	set_macs_only_lan "$lan_mac" -} -  ramips_setup_interfaces()  {  	local board="$1" @@ -129,18 +85,25 @@ ramips_setup_interfaces()  ramips_setup_macs()  {  	local board="$1" +	local lan_mac="" +	local wan_mac=""  	case $board in  	f5d8235-v2) -		set_macs_only_lan_from_mtd "u-boot" 262148 +		lan_mac=$(get_mac_nvram "u-boot" 262148) +		wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)  		;;  	argus-atp52b | \  	b2c | \  	nw718) -		set_macs_only_lan_from_mtd "factory" 4 +		lan_mac=$(get_mac_binary factory 4) +		wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1)  		;;  	esac + +	[ -n $lan_mac ] && set_interface_mac lan $lan_mac +	[ -n $wan_mac ] && set_interface_mac wan $wan_mac  }  board=$(ramips_board_name)  | 
