openwrtv4/target/linux/ar71xx/base-files/etc/board.d/02_network
Tal Keren 9c475eca3e ar71xx: add support for TP-Link RE450
Add full support for TP-Link RE450.
The wireless SoC is similiar to Archer C7: QCA9558 + QCA9880 (pci).
The ethernet interface is AR8035, but the mdio is connected to the gpio and
the chipset builtin mdio bus isn't used, which is unique (and weird), so the
kernel gpio mdio module is used.
The two ethernet leds are connected to the GPIO, so they are both configured,
one to indicate link status and the other to indicate data transfer.

The generation of the image was added to the image Makefile.
The return value of tplink-safeloader is not ignored anymore (to fail on error)

The result factory image is flashable from the stock web ui.

Signed-off-by: Tal Keren <kooolk@gmail.com>
[rd@radekdostal.com: ar71xx: RE450: do not build RE450 for nand]
Signed-off-by: Radek Dostál <rd@radekdostal.com>
[hyniu@o2.pl: ar71xx: RE450: Renaming LED accordance with the standard]
Signed-off-by: Henryk Heisig <hyniu@o2.pl>
[jo@mein.io: squash fixes from Radek and Henryk into original commit]
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2016-12-22 14:50:05 +01:00

486 lines
9.6 KiB
Bash
Executable file

#!/bin/sh
#
# Copyright (C) 2011-2015 OpenWrt.org
#
. /lib/functions/system.sh
. /lib/functions/uci-defaults.sh
. /lib/ar71xx.sh
ar71xx_setup_interfaces()
{
local board="$1"
case "$board" in
airgatewaypro)
ucidef_add_switch "switch0" \
"0@eth0" "4:lan" "5:wan"
;;
airrouter|\
ap121|\
ap121-mini|\
ap96|\
dir-600-a1|\
dir-615-c1|\
dir-615-e1|\
dir-615-e4|\
hiwifi-hc6361|\
ja76pf|\
mc-mac1200r|\
minibox-v1|\
mynet-n600|\
oolite|\
qihoo-c301|\
rb-750|\
rb-751|\
som9331|\
tew-632brp|\
tew-712br|\
tew-732br|\
tl-mr3220|\
tl-mr3220-v2|\
tl-mr3420|\
tl-wdr3320-v2|\
tl-wdr3500|\
tl-wr741nd|\
tl-wr741nd-v4|\
tl-wr841n-v11|\
tl-wr841n-v7|\
tl-wr841n-v9|\
tl-wr842n-v3|\
whr-g301n|\
whr-hp-g300n|\
whr-hp-gn|\
wzr-hp-ag300h|\
zbt-we1526)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
;;
alfa-ap120c|\
all0305|\
antminer-s1|\
antminer-s3|\
antrouter-r1|\
aw-nr580|\
bullet-m|\
c-55|\
cap4200ag|\
cf-e380ac-v1|\
cf-e380ac-v2|\
eap120|\
eap300v2|\
eap7660d|\
el-mini|\
loco-m-xw|\
mr12|\
mr16|\
mr1750|\
mr1750v2|\
mr18|\
mr600|\
mr600v2|\
mr900|\
mr900v2|\
mynet-rext|\
rb-411|\
rb-911g-2hpnd|\
rb-911g-5hpacd|\
rb-911g-5hpnd|\
rb-912uag-2hpnd|\
rb-912uag-5hpnd|\
rb-sxt2n|\
rb-sxt5n|\
re450|\
rocket-m-xw|\
tl-mr10u|\
tl-mr11u|\
tl-mr12u|\
tl-mr13u|\
tl-mr3020|\
tl-mr3040|\
tl-mr3040-v2|\
tl-wa701nd-v2|\
tl-wa7210n-v2|\
tl-wa750re|\
tl-wa801nd-v2|\
tl-wa830re-v2|\
tl-wa850re|\
tl-wa901nd|\
tl-wa901nd-v2|\
tl-wa901nd-v3|\
tl-wa901nd-v4|\
tl-wr703n|\
tl-wr802n-v1|\
tube2h|\
unifiac-lite|\
wndap360|\
wp543)
ucidef_set_interface_lan "eth0"
;;
alfa-ap96|\
alfa-nx|\
gl-ar150|\
gl-ar300m|\
gl-domino|\
gl-inet|\
gl-mifi|\
jwap003|\
pb42|\
pb44|\
rb-951ui-2hnd|\
routerstation|\
tl-wr710n|\
tl-wr720n-v3|\
tl-wr810n|\
wpe72|\
wrtnode2q)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
;;
all0258n|\
all0315n|\
dlan-hotspot|\
dlan-pro-500-wp|\
dr344|\
ja76pf2|\
rocket-m-ti|\
ubnt-unifi-outdoor)
ucidef_set_interface_lan "eth0 eth1"
;;
wzr-hp-g300nh2)
ucidef_add_switch "switch0" \
"0@eth0" "1:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "2:wan"
;;
ap132|\
ap136|\
ap152|\
rb-750gl|\
rb-751g|\
rb-951g-2hnd|\
wlr8100|\
wzr-hp-g450h)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
;;
ap135-020|\
ap136-020|\
bhr-4grv2|\
tew-823dru|\
tl-wr1043nd-v2|\
wzr-450hp2)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
;;
ap136-010|\
ap147-010|\
nbg6616|\
nbg6716)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth1"
;;
ap143|\
rb-433|\
rb-433u)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "5@eth1"
;;
archer-c5|\
archer-c7|\
tl-wdr4900-v2)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
;;
arduino-yun|\
dir-505-a1|\
tl-wa801nd-v3)
ucidef_set_interface_lan "eth1"
;;
bsb)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan" "3:lan"
;;
c-60)
ucidef_add_switch "switch0" \
"0@eth0" "3:wan" "4:lan"
;;
cap324)
ucidef_set_interface_lan "eth0" "dhcp"
;;
cpe210|\
cpe510)
ucidef_add_switch "switch0" \
"0@eth0" "5:lan" "4:wan"
;;
cr3000)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
;;
cr5000|\
dgl-5500-a1|\
dhp-1565-a1|\
dir-825-c1|\
dir-835-a1|\
esr900|\
mynet-n750|\
sr3200|\
wndr3700v4|\
wndr4300)
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
;;
dap-2695-a1)
ucidef_add_switch "switch0" "0@eth0" "2:lan" "3:wan" "6@eth1"
;;
db120|\
rb-2011l|\
rb-2011uas|\
rb-2011uas-2hnd|\
rb-2011uias|\
rb-2011uias-2hnd)
case "$board" in
rb-2011uas*|\
rb-2011uias|\
rb-2011uias-2hnd)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan" "6:sfp"
;;
*)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
;;
esac
ucidef_add_switch "switch1" \
"0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:lan"
;;
dir-615-i1|\
omy-g1|\
r6100|\
smart-300|\
tl-mr3420-v2|\
tl-wdr6500-v2|\
tl-wr841n-v8|\
tl-wr940n-v4|\
tl-wr941nd-v5|\
tl-wr941nd-v6|\
wnr1000-v2|\
wnr2000-v3|\
wnr2000-v4|\
wnr2200|\
wnr612-v2|\
wpn824n)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4@eth1"
;;
dir-825-b1|\
nbg460n_550n_550nh|\
tew-673gru|\
wzr-hp-g300nh)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
;;
dlan-pro-1200-ac)
ucidef_set_interface_lan "eth0"
ucidef_add_switch "switch0" \
"0@eth0" "2:lan" "3:lan" "4:lan"
ucidef_add_switch_attr "switch0" "enable" "false"
;;
el-m150)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "3@eth1"
;;
dir-869-a1|\
epg5000|\
esr1750|\
tl-wr1043nd-v4)
ucidef_add_switch "switch0" \
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
;;
ew-dorin)
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:wan"
;;
ew-dorin-router)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0@eth0" "2:lan" "3:lan"
;;
dw33d|\
f9k1115v2)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"2:lan" "3:lan" "4:lan" "5:lan" "6@eth1" "0@eth0" "1:wan"
;;
gl-ar300)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
;;
jwap230)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "5:wan" "6@eth1"
;;
nanostation-m-xw)
ucidef_add_switch "switch0" \
"0@eth0" "5:lan" "1:wan"
;;
onion-omega)
ucidef_set_interface_lan "wlan0"
;;
rb-435g)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan" "2:lan"
;;
rb-450)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5@eth1"
;;
rb-450g)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
;;
routerstation-pro)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
;;
rb-493g)
ucidef_set_interfaces_lan_wan "eth0 eth1.1" "eth1.2"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
ucidef_add_switch "switch1" \
"0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
;;
tellstick-znet-lite)
ucidef_set_interface_wan "eth0"
ucidef_set_interface_raw "wlan" "wlan0" "dhcp"
;;
tl-wdr4300|\
tl-wr1041n-v2)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
;;
tl-wpa8630)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "5:lan:4"
;;
tl-wr1043nd)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
;;
tl-wr2543n)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
;;
tl-wr841n-v1|\
tl-wr941nd)
ucidef_set_interface_raw "eth" "eth0"
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
;;
tl-wr842n-v2)
ucidef_set_interfaces_lan_wan "eth1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
;;
uap-pro|\
wpj342)
ucidef_add_switch "switch0" \
"0@eth0" "1:lan" "2:wan"
;;
unifiac-pro|\
xd3200)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan" "3:wan"
;;
wndr3700)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
ucidef_add_switch_attr "switch0" "blinkrate" 2
ucidef_add_switch_port_attr "switch0" 1 led 6
ucidef_add_switch_port_attr "switch0" 2 led 9
ucidef_add_switch_port_attr "switch0" 5 led 2
;;
wpj344)
ucidef_add_switch "switch0" \
"0@eth0" "3:lan" "2:wan"
;;
wpj558)
ucidef_add_switch "switch0" \
"5:lan" "1:wan" "6@eth0"
;;
wrt160nl)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "4@eth0"
;;
wzr-hp-g450h)
ucidef_add_switch "switch0" \
"0@eth0" "2:lan:1 3:lan:2 4:lan:3 5:lan:4" "1:wan"
;;
z1)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
ucidef_add_switch "switch0" \
"0@eth0" "1:lan:1" "2:lan:2" "3:lan:3" "4:lan:4" "5:wan"
;;
*)
ucidef_set_interfaces_lan_wan "eth0" "eth1"
;;
esac
}
ar71xx_setup_macs()
{
local board="$1"
local lan_mac=""
local wan_mac=""
case $board in
dgl-5500-a1|\
dir-825-c1)
wan_mac=$(mtd_get_mac_ascii nvram "wan_mac")
;;
dhp-1565-a1|\
dir-835-a1|\
wndr3700v4|\
wndr4300)
lan_mac=$(mtd_get_mac_binary caldata 0)
wan_mac=$(mtd_get_mac_binary caldata 6)
;;
tl-wr1043nd-v4)
wan_mac=$(mtd_get_mac_binary config 0x1017c)
;;
esr900)
wan_mac=$(mtd_get_mac_ascii u-boot-env "wanaddr")
;;
dir-869-a1|\
mynet-n750)
wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
;;
esac
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
}
board_config_update
board=$(ar71xx_board_name)
ar71xx_setup_interfaces $board
ar71xx_setup_macs $board
board_config_flush
exit 0