difos/target/linux/ramips/base-files/etc/board.d/02_network
Adrian Schmutzler 7b8b4197d2 ramips: initialize youhua, wr1200js WAN MAC addresses from flash
This patch changes wan MAC address setup for youhua,wr1200js
from retrieving it by calculation to reading it from flash.

This has been checked on-device.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2019-09-25 14:44:36 +08:00

752 lines
17 KiB
Bash
Executable file

#!/bin/sh
. /lib/functions.sh
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
ramips_setup_rt3x5x_vlans()
{
if [ ! -x /sbin/swconfig ]; then
# legacy default
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
return
fi
local wanports=""
local lanports=""
for port in 5 4 3 2 1 0; do
if [ "$(swconfig dev rt305x port $port get disable)" = "1" ]; then
continue
fi
if [ "$(swconfig dev rt305x port $port get lan)" = "0" ]; then
wanports="$port:wan $wanports"
else
lanports="$port:lan $lanports"
fi
done
ucidef_add_switch "rt305x" $lanports $wanports "6t@eth0"
}
ramips_setup_interfaces()
{
local board="$1"
case $board in
accton,wr6202|\
alfa-network,w502u|\
netcore,nw718|\
petatel,psr-680w|\
skyline,sl-r7205|\
upvel,ur-336un)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
;;
adslr,g7|\
afoundry,ew1200|\
aigale,ai-br100|\
alfa-network,ac1200rm|\
asus,rt-n12p|\
buffalo,whr-g300n|\
d-team,pbr-m1|\
dlink,dir-300-b7|\
dlink,dir-320-b1|\
dlink,dir-610-a1|\
dlink,dir-810l|\
dlink,dwr-116-a1|\
dlink,dwr-921-c1|\
dlink,dwr-922-e2|\
edimax,3g-6200n|\
firefly,firewrt|\
hilink,hlk-rm04|\
hiwifi,hc5661a|\
hiwifi,hc5761a|\
hiwifi,hc5962|\
mediatek,ap-mt7621a-v60|\
mediatek,mt7621-eval-board|\
mediatek,mt7628an-eval-board|\
mercury,mac1200r-v2|\
mqmaker,witi|\
mtc,wr1201|\
netis,wf-2881|\
nixcore,x1-16m|\
nixcore,x1-8m|\
ohyeah,oy-0001|\
phicomm,k2p|\
phicomm,psg1208|\
phicomm,psg1218a|\
planex,db-wrt01|\
planex,mzk-750dhp|\
planex,mzk-w300nh2|\
planex,vr500|\
samknows,whitebox-v8|\
sanlinking,d240|\
storylink,sap-g3200u3|\
telco-electronics,x1|\
totolink,a7000r|\
totolink,lr1200|\
unielec,u7621-06-256m-16m|\
unielec,u7621-06-512m-64m|\
wavlink,wl-wn570ha1|\
wavlink,wl-wn575a3|\
xiaomi,miwifi-mini|\
xiaomi,miwifi-nano|\
xiaoyu,xy-c5|\
xzwifi,creativebox-v1|\
youku,yk-l2|\
youku,yk1|\
zbtlink,zbt-ape522ii|\
zbtlink,zbt-we1326|\
zbtlink,zbt-we3526|\
zbtlink,zbt-we826-16m|\
zbtlink,zbt-we826-32m|\
zbtlink,zbt-we826-e|\
zbtlink,zbt-wg2626|\
zbtlink,zbt-wg3526-16m|\
zbtlink,zbt-wg3526-32m|\
zbtlink,zbt-wr8305rt|\
zyxel,keenetic|\
zyxel,keenetic-omni)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;;
airlink101,ar670w|\
airlink101,ar725w|\
asus,rt-ac51u|\
rakwireless,rak633)
ucidef_add_switch "switch0" \
"0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
alfa-network,awusfree1|\
alfa-network,tube-e4g|\
buffalo,wli-tx4-ag300n|\
buffalo,wmr-300|\
dlink,dap-1522-a1|\
dlink,dch-m225|\
d-team,pbr-d1|\
elecom,wrh-300cr|\
huawei,d105|\
kimax,u25awf-h1|\
loewe,wmdr-143n|\
netgear,ex2700|\
netgear,ex3700|\
netgear,wn3000rp-v3|\
omnima,hpm|\
planex,cs-qr10|\
planex,mzk-ex300np|\
planex,mzk-ex750np|\
ravpower,wd03|\
sercomm,na930|\
tama,w06|\
tplink,tl-mr3020-v3|\
tplink,tl-wr802n-v4)
ucidef_set_interface_lan "eth0"
;;
allnet,all0256n-4m|\
allnet,all0256n-8m|\
allnet,all5002|\
allnet,all5003|\
dlink,dcs-930l-b1|\
dlink,dcs-930|\
edimax,ew-7476rpc|\
edimax,ew-7478ac|\
hame,mpr-a2|\
hauppauge,broadway|\
hootoo,ht-tm02|\
intenso,memory2move|\
kimax,u35wf|\
mediatek,linkit-smart-7688|\
microduino,microwrt|\
mikrotik,rbm11g|\
netgear,wnce2001|\
onion,omega2p|\
onion,omega2|\
tenda,3g150b|\
tenda,3g300m|\
tenda,w150m|\
thunder,timecloud|\
tplink,tl-wa801nd-v5|\
unbranded,a5-v11|\
wansview,ncs601w|\
widora,neo-16m|\
widora,neo-32m|\
yukai,bocco|\
zbtlink,zbt-cpe102|\
zorlik,zl5900v2|\
zte,q7)
ucidef_add_switch "switch0"
ucidef_add_switch_attr "switch0" "enable" "false"
ucidef_set_interface_lan "eth0"
;;
alphanetworks,asl26555-8m|\
alphanetworks,asl26555-16m|\
asus,rp-n53)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
argus,atp-52b|\
asiarf,awm002-evb-4m|\
asiarf,awm002-evb-8m|\
asus,rt-ac57u|\
asus,rt-n14u|\
bdcom,wap2100-sk|\
dlink,dir-645|\
glinet,gl-mt300a|\
glinet,gl-mt300n|\
glinet,gl-mt750|\
hilink,hlk-7628n|\
hiwifi,hc5661|\
hiwifi,hc5861b|\
jcg,jhr-n805r|\
jcg,jhr-n825r|\
jcg,jhr-n926r|\
mikrotik,rb750gr3|\
mikrotik,rbm33g|\
planex,mzk-wdpr|\
skylab,skw92a|\
tplink,archer-c20-v4|\
tplink,archer-c20i|\
tplink,archer-c50-v3|\
tplink,archer-c50-v4|\
tplink,tl-mr3420-v5|\
tplink,tl-wr840n-v4|\
tplink,tl-wr840n-v5|\
tplink,tl-wr841n-v13|\
tplink,tl-wr841n-v14|\
tplink,tl-wr842n-v5|\
unielec,u7628-01-128m-16m|\
ubiquiti,edgerouterx|\
ubiquiti,edgerouterx-sfp|\
upvel,ur-326n4g|\
wrtnode,wrtnode|\
wrtnode,wrtnode2p|\
wrtnode,wrtnode2r|\
youhua,wr1200js|\
zbtlink,zbt-wa05|\
zyxel,keenetic-extra-ii)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
;;
asiarf,ap7621-001)
ucidef_add_switch "switch0" "0:lan" "4:wan" "6@eth0"
;;
asiarf,ap7621-nv1)
ucidef_add_switch "switch0" "0:wan" "2:lan" "3:lan" "6@eth0"
;;
asiarf,awapn2403)
ucidef_add_switch "switch0" \
"0:lan" "1:wan" "6@eth0"
;;
asus,rt-ac85p|\
dlink,dir-860l-b1|\
elecom,wrc-1167ghbk2-s|\
elecom,wrc-1900gst|\
elecom,wrc-2533gst|\
huawei,hg255d|\
iodata,wn-ax1167gr|\
iodata,wn-gx300gr|\
iodata,wnpr2600g|\
iptime,a604m)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
;;
asus,rt-n15|\
belkin,f9k1109v1|\
sitecom,wl-351)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
;;
asus,rt-n56u)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
;;
asus,wl-330n|\
easyacc,wizard-8800|\
kingston,mlwg2)
ucidef_set_interface_lan "eth0.1"
;;
aximcom,mr-102n|\
kingston,mlw221)
ucidef_set_interface_lan "eth0.2"
;;
belkin,f5d8235-v1|\
belkin,f5d8235-v2|\
buffalo,wzr-agl300nh|\
ralink,v11st-fe|\
trendnet,tew-714tru)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
;;
buffalo,wcr-1166ds)
ucidef_add_switch "switch0" \
"3:lan" "4:wan" "6@eth0"
;;
buffalo,whr-300hp2|\
buffalo,whr-600d|\
buffalo,wsr-1166dhp|\
buffalo,wsr-600dhp)
ucidef_add_switch "switch0" \
"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "4:wan:5" "6@eth0"
;;
buffalo,whr-1166d)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
;;
comfast,cf-wr800n|\
hnet,c108)
ucidef_add_switch "switch0" \
"4:lan" "6t@eth0"
;;
cudy,wr1000)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "4:wan" "6@eth0"
;;
dlink,dir-510l|\
glinet,vixmini|\
netgear,ex6150|\
tplink,re350-v1|\
tplink,re650-v1)
ucidef_add_switch "switch0" \
"0:lan" "6@eth0"
;;
dlink,dir-615-h1|\
d-team,newifi-d2|\
wevo,11acnas|\
wevo,w2914ns-v2|\
zbtlink,zbt-we2026)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan:5" "6@eth0"
;;
dlink,dwr-118-a1)
ucidef_add_switch "switch0" \
"1:lan:2" "2:lan:3" "3:lan:1" "4:lan:0" "5:wan" "6@eth0"
;;
dlink,dwr-118-a2)
ucidef_add_switch "switch0" \
"1:lan:2" "2:lan:1" "3:lan:3" "4:lan" "0:wan" "6@eth0"
;;
duzun,dm06)
ucidef_add_switch "switch0" \
"1:lan" "0:wan" "6@eth0"
;;
edimax,br-6475nd)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
;;
edimax,br-6478ac-v2|\
tplink,archer-c2-v1)
ucidef_add_switch "switch1" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
;;
engenius,esr600)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "0@eth0"
;;
fon,fon2601)
ucidef_add_switch "switch0" \
"0:lan" "4:wan" "6@eth0"
;;
edimax,rg21s)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
;;
gehua,ghl-r-001)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "4:wan" "6@eth0"
;;
glinet,gl-mt300n-v2)
ucidef_add_switch "switch0" \
"1:lan" "0:wan" "6@eth0"
;;
gnubee,gb-pc1|\
gnubee,gb-pc2)
ucidef_add_switch "switch0" \
"0:lan" "4:lan" "6@eth0"
;;
head-weblink,hdrm200)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
;;
hiwifi,hc5761)
ucidef_add_switch "switch0" \
"1:lan" "4:lan" "0:wan" "6@eth0"
;;
hiwifi,hc5861)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "5:wan" "6@eth0"
;;
iodata,wn-ac1167gr|\
iodata,wn-ac733gr3)
ucidef_add_switch "switch1" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "0:wan" "6@eth0"
;;
iptime,a3)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "0:wan" "6@eth0"
;;
lava,lr-25g001|\
sitecom,wlr-6000|\
trendnet,tew-691gr|\
trendnet,tew-692gr)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
;;
lenovo,newifi-d1)
ucidef_add_switch "switch0" \
"1:lan:2" "2:lan:1" "4:wan" "6@eth0"
;;
lenovo,newifi-y1|\
zbtlink,zbt-we1226)
ucidef_add_switch "switch0" \
"0:lan:2" "1:lan:1" "4:wan" "6@eth0"
;;
lenovo,newifi-y1s)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "4:lan:2" "5:lan:1" "0:wan" "6@eth0"
;;
linksys,e1700|\
ralink,mt7620a-mt7530-evb)
ucidef_add_switch "switch1" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;;
linksys,re6500)
ucidef_add_switch "switch0" \
"0:lan:1" "1:lan:2" "2:lan:3" "3:lan:4" "6@eth0"
;;
netgear,r6120|\
netgear,r6220|\
netgear,r6260|\
netgear,r6350|\
netgear,r6850|\
netgear,wndr3700-v5)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
;;
nexx,wt1520-4m|\
nexx,wt1520-8m|\
vonets,var11n-300)
ucidef_add_switch "switch0" \
"0:lan" "4:wan" "6@eth0"
;;
nexx,wt3020-4m|\
nexx,wt3020-8m)
ucidef_add_switch "switch0" \
"4:lan" "0:wan" "6@eth0"
;;
phicomm,k2g)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
;;
phicomm,psg1218b)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:2" "2:lan:1" "3:wan" "6@eth0"
;;
planex,mzk-dp150n|\
vocore,vocore-8m|\
vocore,vocore-16m)
ucidef_add_switch "switch0" \
"0:lan" "4:lan" "6t@eth0"
;;
samsung,cy-swr1100)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
;;
sparklan,wcr-150gn|\
zbtlink,we1026-5g-16m)
ucidef_add_switch "switch0" \
"0:lan" "6t@eth0"
;;
tplink,archer-c20-v1|\
tplink,archer-c50-v1)
ucidef_add_switch "switch0" \
"1:lan:3" "2:lan:4" "3:lan:1" "4:lan:2" "0:wan" "6@eth0"
;;
tplink,archer-mr200)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "6t@eth0"
ucidef_set_interface_wan "usb0"
;;
tplink,tl-wr902ac-v3)
ucidef_add_switch "switch0" \
"4:lan" "6@eth0"
;;
trendnet,tew-638apb-v2)
ucidef_add_switch "switch0" \
"4:lan" "6@eth0"
;;
vocore,vocore2|\
vocore,vocore2-lite)
ucidef_add_switch "switch0" \
"0:lan" "2:lan" "6t@eth0"
;;
wiznet,wizfi630a)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:wan" "6@eth0"
;;
wiznet,wizfi630s)
ucidef_add_switch "switch0" \
"0:wan" "3:lan" "4:lan" "6@eth0"
;;
xiaomi,mir3g)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "1:wan" "6t@eth0"
;;
xiaomi,mir3p)
ucidef_add_switch "switch0" \
"1:lan:3" "2:lan:2" "3:lan:1" "4:wan" "6@eth0"
;;
xiaomi,mir4a-100m)
ucidef_add_switch "switch0" \
"4:lan:1" "2:lan:2" "0:wan" "6@eth0"
;;
zyxel,keenetic-omni-ii)
ucidef_add_switch "switch0" \
"0:wan" "1:lan" "2:lan" "3:lan" "4:lan" "6@eth0"
;;
zyxel,keenetic-start)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:2" "2:lan:1" "3:lan:0" "4:wan" "6@eth0"
;;
zyxel,keenetic-viva)
ucidef_add_switch "switch1" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "7t@eth0"
;;
*)
RT3X5X=$(grep -E "(RT3.5|RT5350)" /proc/cpuinfo)
if [ -n "${RT3X5X}" ]; then
ramips_setup_rt3x5x_vlans
else
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
fi
;;
esac
}
ramips_setup_macs()
{
local board="$1"
local lan_mac=""
local wan_mac=""
case $board in
8devices,carambola|\
alfa-network,w502u|\
arcwireless,freestation5|\
lenovo,newifi-y1|\
lenovo,newifi-y1s|\
netgear,wnce2001|\
ohyeah,oy-0001|\
phicomm,k2g|\
skylab,skw92a|\
totolink,lr1200)
wan_mac=$(mtd_get_mac_binary factory 0x2e)
;;
dlink,dir-300-b7|\
dlink,dir-320-b1|\
dlink,dir-620-a1|\
engenius,esr-9753|\
hame,mpr-a1|\
hauppauge,broadway|\
huawei,d105|\
hilink,hlk-7628n|\
hilink,hlk-rm04|\
nexaira,bc2|\
petatel,psr-680w|\
skyline,sl-r7205)
lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
asus,rt-ac57u|\
d-team,newifi-d2|\
d-team,pbr-m1|\
elecom,wrc-1167ghbk2-s|\
elecom,wrc-1900gst|\
elecom,wrc-2533gst|\
lenovo,newifi-d1|\
phicomm,k2p|\
planex,vr500|\
samknows,whitebox-v8|\
youhua,wr1200js|\
youku,yk-l2|\
zbtlink,zbt-we3526)
wan_mac=$(mtd_get_mac_binary factory 0xe006)
;;
asus,rt-ac85p)
wan_mac=$(mtd_get_mac_ascii u-boot-env et1macaddr)
;;
asus,rt-n56u)
lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
wan_mac=$(mtd_get_mac_binary factory 0x8004)
;;
belkin,f9k1109v1)
wan_mac=$(mtd_get_mac_ascii uboot-env HW_WAN_MAC)
lan_mac=$(mtd_get_mac_ascii uboot-env HW_LAN_MAC)
label_mac=$wan_mac
;;
buffalo,wcr-1166ds|\
buffalo,wsr-1166dhp)
local index="$(find_mtd_index "board_data")"
wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
lan_mac=$wan_mac
;;
buffalo,whr-1166d|\
buffalo,whr-300hp2|\
buffalo,whr-600d|\
buffalo,whr-g300n|\
buffalo,wsr-600dhp|\
glinet,gl-mt300n-v2|\
zyxel,keenetic-start)
# This empty case has to be kept for devices without any MAC address adjustments
;;
cudy,wr1000)
wan_mac=$(mtd_get_mac_binary factory 0x2e)
label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
;;
dlink,dch-m225|\
samsung,cy-swr1100)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
;;
dlink,dir-510l|\
dlink,dwr-116-a1|\
dlink,dwr-118-a1|\
dlink,dwr-118-a2|\
dlink,dwr-921-c1|\
dlink,dwr-922-e2|\
lava,lr-25g001)
wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000)
lan_mac=$(macaddr_add "$wan_mac" 1)
label_mac=$wan_mac
;;
dlink,dir-615-d|\
dlink,dir-615-h1|\
glinet,gl-mt300a|\
glinet,gl-mt300n|\
glinet,gl-mt750|\
zbtlink,zbt-wg3526-16m|\
zbtlink,zbt-wg3526-32m)
wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
;;
dlink,dir-645)
lan_mac=$(mtd_get_mac_ascii nvram lanmac)
wan_mac=$(mtd_get_mac_ascii nvram wanmac)
;;
dlink,dir-860l-b1)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
wan_mac=$(mtd_get_mac_ascii factory wanmac)
label_mac=$(cat /sys/class/ieee80211/phy1/macaddress)
;;
dovado,tiny-ac)
lan_mac=$(mtd_get_mac_ascii u-boot-env LAN_MAC_ADDR)
wan_mac=$(mtd_get_mac_ascii u-boot-env WAN_MAC_ADDR)
;;
edimax,br-6475nd)
wan_mac=$(mtd_get_mac_binary devdata 0x7)
;;
edimax,br-6478ac-v2|\
netgear,r6260|\
netgear,r6350|\
netgear,r6850)
wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2)
;;
edimax,rg21s|\
engenius,esr600)
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
;;
hiwifi,hc5661|\
hiwifi,hc5661a|\
hiwifi,hc5761|\
hiwifi,hc5761a|\
hiwifi,hc5861|\
hiwifi,hc5861b|\
hiwifi,hc5962)
lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ")
label_mac=$lan_mac
[ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
iodata,wn-ac1167gr|\
iodata,wn-ac733gr3)
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
;;
iodata,wn-ax1167gr|\
iodata,wn-gx300gr|\
trendnet,tew-692gr)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
;;
iodata,wnpr2600g)
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
label_mac=$wan_mac
;;
iptime,a3|\
iptime,a604m)
wan_mac=$(mtd_get_mac_binary u-boot 0x1fc40)
;;
linksys,e1700)
wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
;;
mediatek,linkit-smart-7688|\
onion,omega2|\
onion,omega2p)
wan_mac=$(mtd_get_mac_binary factory 0x4)
lan_mac=$(mtd_get_mac_binary factory 0x2e)
;;
mercury,mac1200r-v2)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory_info 0xd)" 1)
;;
poray,m3|\
poray,m4-4m|\
poray,m4-8m|\
poray,x5|\
poray,x8)
lan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" -2)
;;
sitecom,wlr-6000)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x8004)" 2)
;;
sparklan,wcr-150gn|\
wiznet,wizfi630a|\
zyxel,keenetic-omni|\
zyxel,keenetic-omni-ii|\
zyxel,keenetic-viva)
wan_mac=$(mtd_get_mac_binary factory 0x28)
;;
tenda,w306r-v2)
wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 5)
;;
trendnet,tew-691gr)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 3)
;;
vocore,vocore2|\
vocore,vocore2-lite)
label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
;;
xiaomi,mir3g)
lan_mac=$(mtd_get_mac_binary factory 0xe006)
;;
xiaomi,mir3p)
lan_mac=$(mtd_get_mac_binary factory 0xe006)
label_mac=$lan_mac
;;
xiaomi,miwifi-mini)
lan_mac=$(macaddr_setbit_la "$(cat /sys/class/net/eth0/address)")
;;
zbtlink,zbt-we1326)
wan_mac=$(mtd_get_mac_binary factory 0xe006)
label_mac=$(cat /sys/class/ieee80211/phy0/macaddress)
;;
*)
wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 1)
;;
esac
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
[ -n "$label_mac" ] && ucidef_set_label_macaddr $label_mac
}
board_config_update
board=$(board_name)
ramips_setup_interfaces $board
ramips_setup_macs $board
board_config_flush
exit 0