[openwrt/openwrt] ramips: TP-Link EC330-G5u v1: switch to mac-address-ascii

LEDE Commits lede-commits at lists.infradead.org
Sat Apr 29 13:35:23 PDT 2023


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/15e21d373b3ad6ec17be76c48d5ad32266bc4fe7

commit 15e21d373b3ad6ec17be76c48d5ad32266bc4fe7
Author: Mikhail Zhilkin <csharper2005 at gmail.com>
AuthorDate: Sat Apr 22 06:58:01 2023 +0000

    ramips: TP-Link EC330-G5u v1: switch to mac-address-ascii
    
    The TP-Link EC330-G5u v1 router has MAC address that stored in factory mtd
    in ascii format. This commit makes the router use of "mac-address-ascii"
    in dts.
    
    After the change:
    1. All MAC addresses are explicitly assigned in dts (the workarounds in
       network scripts are no longer needed);
    2. gmac0 (eth0) MAC address is no longer random.
    
    Signed-off-by: Mikhail Zhilkin <csharper2005 at gmail.com>
---
 .../ramips/dts/mt7621_tplink_ec330-g5u-v1.dts      | 26 ++++++++++++++++++++++
 .../mt7621/base-files/etc/board.d/02_network       |  5 -----
 .../etc/hotplug.d/ieee80211/10_fix_wifi_mac        |  5 -----
 3 files changed, 26 insertions(+), 10 deletions(-)

diff --git a/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts b/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts
index b128a7d7a8..6c9cc40701 100644
--- a/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts
+++ b/target/linux/ramips/dts/mt7621_tplink_ec330-g5u-v1.dts
@@ -11,6 +11,8 @@
 	model = "TP-Link EC330-G5u v1";
 
 	aliases {
+		label-mac-device = &gmac0;
+
 		led-boot = &led_power;
 		led-failsafe = &led_power;
 		led-running = &led_power;
@@ -226,6 +228,14 @@
 			label = "factory";
 			reg = <0x7800000 0x400000>;
 			read-only;
+
+			compatible = "nvmem-cells";
+			#address-cells = <1>;
+			#size-cells = <1>;
+
+			macaddr_factory_165: macaddr at 165 {
+				reg = <0x165 0x11>;
+			};
 		};
 
 		partition at 0_wholeflash {
@@ -246,6 +256,9 @@
 		reg = <0x0000 0 0 0 0>;
 		mediatek,mtd-eeprom = <&factory 0x8000>;
 		ieee80211-freq-limit = <2400000 2500000>;
+
+		nvmem-cells = <&macaddr_factory_165>;
+		nvmem-cell-names = "mac-address-ascii";
 	};
 };
 
@@ -255,13 +268,26 @@
 		reg = <0x0000 0 0 0 0>;
 		mediatek,mtd-eeprom = <&factory 0x14000>;
 		ieee80211-freq-limit = <5000000 6000000>;
+
+		nvmem-cells = <&macaddr_factory_165>;
+		nvmem-cell-names = "mac-address-ascii";
+		mac-address-increment = <(2)>;
 	};
 };
 
+&gmac0 {
+	nvmem-cells = <&macaddr_factory_165>;
+	nvmem-cell-names = "mac-address-ascii";
+};
+
 &gmac1 {
 	status = "okay";
 	label = "wan";
 	phy-handle = <&ethphy0>;
+
+	nvmem-cells = <&macaddr_factory_165>;
+	nvmem-cell-names = "mac-address-ascii";
+	mac-address-increment = <(1)>;
 };
 
 &mdio {
diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
index 871d7fc7d9..a986e9bac9 100644
--- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network
@@ -245,11 +245,6 @@ ramips_setup_macs()
 		label_mac=$(cat "/sys/firmware/mikrotik/hard_config/mac_base")
 		lan_mac=$label_mac
 		;;
-	tplink,ec330-g5u-v1)
-		label_mac="$(mtd_get_mac_text factory 0x165)"
-		lan_mac=$label_mac
-		wan_mac=$(macaddr_add $label_mac 1)
-		;;
 	tplink,er605-v2)
 		CI_UBIPART="firmware"
 		label_mac=$(mtd_get_mac_uci_config_ubi "tddp")
diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index 9db115fcae..746a88bd12 100644
--- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -161,11 +161,6 @@ case "$board" in
 		hw_mac_addr="$(mtd_get_mac_binary product-info 0x8)"
 		macaddr_add "$hw_mac_addr" "$PHYNBR" > "/sys${DEVPATH}/macaddress"
 		;;
-	tplink,ec330-g5u-v1)
-		hw_mac_addr="$(mtd_get_mac_text factory 0x165)"
-		[ "$PHYNBR" = "0" ] && echo -n $hw_mac_addr > /sys${DEVPATH}/macaddress
-		[ "$PHYNBR" = "1" ] && macaddr_add $hw_mac_addr 2 > /sys${DEVPATH}/macaddress
-		;;
 	yuncore,ax820)
 		[ "$PHYNBR" = "1" ] && \
 			macaddr_setbit_la "$(mtd_get_mac_binary Factory 0xe000)" > /sys${DEVPATH}/macaddress




More information about the lede-commits mailing list