From 301bc3290df394bd39373ffc081818b56092b05f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thibaut=20VAR=C3=88NE?= Date: Sun, 19 Apr 2020 12:09:20 +0200 Subject: [PATCH] ath79/mikrotik: don't use mtd-mac-address in DTS MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit As evidenced here[1] the device MAC address can be stored at a random offset in the hard_config partition. Rely on sysfs to update the MAC address correctly. To match sticker and vendor OS behavior, WAN MAC is set to the device base MAC and LAN MAC is incremented from that. Note: this will trigger a harmless kernel message during boot: ag71xx 19000000.eth: invalid MAC address, using random address There is no clean workaround to prevent this message from being emitted. [1] https://github.com/openwrt/openwrt/pull/2850#issuecomment-610809021 Signed-off-by: Thibaut VARÈNE --- .../dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts | 3 --- .../dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts | 2 -- .../ath79/mikrotik/base-files/etc/board.d/02_network | 9 +++++++++ 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts b/target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts index a0190760fb8..feae550039c 100644 --- a/target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts +++ b/target/linux/ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts @@ -11,7 +11,6 @@ model = "MikroTik RouterBOARD wAP G-5HacT2HnD"; aliases { - label-mac-device = ð1; mdio-gpio1 = &mdio2; serial0 = &uart; }; @@ -53,8 +52,6 @@ ð1 { status = "okay"; - mtd-mac-address = <&hard_config 0x10>; - pll-data = <0x03000101 0x80000101 0x80001313>; phy-handle = <&phy0>; diff --git a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts index 7377953f787..391c034dab7 100644 --- a/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts +++ b/target/linux/ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts @@ -11,7 +11,6 @@ model = "MikroTik RouterBOARD 922UAGS-5HPacD"; aliases { - label-mac-device = ð0; led-boot = &led_user; led-failsafe = &led_user; led-upgrade = &led_user; @@ -80,7 +79,6 @@ ð0 { status = "okay"; - mtd-mac-address = <&hard_config 0x10>; phy-handle = <&phy4>; pll-data = <0x8f000000 0xa0000101 0xa0001313>; diff --git a/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network b/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network index ee795c7496f..7f8327f764d 100755 --- a/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network +++ b/target/linux/ath79/mikrotik/base-files/etc/board.d/02_network @@ -21,8 +21,17 @@ ath79_setup_interfaces() ath79_setup_macs() { local board="$1" + local lan_mac="" + local wan_mac="" + local label_mac="" + local mac_base="$(cat /sys/firmware/mikrotik/hard_config/mac_base)" case "$board" in + *) + label_mac="$mac_base" + wan_mac="$mac_base" + lan_mac=$(macaddr_add $mac_base 1) + ;; esac [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac -- 2.30.2