[OpenWrt-Devel] [PATCH v2 5/5] ltq-vdsl-app: re-add lowlevel settings

Mathias Kresin openwrt at kresin.me
Wed Dec 30 15:59:26 EST 2015


Add back a slightly modified version of the lowlevel settings which
where removed with r46920.

In compare to the old lowlevel settings, the B43c tone is added to
tone_adsl_b and tone_adsl_bv.

If an unsupported tone value is used, the auto probing mode is used, in
compare to the fallback to tone_adsl_av and tone_vdsl_av with the old
lowlevel settings.

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

---

I've done some tests to see in which situations the tone setting is
required. In cases no tone is specified, the tone is used according to
the loaded firmware or set by the loaded firmware.

Using a device with the hybrid set to POTS (Annex A) on a Deutsche
Telekom VDSL2 line which requires the B43 tone, I made the following
observations:

annex setting     firmware     tone setting     result
-------------------------------------------------------
annex a           adsl-a.bin   no tone          no sync
annex a           adsl-a.bin   b                sync
annex a           adsl-b.bin   no tone          sync

no annex          adsl-a.bin   no tone          no sync
no annex          adsl-a.bin   b                sync
no annex          adsl-b.bin   no tone          sync

I would vote for using 'auto' for the initial config here as well. I
would expect that people who are using an Annex A device in an Annex B
network know how to set the correct tone value.

 .../network/config/ltq-vdsl-app/files/dsl_control  | 88 ++++++++++++++++++++++
 1 file changed, 88 insertions(+)

diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control b/package/network/config/ltq-vdsl-app/files/dsl_control
index fe098d7..4ddc1d7 100644
--- a/package/network/config/ltq-vdsl-app/files/dsl_control
+++ b/package/network/config/ltq-vdsl-app/files/dsl_control
@@ -38,6 +38,81 @@ xtse_xdsl_b="10_00_10_00_00_04_00_0F"
 # G.993.5 Annex A/B/C
 xtse_xdsl_j="10_00_10_40_00_04_01_0F"
 
+#
+# ITU-T G.994.1 (06/2012) - Table 2 (Mandatory carrier sets)
+#
+
+# A43
+tone_adsl_a="0x142" # A43C + J43 + A43
+tone_vdsl_a="0x142" # A43C + J43 + A43
+
+# A43 + V43
+tone_adsl_av="0x142" # A43C + J43 + A43
+tone_vdsl_av="0x146" # A43C + J43 + A43 + V43
+
+# B43
+tone_adsl_b="0x81" # B43 + B43c
+tone_vdsl_b="0x1" # B43
+
+# B43 + V43
+tone_adsl_bv="0x81" # B43 + B43c
+tone_vdsl_bv="0x5" # B43 + V43
+
+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
+}
+
 service_triggers() {
 	procd_add_reload_trigger network
 }
@@ -45,10 +120,15 @@ service_triggers() {
 start_service() {
 	local annex
 	local firmware
+	local tone
+	local tone_adsl
+	local tone_vdsl
 	local xtse
 	local mode
+	local lowlevel
 
 	config_load network
+	config_get tone dsl tone
 	config_get annex dsl annex
 	config_get firmware dsl firmware
 	config_get xfer_mode dsl xfer_mode
@@ -76,11 +156,19 @@ start_service() {
 		return 1
 	}
 
+	eval "tone_adsl=\"\${tone_adsl_$tone}\""
+	eval "tone_vdsl=\"\${tone_vdsl_$tone}\""
+	[ -n "${tone_adsl}" ] && [ -n "${tone_vdsl}" ] && {
+		lowlevel_cfg "${tone_adsl}" "${tone_vdsl}"
+		lowlevel="-l /tmp/lowlevel.cfg"
+	}
+
 	procd_open_instance
 	procd_set_param command /sbin/vdsl_cpe_control_wrapper \
 			-i$xtse \
 			-n /sbin/dsl_notify.sh \
 			-f ${firmware} \
+			$lowlevel \
 			-M ${mode}
 	procd_append_param env "LOAD=$LOAD" "UNLOAD=$UNLOAD"
 	procd_close_instance
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list