From 716ca530e1c4515d8683c9d5be3d56b301758b66 Mon Sep 17 00:00:00 2001 From: James <> Date: Wed, 4 Nov 2015 11:49:21 +0000 Subject: trunk-47381 --- .../network/config/ltq-vdsl-app/files/dsl_control | 91 ++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 package/network/config/ltq-vdsl-app/files/dsl_control (limited to 'package/network/config/ltq-vdsl-app/files/dsl_control') diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control b/package/network/config/ltq-vdsl-app/files/dsl_control new file mode 100644 index 0000000..394e1c0 --- /dev/null +++ b/package/network/config/ltq-vdsl-app/files/dsl_control @@ -0,0 +1,91 @@ +#!/bin/sh /etc/rc.common +# Copyright (C) 2012 OpenWrt.org + +# needs to start before the atm layer which starts at 50 +START=48 + +EXTRA_COMMANDS="status lucistat" +EXTRA_HELP=" status Get DSL status information + lucistat Get status information if lua friendly format" + +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 + +[ -f /lib/functions/lantiq_dsl.sh ] && . /lib/functions/lantiq_dsl.sh + +# G.992.1 Annex A +# G.992.2 Annex A +# G.992.3 Annex A +# G.992.4 Annex A +# G.992.5 Annex A +# G.993.2 Annex A/B/C +xtse_adsl_a="04 01 04 01 00 01 00 00" + +# G.992.1 Annex B +# G.992.3 Annex B +# G.992.5 Annex B +# G.993.2 Annex A/B/C +xtse_adsl_b="10 00 10 00 00 04 00 00" + +# 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 +xtse_adsl_j="10 00 10 40 00 04 01 00" + +xtse_vdsl="00 00 00 00 00 00 00 07" + +start() { + local annex + local firmware + local xtse + local xtse_adsl + 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) + insmod ltq_atm_vr9 + mode=1 + ;; + *) + insmod ltq_ptm_vr9 + mode=2 + ;; + esac + + eval "xtse_adsl=\"\${xtse_adsl_$annex}\"" + if [ "${xtse_adsl}" ]; then + xtse=$xtse_adsl + else + xtse=$xtse_vdsl + fi + + [ -z "${firmware}" ] && firmware=/lib/firmware/vdsl.bin + [ -f "${firmware}" ] || { + echo failed to find $firmware + return 1 + } + + service_start /sbin/vdsl_cpe_control \ + -i `echo $xtse | sed "s/ /_/g"` \ + -n /sbin/dsl_notify.sh \ + -f ${firmware} \ + -M ${mode} +} + +stop() { + DSL_NOTIFICATION_TYPE="DSL_INTERFACE_STATUS" \ + DSL_INTERFACE_STATUS="DOWN" \ + /sbin/dsl_notify.sh + + service_stop /sbin/vdsl_cpe_control +} -- cgit v1.2.3