openwrtv3/target/linux/lantiq/base-files/etc/board.d/02_network
Mathias Kresin d3fd38637f lantiq: create ATM/PTM interfaces with dsl as netdev name
Renaming an atm etherbride using 'ip link' (via hotplug) is racy since the
original netdev might disappear before br2684ctl has finished appling it's
setting:

 local2.notice br2684ctl[1667]: Interface "nas0" created sucessfully
 local2.notice br2684ctl[1667]: Communicating over ATM 0.8.35, encapsulation: LLC
 kern.info kernel: dsl0: renamed from nas0
 kern.err kernel: br2684:br2684_regvcc: tried to attach to non-existent device
 local2.err br2684ctl[1667]: Could not configure interface:No such device or address

By passing the final used netdev name to br2684ctl_wrap another race
condition workaround will be enabled again.

Change the lantiq ptm driver to create a netdev with the name dsl as well.
Albeit the rename via 'ip link' works fine so far, using a different
approach for ptm then atm could be confusing.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-01-10 08:08:53 +01:00

248 lines
5.7 KiB
Bash
Executable file

#!/bin/sh
#
# Copyright (C) 2011-2015 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
. /lib/functions/lantiq.sh
board_config_update
vpi=1
vci=32
annex="a"
tone="av"
xfer_mode=""
encaps="llc"
payload="bridged"
lan_mac=""
wan_mac=""
interface_wan="dsl0"
board=$(board_name)
case "$board" in
audiocodes,mp-252)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
;;
allnet,all0333cj)
annex="b"
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_set_interface_lan 'eth0'
;;
arcadyan,arv4510pw)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:4" "2:lan:2" "1:lan:3" "3:lan:1" "5t@eth0"
;;
arcadyan,arv4519pw|arcadyan,arv7510pw22|arcadyan,arv7518pw)
ucidef_add_switch "switch0" \
"0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
;;
arcadyan,arv4520pw)
annex="b"
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5t@eth0"
;;
arcadyan,arv4525pw|arcadyan,arv452cqw|arcadyan,arv7525pw|arcadyan,arv752dpw)
annex="b"
ucidef_set_interface_lan 'eth0'
;;
arcadyan,arv7506pw11)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 2)
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
;;
arcadyan,arv7519pw)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 1)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
;;
arcadyan,arv7519rw22)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 22)" 1)
ucidef_add_switch "switch0" \
"0:lan:5" "2:lan:3" "3:lan:4" "4:lan:1" "5:lan:2" "6t@eth0"
;;
arcadyan,arv752dpw22|arcadyan,arv8539pw22)
annex="b"
ucidef_add_switch "switch0" \
"0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
;;
alphanetworks,asl56026)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(mtd_get_mac_ascii uboot_env wanmac)
ucidef_add_switch "switch0"\
"2:lan" "3:lan" "6t@eth0"
;;
bt,homehub-v2b)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5t@eth0"
;;
bt,homehub-v3a)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_set_interface_lan 'eth0'
;;
bt,homehub-v5a)
lan_mac=$(mtd_get_mac_binary_ubi caldata 4364)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
;;
netgear,dgn1000b)
annex="b"
ucidef_set_interface_lan 'eth0'
;;
netgear,dgn3500|netgear,dgn3500b)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5t@eth0"
;;
netgear,dm200)
lan_mac=$(mtd_get_mac_binary ART 0)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_set_interface_lan 'eth0'
;;
lantiq,easy80920-nand|lantiq,easy80920-nor)
lan_mac=$(mtd_get_mac_ascii uboot_env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
;;
avm,fritz3370)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2439)" 1)
ucidef_set_interface_lan 'eth0'
;;
avm,fritz7320)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2705)" 1)
ucidef_set_interface_lan 'eth0'
;;
avm,fritz7360sl)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary urlader 2705)" 1)
ucidef_add_switch "switch0" \
"0:lan:3" "1:lan:4" "2:lan:2" "4:lan:1" "6t@eth0"
;;
siemens,gigaset-sx76x)
annex="b"
ucidef_add_switch "switch0" \
"1:lan:4" "2:lan:3" "3:lan:2" "4:lan:1" "5t@eth0"
;;
zte,h201l)
annex="b"
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "4t@eth0"
;;
zyxel,p-2601hn)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "3:lan" "5t@eth0"
;;
zyxel,p-2812hnu-f1|zyxel,p-2812hnu-f3)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"0:lan" "1:lan" "2:lan" "4:lan" "5:wan" "6t@eth0"
;;
tplink,tdw8970|tplink,tdw8980)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary boardconfig 61696)" 1)
ucidef_add_switch "switch0" \
"0:lan:2" "2:lan:3" "4:lan:4" "5:lan:1" "6t@eth0"
;;
arcadyan,vg3503j)
lan_mac=$(mtd_get_mac_ascii uboot-env ethaddr)
wan_mac=$(macaddr_add "$lan_mac" 1)
ucidef_add_switch "switch0" \
"2:lan:1" "4:lan:2" "6t@eth0"
;;
tplink,vr200v)
wan_mac=$(macaddr_add "$(mtd_get_mac_binary romfile 61696)" 1)
ucidef_add_switch "switch0" \
"0:lan" "2:lan" "4:lan" "5:lan" "6t@eth0"
;;
arcadyan,vgv7510kw22-nor|arcadyan,vgv7510kw22-brn)
annex="b"
wan_mac=$(macaddr_add "$(mtd_get_mac_binary board_config 22)" 2)
ucidef_add_switch "switch0" \
"2:lan:2" "3:lan:1" "4:lan:4" "5:lan:3" "0:wan:5" "6t@eth0"
;;
arcadyan,vgv7519-nor|arcadyan,vgv7519-brn)
wan_mac=$(mtd_get_mac_binary board_config 22)
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "4:lan:1" "5:wan:5" "6t@eth0"
;;
buffalo,wbmr-hp-g300h)
ucidef_add_switch "switch0" \
"0t@eth0" "2:lan" "3:lan" "4:lan" "5:lan"
;;
buffalo,wbmr-300hpd)
lan_mac=$(mtd_get_mac_ascii ubootconfig ethaddr)
wan_mac="$lan_mac"
ucidef_add_switch "switch0" \
"5:lan:2" "2:lan:3" "3:lan:4" "4:wan:1" "6t@eth0"
;;
*)
ucidef_set_interface_lan 'eth0'
;;
esac
ls /lib/modules/$(uname -r)/ltq_atm* 1> /dev/null 2>&1 && \
ucidef_add_atm_bridge "$vpi" "$vci" "$encaps" "$payload" "dsl"
if lantiq_is_vdsl_system; then
ucidef_add_vdsl_modem "$annex" "$tone" "$xfer_mode"
else
ucidef_add_adsl_modem "$annex" "/lib/firmware/adsl.bin"
fi
ucidef_set_interface_wan "$interface_wan" "pppoe"
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" "$lan_mac"
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" "$wan_mac"
board_config_flush
exit 0