2c1d56af50
Thanks to Sylwester Petela for testing my patch (successfully on an ADSL connection) and for pointing out some configuration mistakes. Others (including me) have also successfully tested this extensively on VDSL connections. Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com> SVN-Revision: 46920
91 lines
1.7 KiB
Bash
91 lines
1.7 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
|
|
|
|
EXTRA_COMMANDS="status lucistat"
|
|
EXTRA_HELP=" status Get DSL status information
|
|
lucistat Get status information if lua friendly format"
|
|
|
|
SERVICE_DAEMONIZE=1
|
|
SERVICE_WRITE_PID=1
|
|
|
|
[ -f /lib/functions/lantiq_dsl.sh ] && . /lib/functions/lantiq_dsl.sh
|
|
|
|
# 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"
|
|
|
|
start() {
|
|
local annex
|
|
local firmware
|
|
local xtse
|
|
local xtse_adsl
|
|
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)
|
|
insmod ltq_atm_vr9
|
|
mode=1
|
|
;;
|
|
*)
|
|
insmod ltq_ptm_vr9
|
|
mode=2
|
|
;;
|
|
esac
|
|
|
|
eval "xtse_adsl=\"\${xtse_adsl_$annex}\""
|
|
if [ "${xtse_adsl}" ]; then
|
|
xtse=$xtse_adsl
|
|
else
|
|
xtse=$xtse_vdsl
|
|
fi
|
|
|
|
[ -z "${firmware}" ] && firmware=/lib/firmware/vdsl.bin
|
|
[ -f "${firmware}" ] || {
|
|
echo failed to find $firmware
|
|
return 1
|
|
}
|
|
|
|
service_start /sbin/vdsl_cpe_control \
|
|
-i `echo $xtse | sed "s/ /_/g"` \
|
|
-n /sbin/dsl_notify.sh \
|
|
-f ${firmware} \
|
|
-M ${mode}
|
|
}
|
|
|
|
stop() {
|
|
DSL_NOTIFICATION_TYPE="DSL_INTERFACE_STATUS" \
|
|
DSL_INTERFACE_STATUS="DOWN" \
|
|
/sbin/dsl_notify.sh
|
|
|
|
service_stop /sbin/vdsl_cpe_control
|
|
}
|