mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 08:21:14 +00:00
7816dffd03
This patch adds the missing VDSL2 bits to the annex specific XTSE (like it should be according to the comments above the XTSE bits). Since r47933 it's mandatory to remove the annex option to switch to VDSL2 (only) operation mode. As shown by ticket #21436 and a few mails I received personally, even experienced users are not aware that they have to remove the annex option to get their VDSL2 line working and as shown by this patch it doesn't need to be that "complicated". Signed-off-by: Mathias Kresin <openwrt@kresin.me> SVN-Revision: 48051
93 lines
1.8 KiB
Bash
93 lines
1.8 KiB
Bash
#!/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))
|
|
#
|
|
# 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
|
|
xtse_xdsl_a="04_00_04_00_4C_01_04_07"
|
|
|
|
# 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_07"
|
|
|
|
# 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_07"
|
|
|
|
xtse_vdsl="00_00_00_00_00_00_00_07"
|
|
|
|
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 "${xtse}" ] && xtse=$xtse_vdsl
|
|
|
|
[ -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
|
|
}
|