#!/bin/sh /etc/rc.common . /lib/functions.sh . /usr/share/libubox/jshn.sh include /lib/network START=21 USE_PROCD=1 start_service() { local AnnexM local GDmt local Glite local T1413 local ADSL2 local AnnexL local ADSL2plus local VDSL2 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 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') 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 quest "{ \"info\": \"specs\" }")" json_get_var vdsl vdsl if [ $vdsl -eq 1 ]; then echo "xdslctl start --up --mod $GDmt$Glite$T1413$ADSL2$AnnexL$ADSL2plus$AnnexM$VDSL2 --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 --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 }