2013-03-14 18:43:13 +00:00
|
|
|
#!/bin/sh /etc/rc.common
|
|
|
|
# Copyright (C) 2012 OpenWrt.org
|
|
|
|
|
2014-04-11 20:40:24 +00:00
|
|
|
# needs to start before the atm layer which starts at 50
|
|
|
|
START=48
|
2015-11-16 11:02:14 +00:00
|
|
|
USE_PROCD=1
|
2013-03-14 18:43:13 +00:00
|
|
|
|
|
|
|
EXTRA_COMMANDS="status lucistat"
|
|
|
|
EXTRA_HELP=" status Get DSL status information
|
|
|
|
lucistat Get status information if lua friendly format"
|
|
|
|
|
2014-07-21 18:41:46 +00:00
|
|
|
[ -f /lib/functions/lantiq_dsl.sh ] && . /lib/functions/lantiq_dsl.sh
|
2013-03-14 18:43:13 +00:00
|
|
|
|
2016-01-01 21:20:02 +00:00
|
|
|
#
|
|
|
|
# ITU-T G.997.1 (06/2012) - Section 7.3.1.1.1 (xTU transmission system enabling (XTSE))
|
2016-01-01 21:20:16 +00:00
|
|
|
# ITU-T G.997.1 Amendment 2 (04/2013) - Section 2.1 - (Vectoring mode enable (VECTORMODE_ENABLE))
|
2016-01-01 21:20:02 +00:00
|
|
|
#
|
2014-04-09 16:31:24 +00:00
|
|
|
# G.992.1 Annex A
|
2015-12-18 21:47:49 +00:00
|
|
|
# G.992.3 Annex A / L-US1 / L_US-2 / M
|
|
|
|
# G.992.5 Annex A / M
|
2016-01-01 21:20:02 +00:00
|
|
|
# G.993.2 Annex A/B/C
|
2016-01-01 21:20:16 +00:00
|
|
|
# G.993.5 Annex A/B/C
|
|
|
|
xtse_xdsl_a="04_00_04_00_4C_01_04_0F"
|
2014-04-09 16:31:24 +00:00
|
|
|
|
|
|
|
# G.992.1 Annex B
|
|
|
|
# G.992.3 Annex B
|
|
|
|
# G.992.5 Annex B
|
|
|
|
# G.993.2 Annex A/B/C
|
2016-01-01 21:20:16 +00:00
|
|
|
# G.993.5 Annex A/B/C
|
|
|
|
xtse_xdsl_b="10_00_10_00_00_04_00_0F"
|
2014-04-09 16:31:24 +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
|
2016-01-01 21:20:16 +00:00
|
|
|
# G.993.5 Annex A/B/C
|
|
|
|
xtse_xdsl_j="10_00_10_40_00_04_01_0F"
|
2014-04-09 16:31:24 +00:00
|
|
|
|
2015-11-16 11:02:14 +00:00
|
|
|
service_triggers() {
|
|
|
|
procd_add_reload_trigger network
|
|
|
|
}
|
|
|
|
|
|
|
|
start_service() {
|
2014-04-09 16:31:24 +00:00
|
|
|
local annex
|
|
|
|
local firmware
|
2014-10-30 08:08:01 +00:00
|
|
|
local xtse
|
2014-04-09 16:31:24 +00:00
|
|
|
local mode
|
|
|
|
|
2013-03-14 18:43:13 +00:00
|
|
|
config_load network
|
2014-04-10 08:14:33 +00:00
|
|
|
config_get annex dsl annex
|
|
|
|
config_get firmware dsl firmware
|
|
|
|
config_get xfer_mode dsl xfer_mode
|
2014-04-09 16:31:24 +00:00
|
|
|
|
|
|
|
[ -z "${xfer_mode}" ] && xfer_mode=ptm
|
|
|
|
|
|
|
|
case "${xfer_mode}" in
|
|
|
|
atm)
|
2015-11-16 11:02:14 +00:00
|
|
|
LOAD=ltq_atm_vr9
|
|
|
|
UNLOAD=ltq_ptm_vr9
|
2014-04-09 16:31:24 +00:00
|
|
|
mode=1
|
|
|
|
;;
|
|
|
|
*)
|
2015-11-16 11:02:14 +00:00
|
|
|
LOAD=ltq_ptm_vr9
|
|
|
|
UNLOAD=ltq_atm_vr9
|
2014-04-09 16:31:24 +00:00
|
|
|
mode=2
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2016-01-01 21:20:02 +00:00
|
|
|
eval "xtse=\"\${xtse_xdsl_$annex}\""
|
2014-04-09 16:31:24 +00:00
|
|
|
|
2014-04-11 20:40:24 +00:00
|
|
|
[ -z "${firmware}" ] && firmware=/lib/firmware/vdsl.bin
|
|
|
|
[ -f "${firmware}" ] || {
|
|
|
|
echo failed to find $firmware
|
|
|
|
return 1
|
|
|
|
}
|
2013-03-14 18:43:13 +00:00
|
|
|
|
2015-11-16 11:02:14 +00:00
|
|
|
procd_open_instance
|
|
|
|
procd_set_param command /sbin/vdsl_cpe_control_wrapper \
|
2016-01-01 21:19:55 +00:00
|
|
|
-i$xtse \
|
2014-04-09 16:31:24 +00:00
|
|
|
-n /sbin/dsl_notify.sh \
|
2014-04-11 20:40:24 +00:00
|
|
|
-f ${firmware} \
|
2014-04-09 16:31:24 +00:00
|
|
|
-M ${mode}
|
2015-11-16 11:02:14 +00:00
|
|
|
procd_append_param env "LOAD=$LOAD" "UNLOAD=$UNLOAD"
|
|
|
|
procd_close_instance
|
2013-03-14 18:43:13 +00:00
|
|
|
}
|
|
|
|
|
2015-11-16 11:02:14 +00:00
|
|
|
stop_service() {
|
2013-03-14 18:43:13 +00:00
|
|
|
DSL_NOTIFICATION_TYPE="DSL_INTERFACE_STATUS" \
|
|
|
|
DSL_INTERFACE_STATUS="DOWN" \
|
|
|
|
/sbin/dsl_notify.sh
|
|
|
|
}
|