[openwrt/openwrt] ltq-vdsl-app: set MAC address for vectoring error reports

LEDE Commits lede-commits at lists.infradead.org
Mon Mar 21 05:31:20 PDT 2022


dangole pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/b35d33c8b8a7b96f06179982b5d944cde7234004

commit b35d33c8b8a7b96f06179982b5d944cde7234004
Author: Jan Hoffmann <jan at 3e8.eu>
AuthorDate: Sun Mar 13 22:14:37 2022 +0100

    ltq-vdsl-app: set MAC address for vectoring error reports
    
    This tells the modem about the WAN MAC address, which is used as source
    address for vectoring error reports that are generated by the firmware.
    
    It needs to be set early, as the MEI driver only actually writes the
    value to the modem when is in reset state (i.e. the firmware has been
    loaded, but connection has not started yet).
    
    Tested-by: Martin Blumenstingl <martin.blumenstingl at googlemail.com>
    Signed-off-by: Jan Hoffmann <jan at 3e8.eu>
---
 .../network/config/ltq-vdsl-app/files/dsl_control    | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/package/network/config/ltq-vdsl-app/files/dsl_control b/package/network/config/ltq-vdsl-app/files/dsl_control
index 54b739e2cd..34642dbda5 100644
--- a/package/network/config/ltq-vdsl-app/files/dsl_control
+++ b/package/network/config/ltq-vdsl-app/files/dsl_control
@@ -95,10 +95,11 @@ tone_vdsl_b="0x1" # B43
 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]={
@@ -166,6 +167,12 @@ lowlevel_cfg() {
     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
 }
@@ -183,6 +190,7 @@ start_service() {
 	local mode
 	local lowlevel
 	local snr
+	local macaddr
 
 	config_load network
 	config_get tone dsl tone
@@ -191,6 +199,7 @@ start_service() {
 	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}\""
 
@@ -289,11 +298,10 @@ start_service() {
 		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 \




More information about the lede-commits mailing list