summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Baumann <felix.bau@gmx.de>2023-04-21 03:07:58 +0200
committerDavid Bauer <mail@david-bauer.net>2023-04-30 21:08:51 +0200
commit749cc6ffc4d1607a31426f486da5ae97d3b55c40 (patch)
tree3cd91b4e2b073363c33889b803502525b35fb915
parent3960c220daabe5b58381af1a8c7b9dd2e6b7e815 (diff)
downloadopenwrt-749cc6ffc4d1607a31426f486da5ae97d3b55c40.tar.gz
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@gmx.de> [read wifi mac from flash offset] Signed-off-by: David Bauer <mail@david-bauer.net> (cherry picked from commit 45cf200b2e22c34f2ae043b87e24230de526fefc)
-rw-r--r--target/linux/ramips/dts/mt7621_cudy_x6.dts29
-rw-r--r--target/linux/ramips/image/mt7621.mk1
-rw-r--r--target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac5
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 ebb2149172..dc21964bd7 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@1ff0000 {
+ partition@1ff0000 {
label = "bdinfo";
reg = <0x1ff0000 0x10000>;
read-only;
+
+ compatible = "nvmem-cells";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ macaddr_bdinfo_de00: macaddr@de00 {
+ reg = <0xde00 0x6>;
+ };
};
};
};
@@ -120,6 +128,9 @@
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
+
+ nvmem-cells = <&macaddr_bdinfo_de00>;
+ nvmem-cell-names = "mac-address";
};
};
@@ -166,13 +177,3 @@
function = "gpio";
};
};
-
-&bdinfo {
- compatible = "nvmem-cells";
- #address-cells = <1>;
- #size-cells = <1>;
-
- macaddr_bdinfo_de00: macaddr@de00 {
- reg = <0xde00 0x6>;
- };
-};
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 9c451c26bf..3bf9fd3eda 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -352,6 +352,7 @@ define Device/cudy_x6
DEVICE_MODEL := X6
UIMAGE_NAME := R13
DEVICE_PACKAGES := kmod-mt7915e
+ 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 d8c9512bb7..b4d7542179 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
@@ -19,8 +19,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)"