#!/bin/sh /etc/rc.common
# Copyright (C) 2012 OpenWrt.org
-# needs to start before the atm layer which starts at 50
-START=48
+START=97
USE_PROCD=1
-EXTRA_COMMANDS="status lucistat"
-EXTRA_HELP=" status Get DSL status information
- lucistat Get status information if lua friendly format"
+dslstat() {
+ ubus call dsl metrics
+}
-[ -f /lib/functions/lantiq_dsl.sh ] && . /lib/functions/lantiq_dsl.sh
+extra_command "dslstat" "Get DSL status information"
#
# ITU-T G.997.1 (06/2012) - Section 7.3.1.1.1 (xTU transmission system enabling (XTSE))
tone_adsl_bv="0x81" # B43 + B43c
tone_vdsl_bv="0x5" # B43 + V43
-# create ADSL autoboot script. Used for SNR margin tweak
+# create DSL autoboot script. Used for SNR margin tweak and to set MAC address for vectoring error reports
autoboot_script() {
echo "[WaitForConfiguration]={
locs 0 $1
+dsmmcs $2
}
[WaitForLinkActivate]={
0" > /tmp/lowlevel.cfg
}
+get_macaddr() {
+ local name
+ config_get name $1 name
+ [ "$name" = "dsl0" ] && config_get $2 $1 macaddr
+}
+
service_triggers() {
procd_add_reload_trigger network
}
local mode
local lowlevel
local snr
+ local macaddr
config_load network
config_get tone dsl tone
config_get xfer_mode dsl xfer_mode
config_get line_mode dsl line_mode
config_get snr dsl ds_snr_offset
+ config_foreach get_macaddr device macaddr
eval "xtse=\"\${xtse_xdsl_$annex}\""
fi
;;
b*|j*)
- if [ -f "/lib/firmware/lantiq-vrx200-b.bin" ]; then
+ if [ -f "/lib/firmware/vr9_dsl_fw_annex_b.bin" ]; then
+ firmware="/lib/firmware/vr9_dsl_fw_annex_b.bin"
+ elif [ -f "/lib/firmware/lantiq-vrx200-b.bin" ]; then
firmware="/lib/firmware/lantiq-vrx200-b.bin"
elif [ -f "/tmp/lantiq-vrx200-b.bin" ]; then
firmware="/tmp/lantiq-vrx200-b.bin"
lowlevel="-l /tmp/lowlevel.cfg"
}
- [ -z "${snr}" ] || {
- # for SNR offset setting
- autoboot_script "$snr"
- autoboot="-a /tmp/dsl.scr -A /tmp/dsl.scr"
- }
+ [ -z "${snr}" ] && snr=0
+ [ -z "${macaddr}" ] && macaddr="00:00:00:00:00:00"
+ autoboot_script "$snr" "$macaddr"
+ autoboot="-a /tmp/dsl.scr -A /tmp/dsl.scr"
procd_open_instance
procd_set_param command /sbin/vdsl_cpe_control \
}
stop_service() {
- # do not use dsl_cmd to not block when this is locked up by some other proess
- echo quit > /tmp/pipe/dsl_cpe0_cmd
DSL_NOTIFICATION_TYPE="DSL_INTERFACE_STATUS" \
DSL_INTERFACE_STATUS="DOWN" \
/sbin/dsl_notify.sh