diff options
Diffstat (limited to 'package/network/config/ltq-vdsl-app')
-rw-r--r-- | package/network/config/ltq-vdsl-app/files/dsl_control | 170 |
1 files changed, 157 insertions, 13 deletions
diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control b/package/network/config/ltq-vdsl-app/files/dsl_control index 8f24823851..2c4c4ffa69 100644 --- a/package/network/config/ltq-vdsl-app/files/dsl_control +++ b/package/network/config/ltq-vdsl-app/files/dsl_control @@ -1,7 +1,7 @@ #!/bin/sh /etc/rc.common # Copyright (C) 2012 OpenWrt.org -START=99 +#START=99 EXTRA_COMMANDS="status lucistat" EXTRA_HELP=" status Get DSL status information @@ -13,24 +13,168 @@ SERVICE_WRITE_PID=1 . /lib/functions/lantiq_dsl.sh XDSL_CTRL=vdsl_cpe_control +# 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" + +xdsl_scr() { + val=`echo $2 | sed "s/ / 0x/g"` + echo "[WaitForConfiguration]={ +#G997XTUSEC_g997xtusecs 0x$val +} + +[WaitForLinkActivate]={ +} + +[WaitForRestart]={ +} + +[Common]={ +}" > /tmp/$1.scr +} + +# A43 +tone_adsl_a="0x142" +tone_vdsl_a="0x142" + +# A43 + V43 +tone_adsl_av="0x142" +tone_vdsl_av="0x146" + +# B43 +tone_adsl_b="0x1" +tone_vdsl_b="0x1" + +# B43 + V43 +tone_adsl_bv="0x1" +tone_vdsl_bv="0x5" + +lowlevel_cfg() { + echo "# VRX Low Level Configuration File +# +# Parameters must be separated by tabs or spaces. +# Empty lines and comments will be ignored. +# + +# nFilter +# +# NA = -1 +# OFF = 0 +# ISDN = 1 +# POTS = 2 +# POTS_2 = 3 +# POTS_3 = 4 +# +# (dec) + -1 + +# nHsToneGroupMode nHsToneGroup_A nHsToneGroup_V nHsToneGroup_AV +# +# NA = -1 NA = -1 see see +# AUTO = 0 VDSL2_B43 = 0x0001 nHsToneGroup_A nHsToneGroup_A +# MANUAL = 1 VDSL2_A43 = 0x0002 +# VDSL2_V43 = 0x0004 +# VDSL1_V43P = 0x0008 +# VDSL1_V43I = 0x0010 +# ADSL1_C43 = 0x0020 +# ADSL2_J43 = 0x0040 +# ADSL2_B43C = 0x0080 +# ADSL2_A43C = 0x0100 +# +# (dec) (hex) (hex) (hex) + 1 $1 $2 0x0 + +# nBaseAddr nIrqNum +# +# (hex) (dec) + 0x1e116000 63 + +# nUtopiaPhyAdr nUtopiaBusWidth nPosPhyParity +# default(16b) = 0 NA = -1 +# 8-bit = 1 ODD = 0 +# 16-bit = 2 +# +# +# (hex) (dec) (dec) + 0xFF 0 0 + +# bNtrEnable +# +# (dec) + 0" > /tmp/lowlevel.cfg +} + start() { - local firmware xtu - + local annex + local firmware + local tone + local tone_adsl + local tone_vdsl + local xtse_adsl + local mode + config_load network - + config_get tone wan tone + config_get annex wan annex config_get firmware wan firmware - [ -z "${firmware}" ] && - firmware=vdsl.bin + config_get xfer_mode wan 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}\"" + [ -z "${xtse_adsl}" ] && xtse_adsl=$xtse_adsl_b + + eval "tone_adsl=\"\${tone_adsl_$tone}\"" + [ -z "${tone_adsl}" ] && tone_adsl=$tone_adsl_av + + eval "tone_vdsl=\"\${tone_vdsl_$tone}\"" + [ -z "${tone_vdsl}" ] && tone_vdsl=$tone_vdsl_av + + [ -z "${firmware}" ] && firmware=vdsl.bin - config_get xtu wan xtu - [ -z "${xtu}" ] && - xtu=10_00_10_00_00_04_01_07 + xdsl_scr adsl "${xtse_adsl}" + xdsl_scr vdsl "${xtse_vdsl}" + lowlevel_cfg "${tone_adsl}" "${tone_vdsl}" service_start /sbin/vdsl_cpe_control \ - -i${xtu} \ - -T4_0_1 - -n /sbin/dsl_notify.sh \ - -f /lib/firmware/${firmware} + -i `echo $xtse_adsl | sed "s/ /_/g"` \ + -n /sbin/dsl_notify.sh \ + -f /lib/firmware/${firmware} \ + -a /tmp/adsl.scr \ + -A /tmp/vdsl.scr \ + -l /tmp/lowlevel.cfg \ + -M ${mode} } stop() { |