openwrtv4/package/network/config/ltq-vdsl-app/files/dsl_control
John Crispin 4908088268 ltq-vdsl-app: enable G.993.5 XTSE bit by default
According to ITU-T G.997.1 Amendment 2 (04/2013) section 2.1, bit 3 of
XTSE octet 8 either allow or denies the initialization of G.993.5.

Even if the current redistributable xDSL firmware doesn't include
G.993.5 vectoring support, enable this bit by default to allow people to
get their G.993.5 line working using a custom xDSL firmware.

Signed-off-by: Mathias Kresin <openwrt@kresin.me>

SVN-Revision: 48053
2016-01-01 21:20:16 +00:00

93 lines
1.9 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (C) 2012 OpenWrt.org
# needs to start before the atm layer which starts at 50
START=48
USE_PROCD=1
EXTRA_COMMANDS="status lucistat"
EXTRA_HELP=" status Get DSL status information
lucistat Get status information if lua friendly format"
[ -f /lib/functions/lantiq_dsl.sh ] && . /lib/functions/lantiq_dsl.sh
#
# ITU-T G.997.1 (06/2012) - Section 7.3.1.1.1 (xTU transmission system enabling (XTSE))
# ITU-T G.997.1 Amendment 2 (04/2013) - Section 2.1 - (Vectoring mode enable (VECTORMODE_ENABLE))
#
# G.992.1 Annex A
# G.992.3 Annex A / L-US1 / L_US-2 / M
# G.992.5 Annex A / M
# G.993.2 Annex A/B/C
# G.993.5 Annex A/B/C
xtse_xdsl_a="04_00_04_00_4C_01_04_0F"
# G.992.1 Annex B
# G.992.3 Annex B
# G.992.5 Annex B
# G.993.2 Annex A/B/C
# G.993.5 Annex A/B/C
xtse_xdsl_b="10_00_10_00_00_04_00_0F"
# G.992.1 Annex B
# G.992.3 Annex B
# G.992.3 Annex J
# G.992.5 Annex B
# G.992.5 Annex J
# G.993.2 Annex A/B/C
# G.993.5 Annex A/B/C
xtse_xdsl_j="10_00_10_40_00_04_01_0F"
service_triggers() {
procd_add_reload_trigger network
}
start_service() {
local annex
local firmware
local xtse
local mode
config_load network
config_get annex dsl annex
config_get firmware dsl firmware
config_get xfer_mode dsl xfer_mode
[ -z "${xfer_mode}" ] && xfer_mode=ptm
case "${xfer_mode}" in
atm)
LOAD=ltq_atm_vr9
UNLOAD=ltq_ptm_vr9
mode=1
;;
*)
LOAD=ltq_ptm_vr9
UNLOAD=ltq_atm_vr9
mode=2
;;
esac
eval "xtse=\"\${xtse_xdsl_$annex}\""
[ -z "${firmware}" ] && firmware=/lib/firmware/vdsl.bin
[ -f "${firmware}" ] || {
echo failed to find $firmware
return 1
}
procd_open_instance
procd_set_param command /sbin/vdsl_cpe_control_wrapper \
-i$xtse \
-n /sbin/dsl_notify.sh \
-f ${firmware} \
-M ${mode}
procd_append_param env "LOAD=$LOAD" "UNLOAD=$UNLOAD"
procd_close_instance
}
stop_service() {
DSL_NOTIFICATION_TYPE="DSL_INTERFACE_STATUS" \
DSL_INTERFACE_STATUS="DOWN" \
/sbin/dsl_notify.sh
}