openwrtv3/target/linux/ramips/base-files/etc/board.d/02_network
Mathias Kresin a7c6cf5182 ramips: TEW-692GR: fix switch and wireless
The AR8327 initvals were not copied to the DTS during the switch from
mach file to device tree and broke the switch on the device.

The former used PORT6 related initvals were wrong and have been
corrected.

The phy mode setting for the switch was missing in the DTS as well.

The wireless requires an eeprom to work. The dual band wireless chips
have both bands enabled by default but only one band per chip is
working.

The stock firmware uses the following mac addresses:

LAN:    AA:BB:CC:DD:EE:E4
WAN:    AA:BB:CC:DD:EE:E4
2.4GHz: AA:BB:CC:DD:EE:E4
5 GHz:  AA:BB:CC:DD:EE:E8

Assuming the mac address range :E4 to :E8 is reserved for this device,
the MAC addresses were reorder to have a unique MAC address for each
interface:

LAN:    AA:BB:CC:DD:EE:E4
2.4GHz: AA:BB:CC:DD:EE:E4
WAN:    AA:BB:CC:DD:EE:E5
5 GHz:  AA:BB:CC:DD:EE:E8

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-08-20 11:45:45 +02:00

385 lines
7.1 KiB
Bash
Executable file

#!/bin/sh
. /lib/functions.sh
. /lib/ramips.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_set_interfaces_lan_wan "eth0.1" "eth0.2"
ucidef_add_switch "rt305x" $lanports $wanports "6@eth0"
}
ramips_setup_interfaces()
{
local board="$1"
case $board in
3g150b|\
3g300m|\
a5-v11|\
all0256n|\
all5002|\
all5003|\
broadway|\
dcs-930|\
dcs-930l-b1|\
ht-tm02|\
linkits7688 | \
linkits7688d | \
m2m|\
microwrt|\
mpr-a2|\
ncs601w|\
timecloud|\
w150m|\
widora-neo|\
wnce2001|\
zte-q7)
ucidef_add_switch "switch0"
ucidef_add_switch_attr "switch0" "enable" "false"
ucidef_set_interface_lan "eth0"
;;
3g-6200nl|\
mlw221|\
mr-102n)
ucidef_set_interface_lan "eth0.2"
;;
3g-6200n|\
ai-br100|\
db-wrt01|\
dir-300-b7|\
dir-320-b1|\
dir-610-a1|\
dir-615-h1|\
firewrt|\
hlk-rm04|\
miwifi-mini|\
miwifi-nano|\
mt7621|\
mt7628|\
mzk-750dhp|\
mzk-w300nh2|\
nixcore|\
oy-0001|\
pbr-m1|\
psg1208|\
sap-g3200u3|\
sk-wb8|\
wf-2881|\
whr-300hp2|\
whr-600d|\
witi|\
wndr3700v5|\
wsr-1166|\
wsr-600|\
wt1520|\
y1|\
zbt-wg2626|\
zbt-wg3526|\
youku-yk1)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;;
ar670w|\
ar725w|\
rt-n15|\
wl-351)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "5@eth0"
;;
asl26555|\
re6500|\
rp-n53)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "6t@eth0"
;;
atp-52b|\
awm002-evb|\
awm003-evb|\
c20i|\
c50|\
dir-645|\
dir-860l-b1|\
f5d8235-v1|\
f5d8235-v2|\
gl-mt300a|\
gl-mt300n|\
gl-mt750|\
hg255d|\
mzk-wdpr|\
jhr-n805r|\
jhr-n825r|\
jhr-n926r|\
rt-n14u|\
ubnt-erx|\
ur-326n4g|\
wrtnode|\
wrtnode2p | \
wrtnode2r | \
wt3020|\
zbt-wa05)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "6@eth0"
;;
awapn2403)
ucidef_add_switch "switch0" \
"0:lan" "1:wan" "6@eth0"
;;
b2c|\
nw718|\
psr-680w|\
sl-r7205|\
ur-336un|\
w502u|\
wr6202)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
;;
br-6475nd)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "9@eth0"
;;
cf-wr800n|\
ex2700)
ucidef_add_switch "switch0" \
"4:lan" "6t@eth0"
;;
cy-swr1100)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "9@eth0"
;;
cs-qr10|\
d105|\
dch-m225|\
hpm|\
mzk-ex300np|\
mzk-ex750np|\
na930|\
wli-tx4-ag300n|\
wrh-300cr)
ucidef_set_interface_lan "eth0"
;;
duzun-dm06)
ucidef_add_switch "switch0" \
"1:lan" "0:wan" "6@eth0"
;;
e1700|\
mt7620a_mt7530)
ucidef_add_switch "switch1" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@eth0"
;;
hc5*61|\
y1s)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:lan" "0:wan" "6@eth0"
;;
mlwg2|\
wizard8800|\
wl-330n)
ucidef_set_interface_lan "eth0.1"
;;
wmr-300)
ucidef_set_interface_lan "eth0"
;;
mzk-dp150n|\
vocore)
ucidef_add_switch "switch0" \
"0:lan" "4:lan" "6t@eth0"
;;
rt-n56u)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "8@eth0"
;;
tew-691gr|\
tew-692gr)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
;;
tew-714tru|\
v11st-fe|\
wzr-agl300nh)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "0:wan" "5@eth0"
;;
wcr-150gn)
ucidef_add_switch "switch0" \
"0:lan" "6t@eth0"
;;
whr-1166d)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6@eth0"
;;
wizfi630a)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "0:wan" "6@eth0"
;;
zbt-ape522ii|\
zbt-we826|\
zbt-wr8305rt)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4:wan" "6@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
a5-v11|\
ht-tm02)
lan_mac=$(cat /sys/class/net/eth0/address)
;;
all0239-3g|\
carambola|\
freestation5|\
w502u|\
wnce2001)
wan_mac=$(mtd_get_mac_binary factory 46)
;;
bc2|\
broadway|\
d105|\
dir-300-b7|\
dir-320-b1|\
dir-620-a1|\
esr-9753|\
freestation5|\
hlk-rm04|\
mpr-a1|\
psr-680w|\
sl-r7205|\
y1|\
y1s)
lan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_setbit_la "$lan_mac")
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
br-6475nd)
lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(mtd_get_mac_binary devdata 7)
;;
cy-swr1100|\
dch-m225)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
;;
dir-645)
lan_mac=$(mtd_get_mac_ascii nvram lanmac)
wan_mac=$(mtd_get_mac_ascii nvram wanmac)
;;
dir-860l-b1)
lan_mac=$(mtd_get_mac_ascii factory lanmac)
wan_mac=$(mtd_get_mac_ascii factory wanmac)
;;
e1700)
wan_mac=$(mtd_get_mac_ascii config WAN_MAC_ADDR)
;;
hc5*61)
lan_mac=`mtd_get_mac_ascii bdinfo "Vfac_mac "`
[ -n "$lan_mac" ] || lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
linkits7688 | \
linkits7688d)
wan_mac=$(mtd_get_mac_binary factory 4)
lan_mac=$(mtd_get_mac_binary factory 46)
;;
m3|\
m4|\
x5|\
x8)
lan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_add "$lan_mac" -2)
;;
oy-0001)
lan_mac=$(mtd_get_mac_binary factory 40)
wan_mac=$(mtd_get_mac_binary factory 46)
;;
rt-n56u)
lan_mac=$(cat /sys/class/net/eth0/address)
lan_mac=$(macaddr_setbit_la "$lan_mac")
wan_mac=$(mtd_get_mac_binary factory 32772)
;;
sk-wb8)
wan_mac=$(mtd_get_mac_binary factory 57350)
;;
tew-691gr)
lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 3)
;;
tew-692gr)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 1)
;;
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)
;;
w306r-v20)
lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 5)
;;
wcr-150gn)
wan_mac=$(mtd_get_mac_binary factory 40)
;;
whr-1166d|\
whr-300hp2|\
whr-600d|\
wsr-600)
wan_mac=$(mtd_get_mac_binary factory 4)
lan_mac=$wan_mac
;;
wizfi630a)
lan_mac=$(mtd_get_mac_binary factory 4)
wan_mac=$(mtd_get_mac_binary factory 40)
;;
wsr-1166)
local index="$(find_mtd_index "board_data")"
wan_mac="$(grep -m1 mac= "/dev/mtd${index}" | cut -d= -f2)"
lan_mac=$wan_mac
;;
*)
lan_mac=$(cat /sys/class/net/eth0/address)
wan_mac=$(macaddr_add "$lan_mac" 1)
;;
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=$(ramips_board_name)
ramips_setup_interfaces $board
ramips_setup_macs $board
board_config_flush
exit 0