ltq-vdsl-app: add support for auto xfer_mode and auto line_mode

If xfer_mode is set to auto the vdsl_cpe_control daemon assumes that
ATM should be used for ADSL and PTM for VDSL.

xfer_mode and line_mode can be set to fixed value independantly from
each other.

The syntax for the tc_layer argument of vdsl_cpe_control is as follow:

-T<TcADSL>:<TcCfgUsADSL>:<TcCfgDsADSL>_<TcVDSL>:<TcCfgUsVDSL>:<TcCfgDsVDSL>

where TcADSL and TcVDSL can be: 1=ATM, 2=PTM/EFM, 4=Auto TC-Layer

and TcCfgUsADSL, TcCfgUsVDSL, TcCfgDsADSL, TcCfgDsVDSL can be:
1=64/65-octet encapsulation supported
2=64/65-octet encapsulation with pre-emption
3=64/65-octet encapsulation with short packets

Default: In case of no '-T' option is given, ADSL will be configured
in ATM and VDSL in PTM/EFM: -T1:0x1:0x1_2:0x1:0x1

The '-M' argument of dsl_cpe_control defines the initial DSL mode
(NextMode) for ADSL/VDSL multimode handling.

Possible Values: 0=API-default, 1=ADSL, 2=VDSL

Default: In case of no '-M' option is given, '0' (API-default) will
be selected.

Signed-off-by: Martin Schiller <ms@dev.tdt.de>
openwrt-18.06
Martin Schiller 2017-08-03 09:55:00 +02:00 committed by Mathias Kresin
parent f6254a215e
commit 2da6c85c80
1 changed files with 9 additions and 11 deletions

View File

@ -180,6 +180,7 @@ start_service() {
local xtse local xtse
local xfer_mode local xfer_mode
local line_mode local line_mode
local tc_layer
local mode local mode
local lowlevel local lowlevel
local snr local snr
@ -194,28 +195,24 @@ start_service() {
eval "xtse=\"\${xtse_xdsl_$annex}\"" eval "xtse=\"\${xtse_xdsl_$annex}\""
[ -z "${xfer_mode}" ] && xfer_mode=ptm
case "${xfer_mode}" in case "${xfer_mode}" in
atm) atm)
# in most cases atm is used on top of adsl tc_layer="-T1:0x1:0x1_1:0x1:0x1"
[ -z "${line_mode}" ] && line_mode=adsl
;; ;;
*) ptm)
# in most cases ptm is used on top of vdsl tc_layer="-T2:0x1:0x1_2:0x1:0x1"
[ -z "${line_mode}" ] && line_mode=vdsl
;; ;;
esac esac
case "${line_mode}" in case "${line_mode}" in
adsl) adsl)
mode=1 mode="-M1"
# mask out VDSL bits when ADSL is requested # mask out VDSL bits when ADSL is requested
xtse="${xtse%_*}_00" xtse="${xtse%_*}_00"
;; ;;
*) vdsl)
mode=2 mode="-M2"
# mask out ADSL bits when VDSL is requested # mask out ADSL bits when VDSL is requested
xtse="00_00_00_00_00_00_00_${xtse##*_}" xtse="00_00_00_00_00_00_00_${xtse##*_}"
@ -303,7 +300,8 @@ start_service() {
-n /sbin/dsl_notify.sh \ -n /sbin/dsl_notify.sh \
-f ${firmware} \ -f ${firmware} \
$lowlevel \ $lowlevel \
-M ${mode} \ ${mode} \
${tc_layer} \
$autoboot $autoboot
procd_close_instance procd_close_instance
} }