Explorar el Código

ltq-vdsl-app: re-add lowlevel settings

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 <[email protected]>

SVN-Revision: 48054
John Crispin hace 10 años
padre
commit
dc69b89c24
Se han modificado 1 ficheros con 88 adiciones y 0 borrados
  1. 88 0
      package/network/config/ltq-vdsl-app/files/dsl_control

+ 88 - 0
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
 # G.993.5 Annex A/B/C
 xtse_xdsl_j="10_00_10_40_00_04_01_0F"
 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() {
 service_triggers() {
 	procd_add_reload_trigger network
 	procd_add_reload_trigger network
 }
 }
@@ -45,10 +120,15 @@ service_triggers() {
 start_service() {
 start_service() {
 	local annex
 	local annex
 	local firmware
 	local firmware
+	local tone
+	local tone_adsl
+	local tone_vdsl
 	local xtse
 	local xtse
 	local mode
 	local mode
+	local lowlevel
 
 
 	config_load network
 	config_load network
+	config_get tone dsl tone
 	config_get annex dsl annex
 	config_get annex dsl annex
 	config_get firmware dsl firmware
 	config_get firmware dsl firmware
 	config_get xfer_mode dsl xfer_mode
 	config_get xfer_mode dsl xfer_mode
@@ -76,11 +156,19 @@ start_service() {
 		return 1
 		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_open_instance
 	procd_set_param command /sbin/vdsl_cpe_control_wrapper \
 	procd_set_param command /sbin/vdsl_cpe_control_wrapper \
 			-i$xtse \
 			-i$xtse \
 			-n /sbin/dsl_notify.sh \
 			-n /sbin/dsl_notify.sh \
 			-f ${firmware} \
 			-f ${firmware} \
+			$lowlevel \
 			-M ${mode}
 			-M ${mode}
 	procd_append_param env "LOAD=$LOAD" "UNLOAD=$UNLOAD"
 	procd_append_param env "LOAD=$LOAD" "UNLOAD=$UNLOAD"
 	procd_close_instance
 	procd_close_instance