mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2026-03-13 12:32:29 +01:00
167 lines
3.9 KiB
Bash
167 lines
3.9 KiB
Bash
#!/bin/sh
|
|
|
|
hasEthWan="$(db -q get hw.board.hasEthWan)"
|
|
hasEthWan=${hasEthWan:-1}
|
|
hasAdsl="$(db -q get hw.board.hasAdsl)"
|
|
hasVdsl="$(db -q get hw.board.hasVdsl)"
|
|
|
|
LANPORTS="$(db -q get hw.board.ethernetLanPorts)"
|
|
|
|
ETHDEV=""
|
|
PTMDEV=""
|
|
ATMDEV=""
|
|
WANIFACE=""
|
|
|
|
device_config_exists() {
|
|
ubus call uci get '{"config":"network","type":"device"}' | grep -w name | grep -qw "$1" && return 0
|
|
return 1
|
|
}
|
|
|
|
|
|
populate_dsl_settings() {
|
|
if [ "$hasAdsl" == "0" -a "$hasVdsl" == "0" ]; then
|
|
rm -f /etc/config/dsl
|
|
return
|
|
else
|
|
touch /etc/config/dsl
|
|
fi
|
|
|
|
if ! uci -q get dsl.line >/dev/null; then
|
|
uci -q set dsl.line="dsl-line"
|
|
if [ "$hasAdsl" == "1" ]; then
|
|
# Mode
|
|
uci -q add_list dsl.line.mode=gdmt
|
|
uci -q add_list dsl.line.mode=glite
|
|
uci -q add_list dsl.line.mode=t1413
|
|
uci -q add_list dsl.line.mode=adsl2
|
|
uci -q add_list dsl.line.mode=adsl2p
|
|
uci -q add_list dsl.line.mode=annexl
|
|
uci -q add_list dsl.line.mode=annexm
|
|
uci -q add_list dsl.line.mode=vdsl2
|
|
#uci -q add_list dsl.line.mode=gfast
|
|
fi
|
|
|
|
if [ "$hasVdsl" == "1" ]; then
|
|
# Mode
|
|
uci -q add_list dsl.line.mode=vdsl2
|
|
|
|
# Profile
|
|
uci -q add_list dsl.line.profile=8a
|
|
uci -q add_list dsl.line.profile=8b
|
|
uci -q add_list dsl.line.profile=8c
|
|
uci -q add_list dsl.line.profile=8d
|
|
uci -q add_list dsl.line.profile=12a
|
|
uci -q add_list dsl.line.profile=12b
|
|
uci -q add_list dsl.line.profile=17a
|
|
uci -q add_list dsl.line.profile=30a
|
|
#uci -q add_list dsl.line.profile=35b
|
|
|
|
# Capability
|
|
uci -q set dsl.line.us0=1
|
|
fi
|
|
|
|
# Capability
|
|
uci -q set dsl.line.bitswap=1
|
|
uci -q set dsl.line.sra=1
|
|
fi
|
|
|
|
uci -q commit dsl
|
|
}
|
|
|
|
populate_atm_device() {
|
|
[ "$hasAdsl" == "0" ] && return
|
|
|
|
# ATM Device
|
|
if ! uci -q get dsl.@atm-device[0] >/dev/null; then
|
|
uci -q set dsl.atm0=atm-device
|
|
uci -q set dsl.atm0.name="ATM835"
|
|
uci -q set dsl.atm0.device="atm0"
|
|
uci -q set dsl.atm0.vpi="8"
|
|
uci -q set dsl.atm0.vci="35"
|
|
uci -q set dsl.atm0.qos_class="ubr"
|
|
uci -q set dsl.atm0.link_type="eoa"
|
|
uci -q set dsl.atm0.encapsulation="llc"
|
|
uci -q commit dsl
|
|
else
|
|
ATMDEV="$(uci -q get dsl.@atm-device[0].device)"
|
|
fi
|
|
|
|
ATMDEV="${ATMDEV:-atm0}"
|
|
|
|
WANIFACE="$ATMDEV.1"
|
|
|
|
device_config_exists "$WANIFACE" && return
|
|
|
|
uci -q set network.atmwan=device
|
|
uci -q set network.atmwan.type=untagged
|
|
uci -q set network.atmwan.ifname="$ATMDEV"
|
|
uci -q set network.atmwan.name="$WANIFACE"
|
|
}
|
|
|
|
populate_ptm_device() {
|
|
[ "$hasVdsl" == "0" ] && return
|
|
|
|
# PTM Device
|
|
if ! uci -q get dsl.@ptm-device[0] >/dev/null; then
|
|
uci -q set dsl.ptm0=atm-device
|
|
uci -q set dsl.ptm0.name="PTM"
|
|
uci -q set dsl.ptm0.device="ptm0"
|
|
uci -q set dsl.ptm0.priority="1"
|
|
uci -q set dsl.ptm0.portid="1"
|
|
uci -q commit dsl
|
|
else
|
|
PTMDEV="$(uci -q get dsl.@ptm-device[0].device)"
|
|
fi
|
|
|
|
PTMDEV="${PTMDEV:-ptm0}"
|
|
|
|
WANIFACE="$PTMDEV.1"
|
|
|
|
device_config_exists "$PTMDEV" && return
|
|
|
|
uci -q set network.ptmwan=device
|
|
uci -q set network.ptmwan.type=untagged
|
|
uci -q set network.ptmwan.ifname="$PTMDEV"
|
|
uci -q set network.ptmwan.name="$WANIFACE"
|
|
}
|
|
|
|
populate_eth_device() {
|
|
[ "$hasEthWan" == "0" ] && return
|
|
|
|
ETHDEV="$(db -q get hw.board.ethernetWanPort)"
|
|
|
|
WANIFACE="$ETHDEV.1"
|
|
|
|
device_config_exists "$WANIFACE" && return
|
|
|
|
uci -q set network.ethwan=device
|
|
uci -q set network.ethwan.type=untagged
|
|
uci -q set network.ethwan.ifname="$ETHDEV"
|
|
uci -q set network.ethwan.name="$WANIFACE"
|
|
}
|
|
|
|
populate_network_config_ifnames() {
|
|
# LAN ports
|
|
uci -q get network.lan.ifname >/dev/null || uci -q set network.lan.ifname="$LANPORTS"
|
|
|
|
[ $((hasEthWan+hasAdsl+hasVdsl)) -eq 0 ] && {
|
|
uci -q commit network
|
|
return
|
|
}
|
|
|
|
WANTYPE="$(uci -q get network.wan.type)"
|
|
[ "$WANTYPE" == "anywan" ] && {
|
|
uci -q delete network.wan.type
|
|
uci -q set network.wan.ifname="$WANIFACE"
|
|
}
|
|
|
|
uci -q get network.wan.ifname >/dev/null || uci -q set network.wan.ifname="$WANIFACE"
|
|
|
|
uci -q commit network
|
|
}
|
|
|
|
populate_dsl_settings
|
|
populate_atm_device
|
|
populate_ptm_device
|
|
populate_eth_device
|
|
populate_network_config_ifnames
|