bbdf2ac305
With de51026515
the explicit tagging of
the CPU port was removed. This leads to a not working default network
config, with vlans enabled but disabled CPU tagging, for boards where
all switch ports are having the same role.
In case the ports are having different roles set, tagging is is set
implicit for the CPU port by ucidef_add_switch().
Signed-off-by: Mathias Kresin <dev@kresin.me>
397 lines
7.4 KiB
Bash
Executable file
397 lines
7.4 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_add_switch "rt305x" $lanports $wanports "6t@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|\
|
|
zbt-cpe102|\
|
|
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|\
|
|
mac1200rv2|\
|
|
miwifi-mini|\
|
|
miwifi-nano|\
|
|
mt7621|\
|
|
mt7628|\
|
|
mzk-750dhp|\
|
|
mzk-w300nh2|\
|
|
nixcore|\
|
|
oy-0001|\
|
|
pbr-m1|\
|
|
psg1208|\
|
|
psg1218|\
|
|
sap-g3200u3|\
|
|
sk-wb8|\
|
|
wf-2881|\
|
|
whr-300hp2|\
|
|
whr-600d|\
|
|
witi|\
|
|
wndr3700v5|\
|
|
wsr-1166|\
|
|
wsr-600|\
|
|
wt1520|\
|
|
y1|\
|
|
youku-yk1|\
|
|
zbt-ape522ii|\
|
|
zbt-we826|\
|
|
zbt-wg2626|\
|
|
zbt-wg3526|\
|
|
zbt-wr8305rt)
|
|
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|\
|
|
jhr-n805r|\
|
|
jhr-n825r|\
|
|
jhr-n926r|\
|
|
mzk-wdpr|\
|
|
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|\
|
|
pbr-d1|\
|
|
wli-tx4-ag300n|\
|
|
wmr-300|\
|
|
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"
|
|
;;
|
|
mzk-dp150n|\
|
|
vocore)
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "4:lan" "6t@eth0"
|
|
;;
|
|
newifi-d1)
|
|
ucidef_set_interface_lan_wan "eth0.1" "eth0.2"
|
|
ucidef_add_switch "switch0" \
|
|
"0:lan" "1:lan" "2:lan" "3:lan" "5:wan" "6t@eth0" "7t@eth0"
|
|
ucidef_add_switch "switch1" \
|
|
"4:lan" "6t@eth0" "7t@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"
|
|
;;
|
|
*)
|
|
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)
|
|
;;
|
|
mac1200rv2)
|
|
lan_mac=$(mtd_get_mac_binary factory_info 13)
|
|
wan_mac=$(macaddr_add "$lan_mac" 1)
|
|
;;
|
|
m3|\
|
|
m4|\
|
|
x5|\
|
|
x8)
|
|
lan_mac=$(cat /sys/class/net/eth0/address)
|
|
lan_mac=$(macaddr_add "$lan_mac" -2)
|
|
;;
|
|
newifi-d1)
|
|
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)
|
|
wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 4)" 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
|