|
|
|
@ -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) |
|
|
|
|