difos/target/linux/ramips/base-files/etc/board.d/02_network
Birger Koblitz fde8e2e035 ramips: add support for Asus RT-AC85P
SoC:	MediaTek MT7621AT dual-core @ 880MHz
RAM:	256M (Winbond W632GG6KB-1)
FLASH:	128MB (Macronix MX30LF1G18AC-TI)
WiFi:	- 2.4GHz MediaTek MT7615N bgn
	- 5GHz MediaTek MT7615N nac
Switch: SoC integrated Gigabit Switch (4 x LAN, 1 x WAN)
USB:	1 x USB 3.1 (Gen 1)
BTN:	Reset, WPS
LED:	- Power (blue)
	- 5Ghz (blue)
	- 2.4GHz (blue)
	- Internet (blue)
	- 4x LAN (blue)
	(LAN/WAN leds are not controllable by GPIOs)
UART: 	UART is present as Pads marked J4 on the PCB.
	3.3V - TX - RX - GND / 57600-8N1
	3.3V is the square pad
MAC:	The MAC address on the router-label matches the MAC of
	the 2.4 GHz WiFi.
	LAN and WAN MAC are identical: MAC_LABEL+4
	5 GHz WiFi MAC: also MAC_LABEL+4

Installation
------------
Via U-Boot tftpd:
Switch on device, within 2s press reset button and keep pressed
until power LED starts blinking slowly.
Upload factory image via tftp put, the router's ip is 192.168.1.1
and expects the client on 192.168.1.75.

The images also work on the Asus RT-AC65P models as tested by Gabor.

Signed-off-by: Birger Koblitz <mail@birger-koblitz.de>
Tested-by: Gabor Varga <vargagab@gmail.com>
[fixed Asus -> ASUS in DTS]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
2019-09-20 11:36:27 +02:00

732 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|\
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,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|\
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"
;;
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"
;;
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=`cat /proc/cpuinfo | egrep "(RT3.5|RT5350)"`
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|\
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)
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=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" -1)
;;
iodata,wn-ax1167gr|\
iodata,wn-gx300gr|\
trendnet,tew-692gr)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
;;
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