#!/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 }