Part 1 of #13629 split. * Sets the LAN 2 MAC address in the DTS by deriving it from LAN 1's address. The factory OS derives this from the `eth1addr` u-boot env variable, but the nvmem_u-boot-env driver doesn't support parsing MAC addresses from fields other than `ethaddr`. But for all of the device samples I've checked (~10) it derives the correct MAC. * Updates 02_network to ensure that interfaces are assigned to roles correctly and consistently. Signed-off-by: Bryan Berg <bdb@north-eastham.org>
112 lines
2.7 KiB
Text
112 lines
2.7 KiB
Text
#
|
|
# Copyright (c) 2015 The Linux Foundation. All rights reserved.
|
|
# Copyright (c) 2011-2015 OpenWrt.org
|
|
#
|
|
|
|
. /lib/functions/uci-defaults.sh
|
|
. /lib/functions/system.sh
|
|
|
|
ipq806x_setup_interfaces()
|
|
{
|
|
local board="$1"
|
|
|
|
case "$board" in
|
|
arris,tr4400-v2)
|
|
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "eth2"
|
|
;;
|
|
askey,rt4230w-rev6 |\
|
|
asrock,g10 |\
|
|
nec,wg2600hp |\
|
|
buffalo,wxr-2533dhp |\
|
|
compex,wpq864 |\
|
|
netgear,d7800 |\
|
|
netgear,r7500 |\
|
|
netgear,r7500v2 |\
|
|
qcom,ipq8064-ap148 |\
|
|
linksys,ea7500-v1 |\
|
|
linksys,ea8500 |\
|
|
nec,wg2600hp3 |\
|
|
netgear,r7800 |\
|
|
netgear,xr500 |\
|
|
netgear,xr450 |\
|
|
tplink,c2600 |\
|
|
tplink,vr2600v |\
|
|
tplink,ad7200 |\
|
|
zyxel,nbg6817)
|
|
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
|
ucidef_set_network_device_conduit "lan1" "eth1"
|
|
ucidef_set_network_device_conduit "lan2" "eth1"
|
|
ucidef_set_network_device_conduit "lan3" "eth1"
|
|
ucidef_set_network_device_conduit "lan4" "eth1"
|
|
ucidef_set_network_device_conduit "wan" "eth0"
|
|
;;
|
|
asus,onhub |\
|
|
tplink,onhub)
|
|
ucidef_set_interfaces_lan_wan "lan1" "wan"
|
|
ucidef_set_network_device_conduit "lan1" "eth1"
|
|
ucidef_set_network_device_conduit "wan" "eth0"
|
|
;;
|
|
edgecore,ecw5410)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
;;
|
|
qcom,ipq8064-ap161)
|
|
ucidef_set_interface_lan "eth1 eth2 lan1 lan2 lan3 lan4" "wan"
|
|
;;
|
|
qcom,ipq8064-db149)
|
|
ucidef_set_interface_lan "eth1 eth2 eth3 lan1 lan2 lan3 lan4" "wan"
|
|
;;
|
|
fortinet,fap-421e |\
|
|
ubnt,unifi-ac-hd)
|
|
ucidef_set_interface_lan "eth0 eth1"
|
|
;;
|
|
meraki,mr42)
|
|
ucidef_set_interface_lan "eth0"
|
|
;;
|
|
extreme,ap3935 |\
|
|
meraki,mr52)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
;;
|
|
*)
|
|
echo "Unsupported hardware. Network interfaces not intialized"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
ipq806x_setup_macs()
|
|
{
|
|
local board="$1"
|
|
|
|
case "$board" in
|
|
linksys,ea7500-v1)
|
|
hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
|
ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
|
|
ucidef_set_interface_macaddr "wan" "$hw_mac_addr"
|
|
;;
|
|
linksys,ea8500)
|
|
hw_mac_addr=$(mtd_get_mac_ascii devinfo hw_mac_addr)
|
|
ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
|
|
ucidef_set_interface_macaddr "wan" "$hw_mac_addr"
|
|
;;
|
|
zyxel,nbg6817)
|
|
hw_mac_addr=$(mtd_get_mac_ascii 0:appsblenv ethaddr)
|
|
ucidef_set_interface_macaddr "lan" "$(macaddr_add $hw_mac_addr 2)"
|
|
ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 3)"
|
|
;;
|
|
asrock,g10)
|
|
hw_mac_addr=$(mtd_get_mac_ascii hwconfig HW.LAN.MAC.Address)
|
|
ucidef_set_interface_macaddr "lan" "$hw_mac_addr"
|
|
hw_mac_addr=$(mtd_get_mac_ascii hwconfig HW.WAN.MAC.Address)
|
|
ucidef_set_interface_macaddr "wan" "$hw_mac_addr"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
board_config_update
|
|
board=$(board_name)
|
|
|
|
ipq806x_setup_macs $board
|
|
ipq806x_setup_interfaces $board
|
|
|
|
board_config_flush
|
|
|
|
exit 0
|