iopsys-feed/layer2interface/broadcom/etc/init.d/layer2_interface
2017-07-03 17:02:54 +02:00

120 lines
3.1 KiB
Bash
Executable file

#!/bin/sh /etc/rc.common
. /lib/functions.sh
. /usr/share/libubox/jshn.sh
include /lib/network
START=22
USE_PROCD=1
start_service() {
local AnnexM
local GDmt
local Glite
local T1413
local ADSL2
local AnnexL
local ADSL2plus
local VDSL2
local GFast
local a8a
local b8b
local c8c
local d8d
local a12a
local b12b
local a17a
local US0
local bitswap
local sra
local vdsl
config_load layer2_interface
config_get Glite capabilities Glite
config_get GDmt capabilities GDmt
config_get T1413 capabilities T1413
config_get ADSL2 capabilities ADSL2
config_get ADSL2plus capabilities ADSL2plus
config_get AnnexL capabilities AnnexL
config_get VDSL2 capabilities VDSL2
config_get GFast capabilities GFast
config_get AnnexM capabilities AnnexM
config_get a8a capabilities 8a
config_get b8b capabilities 8b
config_get c8c capabilities 8c
config_get d8d capabilities 8d
config_get a12a capabilities 12a
config_get b12b capabilities 12b
config_get a17a capabilities 17a
config_get US0 capabilities US0
config_get bitswap capabilities bitswap
config_get sra capabilities sra
GDmt=$(echo $GDmt | sed 's/Enabled\|1/d/g')
Glite=$(echo $Glite | sed 's/Enabled\|1/l/g')
T1413=$(echo $T1413 | sed 's/Enabled\|1/t/g')
ADSL2=$(echo $ADSL2 | sed 's/Enabled\|1/2/g')
AnnexL=$(echo $AnnexL | sed 's/Enabled\|1/e/g')
ADSL2plus=$(echo $ADSL2plus | sed 's/Enabled\|1/p/g')
AnnexM=$(echo $AnnexM | sed 's/Enabled\|1/m/g')
VDSL2=$(echo $VDSL2 | sed 's/Enabled\|1/v/g')
GFast=$(echo $GFast | sed 's/Enabled\|1/f/g')
a8a=$(echo $a8a | sed 's/Enabled\|1/8a/g')
b8b=$(echo $b8b | sed 's/Enabled\|1/8b/g')
c8c=$(echo $c8c | sed 's/Enabled\|1/8c/g')
d8d=$(echo $d8d | sed 's/Enabled\|1/8d/g')
a12a=$(echo $a12a | sed 's/Enabled\|1/12a/g')
b12b=$(echo $b12b | sed 's/Enabled\|1/12b/g')
a17a=$(echo $a17a | sed 's/Enabled\|1/17a/g')
US0=$(echo $US0 | sed 's/1/on/g')
US0=$(echo $US0 | sed 's/0/off/g')
bitswap=$(echo $bitswap | sed 's/1/on/g')
bitswap=$(echo $bitswap | sed 's/0/off/g')
sra=$(echo $sra | sed 's/1/on/g')
sra=$(echo $sra | sed 's/0/off/g')
echo "Starting DSL"
xtmctl start
xtmctl operate intf --state 1 enable
json_load "$(ubus call router.system info)"
json_select specs
json_get_var vdsl vdsl
if [ $vdsl -eq 1 ]; then
echo "xdslctl start --up --mod $GDmt$Glite$T1413$ADSL2$AnnexL$ADSL2plus$AnnexM$VDSL2$4GFast --profile \"$a8a $b8b $c8c $d8d $a12a $b12b $a17a\" --sra $sra --bitswap $bitswap --us0 $US0"
xdslctl start --up --mod $GDmt$Glite$T1413$ADSL2$AnnexL$ADSL2plus$AnnexM$VDSL2$4GFast --profile "$a8a $b8b $c8c $d8d $a12a $b12b $a17a" --sra $sra --bitswap $bitswap --us0 $US0
else
echo "xdslctl start --up --mod $GDmt$Glite$T1413$ADSL2$AnnexL$ADSL2plus$AnnexM --sra $sra --bitswap $bitswap"
xdslctl start --up --mod $GDmt$Glite$T1413$ADSL2$AnnexL$ADSL2plus$AnnexM --sra $sra --bitswap $bitswap
fi
}
stop_service() {
echo "Stopping DSL"
# stop causes IRQ issues
#xdslctl stop
}
boot() {
vlanctl --if-suffix .
add_ebtables_default_arp
start
}
reload_service() {
stop
start
}
service_triggers() {
procd_add_reload_trigger layer2_interface
}