Hardware: SoC: AR9344 CPU: 560 MHz Flash: 8 MiB RAM: 128 MiB WiFi: Atheros AR9340 2.4GHz 802.11bgn Atheros AR9300 5GHz 802.11an Ethernet: AR934X built-in switch, WAN on separate physical interface USB: 1x 2.0 Flash instruction (WebUI): Download *-factory.bin image and upload it via the firmwary upgrade function of the stock firmware WebUI. Flash instruction (TFTP): 1. Set PC to fixed ip address 192.168.0.66 2. Download *-factory.bin image and rename it to wdr3500v1_tp_recovery.bin 3. Start a tftp server with the image file in its root directory 4. Turn off the router 5. Press and hold Reset button 6. Turn on router with the reset button pressed and wait ~15 seconds 7. Release the reset button and after a short time the firmware should be transferred from the tftp server 8. Wait ~30 second to complete recovery. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [removed stray newline] Signed-off-by: David Bauer <mail@david-bauer.net>
429 lines
10 KiB
Bash
Executable file
429 lines
10 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
. /lib/functions/system.sh
|
|
. /lib/functions/uci-defaults.sh
|
|
. /lib/functions/k2t.sh
|
|
|
|
ath79_setup_interfaces()
|
|
{
|
|
local board="$1"
|
|
|
|
case "$board" in
|
|
adtran,bsap1800-v2|\
|
|
adtran,bsap1840|\
|
|
alfa-network,ap121f|\
|
|
aruba,ap-105|\
|
|
avm,fritz300e|\
|
|
devolo,dvl1200i|\
|
|
devolo,dvl1750c|\
|
|
devolo,dvl1750i|\
|
|
devolo,dvl1750x|\
|
|
engenius,ecb1750|\
|
|
glinet,ar300m-lite|\
|
|
netgear,ex6400|\
|
|
netgear,ex7300|\
|
|
ocedo,koala|\
|
|
ocedo,raccoon|\
|
|
pcs,cap324|\
|
|
pisen,ts-d084|\
|
|
pisen,wmb001n|\
|
|
pisen,wmm003n|\
|
|
pqi,air-pen|\
|
|
tplink,cpe210-v2|\
|
|
tplink,cpe210-v3|\
|
|
tplink,cpe510-v2|\
|
|
tplink,cpe510-v3|\
|
|
tplink,cpe610-v1|\
|
|
tplink,re350k-v1|\
|
|
tplink,re355-v1|\
|
|
tplink,re450-v1|\
|
|
tplink,re450-v2|\
|
|
tplink,tl-mr10u|\
|
|
tplink,tl-mr3020-v1|\
|
|
tplink,tl-mr3040-v2|\
|
|
tplink,tl-wa901nd-v2|\
|
|
tplink,tl-wr703n|\
|
|
ubnt,bullet-m|\
|
|
ubnt,bullet-m-xw|\
|
|
ubnt,lap-120|\
|
|
ubnt,nanobeam-ac|\
|
|
ubnt,nanostation-ac-loco|\
|
|
ubnt,rocket-m|\
|
|
ubnt,unifiac-lite|\
|
|
ubnt,unifiac-mesh|\
|
|
ubnt,unifi|\
|
|
wd,mynet-wifi-rangeextender|\
|
|
winchannel,wb2000)
|
|
ucidef_set_interface_lan "eth0"
|
|
;;
|
|
avm,fritz4020|\
|
|
pcs,cr3000|\
|
|
tplink,archer-c58-v1|\
|
|
tplink,archer-c59-v1)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan:1" "2:lan:4" "3:lan:3" "4:lan:2"
|
|
;;
|
|
buffalo,bhr-4grv|\
|
|
buffalo,wzr-hp-g450h)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan" "3:lan" "4:lan" "5:lan" "1:wan"
|
|
;;
|
|
buffalo,bhr-4grv2|\
|
|
trendnet,tew-823dru)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth1" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "6@eth0"
|
|
;;
|
|
buffalo,whr-g301n)
|
|
ucidef_set_interface_wan "eth0"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
|
|
;;
|
|
buffalo,wzr-hp-ag300h|\
|
|
tplink,archer-c25-v1|\
|
|
tplink,tl-mr3220-v1|\
|
|
tplink,tl-mr3420-v1|\
|
|
tplink,tl-wdr3500-v1|\
|
|
tplink,tl-wr841-v7|\
|
|
tplink,tl-wr841-v9|\
|
|
tplink,tl-wr841-v10|\
|
|
tplink,tl-wr841-v11|\
|
|
tplink,tl-wr841-v12|\
|
|
tplink,tl-wr842n-v1|\
|
|
tplink,tl-wr842n-v3|\
|
|
tplink,tl-wr940n-v3|\
|
|
tplink,tl-wr940n-v4|\
|
|
tplink,tl-wr941nd-v6|\
|
|
ubnt,airrouter)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1"
|
|
;;
|
|
buffalo,wzr-hp-g302h-a1a0)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan:1" "3:lan:4" "4:lan:3" "5:lan:2" "2:wan"
|
|
;;
|
|
comfast,cf-e110n-v2|\
|
|
comfast,cf-e120a-v3|\
|
|
comfast,cf-e314n-v2|\
|
|
tplink,cpe210-v1|\
|
|
tplink,cpe220-v2|\
|
|
tplink,cpe510-v1|\
|
|
ubnt,nanostation-m|\
|
|
ubnt,routerstation)
|
|
ucidef_set_interfaces_lan_wan "eth1" "eth0"
|
|
;;
|
|
comfast,cf-wr650ac-v1|\
|
|
comfast,cf-wr650ac-v2)
|
|
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"
|
|
;;
|
|
devolo,dvl1200e|\
|
|
devolo,dvl1750e|\
|
|
ocedo,ursus)
|
|
ucidef_set_interface_lan "eth0 eth1"
|
|
;;
|
|
dlink,dir-825-b1)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:lan" "2:lan" "3:lan" "5@eth0"
|
|
;;
|
|
dlink,dir-825-c1|\
|
|
dlink,dir-835-a1|\
|
|
dlink,dir-842-c1|\
|
|
dlink,dir-842-c2|\
|
|
dlink,dir-842-c3|\
|
|
dlink,dir-859-a1|\
|
|
engenius,epg5000|\
|
|
tplink,archer-c2-v3|\
|
|
tplink,tl-wr1043nd-v4|\
|
|
tplink,tl-wr1043n-v5)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan"
|
|
;;
|
|
elecom,wrc-1750ghbk2-i|\
|
|
elecom,wrc-300ghbk2-i)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan:4" "3:lan:3" "4:lan:2" "5:lan:1" "1:wan"
|
|
;;
|
|
embeddedwireless,dorin)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:wan" "2:lan:3" "3:lan:2"
|
|
;;
|
|
engenius,ews511ap)
|
|
ucidef_set_interface_lan "eth0 eth1" "dhcp"
|
|
;;
|
|
etactica,eg200)
|
|
ucidef_set_interface_lan "eth0" "dhcp"
|
|
;;
|
|
glinet,gl-ar750)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan" "2:lan"
|
|
;;
|
|
glinet,gl-ar750s)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan:2" "3:lan:1" "1:wan"
|
|
;;
|
|
iodata,etg3-r|\
|
|
iodata,wn-ac1167dgr|\
|
|
iodata,wn-ac1600dgr|\
|
|
iodata,wn-ac1600dgr2|\
|
|
iodata,wn-ag300dgr|\
|
|
pcs,cr5000|\
|
|
wd,mynet-n750)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan"
|
|
;;
|
|
librerouter,librerouter-v1)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "5:wan" "6@eth1" "4:lan"
|
|
;;
|
|
nec,wg1200cr|\
|
|
ubnt,nanostation-ac|\
|
|
ubnt,unifiac-mesh-pro|\
|
|
ubnt,unifiac-pro)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan" "3:wan"
|
|
;;
|
|
nec,wg800hp)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan" "3:lan" "4:lan" "1:wan"
|
|
;;
|
|
netgear,wndr3700|\
|
|
netgear,wndr3700v2|\
|
|
netgear,wndr3800)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5u@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
|
|
;;
|
|
netgear,wnr612-v2|\
|
|
on,n150r|\
|
|
tplink,tl-wr740n-v1|\
|
|
tplink,tl-wr740n-v3|\
|
|
tplink,tl-wr741-v1|\
|
|
tplink,tl-wr743nd-v1|\
|
|
tplink,tl-wr841-v5|\
|
|
tplink,tl-wr941-v4)
|
|
ucidef_set_interface_wan "eth0"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth1" "1:lan" "2:lan" "3:lan" "4:lan"
|
|
;;
|
|
phicomm,k2t)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "3:lan:1" "5:lan:2" "4:wan"
|
|
;;
|
|
qihoo,c301)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan" "3:lan"
|
|
;;
|
|
rosinson,wr818)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan" "2:lan" "3:wan"
|
|
;;
|
|
tplink,archer-a7-v5|\
|
|
tplink,archer-c6-v2|\
|
|
tplink,archer-c7-v4|\
|
|
tplink,archer-c7-v5|\
|
|
tplink,tl-wdr3600-v1|\
|
|
tplink,tl-wdr4300-v1|\
|
|
tplink,tl-wr941n-v7-cn)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan:1" "3:lan:2" "4:lan:3" "5:lan:4" "1:wan"
|
|
;;
|
|
tplink,archer-c5-v1|\
|
|
tplink,archer-c7-v1|\
|
|
tplink,archer-c7-v2|\
|
|
tplink,tl-wdr4900-v2)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth1" "2:lan" "3:lan" "4:lan" "5:lan" "6@eth0" "1:wan"
|
|
;;
|
|
tplink,archer-c60-v1|\
|
|
tplink,archer-c60-v2)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan" "2:lan" "3:lan" "4:lan"
|
|
;;
|
|
tplink,archer-d50-v1)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan:3" "3:lan:2" "4:lan:1" "1:wan"
|
|
;;
|
|
tplink,tl-mr3420-v2|\
|
|
tplink,tl-wr740n-v4|\
|
|
tplink,tl-wr741nd-v4|\
|
|
tplink,tl-wr841-v8|\
|
|
tplink,tl-wr842n-v2)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "1:lan:4" "2:lan:1" "3:lan:2" "4:lan:3"
|
|
;;
|
|
tplink,tl-wr1043nd-v1)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
|
|
;;
|
|
tplink,tl-wr1043nd-v2|\
|
|
tplink,tl-wr1043nd-v3)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth1" "1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5:wan" "6@eth0"
|
|
;;
|
|
tplink,tl-wr2543-v1)
|
|
ucidef_add_switch "switch0" \
|
|
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
|
|
;;
|
|
tplink,tl-wr941-v2)
|
|
ucidef_set_interfaces_lan_wan "lan1 lan2 lan3 lan4" "wan"
|
|
;;
|
|
ubnt,acb-isp)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "2:lan:1" "3:lan:3" "4:lan:2"
|
|
;;
|
|
ubnt,routerstation-pro)
|
|
ucidef_set_interface_wan "eth0"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth1" "2:lan:3" "3:lan:2" "4:lan:1"
|
|
;;
|
|
ubnt,nanostation-m-xw)
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "5:lan" "1:wan"
|
|
;;
|
|
zbtlink,zbt-wd323|\
|
|
xiaomi,mi-router-4q)
|
|
ucidef_set_interface_wan "eth1"
|
|
ucidef_add_switch "switch0" \
|
|
"0@eth0" "3:lan:1" "4:lan:2"
|
|
;;
|
|
*)
|
|
ucidef_set_interfaces_lan_wan "eth0" "eth1"
|
|
;;
|
|
esac
|
|
}
|
|
|
|
ath79_setup_macs()
|
|
{
|
|
local board="$1"
|
|
|
|
case "$board" in
|
|
adtran,bsap1800-v2|\
|
|
adtran,bsap1840)
|
|
lan_mac=$(mtd_get_mac_binary "Board data" 2)
|
|
;;
|
|
avm,fritz300e)
|
|
lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
|
|
;;
|
|
avm,fritz4020)
|
|
lan_mac=$(fritz_tffs -n maca -i $(find_mtd_part "tffs (1)"))
|
|
wan_mac=$(fritz_tffs -n macb -i $(find_mtd_part "tffs (1)"))
|
|
;;
|
|
dlink,dir-825-b1)
|
|
lan_mac=$(mtd_get_mac_text "caldata" 0xffa0)
|
|
wan_mac=$(mtd_get_mac_text "caldata" 0xffb4)
|
|
;;
|
|
dlink,dir-825-c1|\
|
|
dlink,dir-835-a1)
|
|
lan_mac=$(mtd_get_mac_text "mac" 0x4)
|
|
wan_mac=$(mtd_get_mac_text "mac" 0x18)
|
|
;;
|
|
dlink,dir-842-c1|\
|
|
dlink,dir-842-c2|\
|
|
dlink,dir-842-c3|\
|
|
dlink,dir-859-a1|\
|
|
nec,wg1200cr|\
|
|
wd,mynet-n750)
|
|
lan_mac=$(mtd_get_mac_ascii devdata "lanmac")
|
|
wan_mac=$(mtd_get_mac_ascii devdata "wanmac")
|
|
;;
|
|
elecom,wrc-1750ghbk2-i|\
|
|
elecom,wrc-300ghbk2-i)
|
|
wan_mac=$(macaddr_add "$(mtd_get_mac_binary art 0x1002)" -2)
|
|
;;
|
|
engenius,ecb1750)
|
|
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
|
;;
|
|
engenius,epg5000|\
|
|
iodata,wn-ac1167dgr|\
|
|
iodata,wn-ac1600dgr|\
|
|
iodata,wn-ac1600dgr2|\
|
|
iodata,wn-ag300dgr)
|
|
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
|
wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
|
|
;;
|
|
engenius,ews511ap)
|
|
lan_mac=$(mtd_get_mac_text "u-boot-env" 0xe9)
|
|
eth1_mac=$(macaddr_add "$lan_mac" 1)
|
|
ucidef_set_interface "eth0" ifname "eth0" protocol "none" macaddr "$lan_mac"
|
|
ucidef_set_interface "eth1" ifname "eth1" protocol "none" macaddr "$eth1_mac"
|
|
;;
|
|
iodata,etg3-r)
|
|
lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
|
|
wan_mac=$(macaddr_add "$lan_mac" -1)
|
|
;;
|
|
jjplus,ja76pf2)
|
|
wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n alias/ethaddr)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
;;
|
|
nec,wg800hp)
|
|
lan_mac=$(mtd_get_mac_text board_data 0x280)
|
|
wan_mac=$(mtd_get_mac_text board_data 0x480)
|
|
;;
|
|
netgear,wndr3700|\
|
|
netgear,wndr3700v2|\
|
|
netgear,wndr3800)
|
|
lan_mac=$(macaddr_setbit_la "$(mtd_get_mac_binary art 0x0)")
|
|
;;
|
|
phicomm,k2t)
|
|
lan_mac=$(k2t_get_mac "lan_mac")
|
|
wan_mac=$(k2t_get_mac "wan_mac")
|
|
;;
|
|
qihoo,c301)
|
|
lan_mac=$(mtd_get_mac_ascii devdata lanmac)
|
|
wan_mac=$(mtd_get_mac_ascii devdata wanmac)
|
|
;;
|
|
rosinson,wr818)
|
|
wan_mac=$(mtd_get_mac_binary factory 0x0)
|
|
lan_mac=$(macaddr_setbit_la "$wan_mac")
|
|
;;
|
|
tplink,archer-a7-v5|\
|
|
tplink,archer-c7-v4|\
|
|
tplink,archer-c7-v5|\
|
|
tplink,tl-wr1043nd-v4|\
|
|
tplink,tl-wr1043n-v5)
|
|
base_mac=$(mtd_get_mac_binary info 0x8)
|
|
wan_mac=$(macaddr_add "$base_mac" 1)
|
|
;;
|
|
tplink,tl-wr941-v2|\
|
|
tplink,tl-wr941n-v7-cn)
|
|
base_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
|
|
wan_mac=$(macaddr_add "$base_mac" 1)
|
|
;;
|
|
trendnet,tew-823dru)
|
|
lan_mac=$(mtd_get_mac_text mac 0x4)
|
|
wan_mac=$(mtd_get_mac_text mac 0x18)
|
|
;;
|
|
ubnt,routerstation|\
|
|
ubnt,routerstation-pro)
|
|
wan_mac=$(fconfig -s -r -d $(find_mtd_part "RedBoot config") -n ar7100_esa)
|
|
lan_mac=$(macaddr_add "$wan_mac" 1)
|
|
;;
|
|
wd,mynet-wifi-rangeextender)
|
|
lan_mac=$(nvram get et0macaddr)
|
|
;;
|
|
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=$(board_name)
|
|
ath79_setup_interfaces $board
|
|
ath79_setup_macs $board
|
|
board_config_flush
|
|
|
|
exit 0
|