[openwrt/openwrt] ramips: Cudy X6 fixes / improvements

LEDE Commits lede-commits at lists.infradead.org
Sun Apr 23 18:09:13 PDT 2023


blocktrron pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/45cf200b2e22c34f2ae043b87e24230de526fefc

commit 45cf200b2e22c34f2ae043b87e24230de526fefc
Author: Felix Baumann <felix.bau at gmx.de>
AuthorDate: Fri Apr 21 03:07:58 2023 +0200

    ramips: Cudy X6 fixes / improvements
    
    - Correct WiFi MACs, they didn't match oem firmware
    - Move nvmem-cells to bdinfo partition and remove &bdinfo reference
    - Add OEM device model name R13 to SUPPORTED_DEVICES
      This allows sysupgrading from Cudy's OpenWrt fork without force
    - Label red_led and use it during failsafe mode and upgrades
    
    MAC addresses as verified by OEM firmware:
    
    use   address             source
    LAN   b4:4b:d6:2d:c8:4a   label
    WAN   b4:4b:d6:2d:c8:4b   label + 1
    2g    b4:4b:d6:2d:c8:4a   label
    5g    b6:4b:d6:3d:c8:4a   label + LA-Bit set + 4th oktet increased
    
    The label MAC address is found in bdinfo 0xde00.
    
    Signed-off-by: Felix Baumann <felix.bau at gmx.de>
    [read wifi mac from flash offset]
    Signed-off-by: David Bauer <mail at david-bauer.net>
---
 target/linux/ramips/dts/mt7621_cudy_x6.dts         | 29 +++++++++++-----------
 target/linux/ramips/image/mt7621.mk                |  1 +
 .../etc/hotplug.d/ieee80211/10_fix_wifi_mac        |  5 ++--
 3 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/target/linux/ramips/dts/mt7621_cudy_x6.dts b/target/linux/ramips/dts/mt7621_cudy_x6.dts
index 6cff9c25f3..5d5bb5150c 100644
--- a/target/linux/ramips/dts/mt7621_cudy_x6.dts
+++ b/target/linux/ramips/dts/mt7621_cudy_x6.dts
@@ -11,9 +11,9 @@
 
 	aliases {
 		led-boot = &led_internet_blue;
-		led-failsafe = &led_internet_blue;
+		led-failsafe = &led_internet_red;
 		led-running = &led_internet_blue;
-		led-upgrade = &led_internet_blue;
+		led-upgrade = &led_internet_red;
 		label-mac-device = &gmac0;
 	};
 
@@ -45,7 +45,7 @@
 			gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
 		};
 
-		internet_red {
+		led_internet_red: internet_red {
 			label = "red:internet";
 			gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
 		};
@@ -102,10 +102,18 @@
 				read-only;
 			};
 
-			bdinfo: partition at 1ff0000 {
+			partition at 1ff0000 {
 				label = "bdinfo";
 				reg = <0x1ff0000 0x10000>;
 				read-only;
+
+				compatible = "nvmem-cells";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				macaddr_bdinfo_de00: macaddr at de00 {
+					reg = <0xde00 0x6>;
+				};
 			};
 		};
 	};
@@ -121,6 +129,9 @@
 		reg = <0x0000 0 0 0 0>;
 		mediatek,mtd-eeprom = <&factory 0x0000>;
 		mediatek,disable-radar-background;
+
+		nvmem-cells = <&macaddr_bdinfo_de00>;
+		nvmem-cell-names = "mac-address";
 	};
 };
 
@@ -175,13 +186,3 @@
 		function = "gpio";
 	};
 };
-
-&bdinfo {
-	compatible = "nvmem-cells";
-	#address-cells = <1>;
-	#size-cells = <1>;
-
-	macaddr_bdinfo_de00: macaddr at de00 {
-		reg = <0xde00 0x6>;
-	};
-};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index d46d84e6ce..df89877c9a 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -527,6 +527,7 @@ define Device/cudy_x6
   DEVICE_MODEL := X6
   UIMAGE_NAME := R13
   DEVICE_PACKAGES := kmod-mt7915-firmware -uboot-envtools
+  SUPPORTED_DEVICES += R13
 endef
 TARGET_DEVICES += cudy_x6
 
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 30a10423ad..b6337f397b 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
@@ -28,8 +28,9 @@ case "$board" in
 		[ "$PHYNBR" = "1" ] && macaddr_setbit_la $hw_mac_addr > /sys${DEVPATH}/macaddress
 		;;
 	cudy,x6)
-		hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"
-		macaddr_add $hw_mac_addr "$PHYNBR" > /sys${DEVPATH}/macaddress
+		hw_mac_addr="$(mtd_get_mac_binary bdinfo 0xde00)"
+		[ "$PHYNBR" = "1" ] && \
+		macaddr_setbit_la "$(macaddr_add $hw_mac_addr 0x100000)" > /sys${DEVPATH}/macaddress
 		;;
 	dlink,dap-x1860-a1)
 		hw_mac_addr="$(mtd_get_mac_binary factory 0x4)"




More information about the lede-commits mailing list