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.
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 <[email protected]> --- .../ath79/dts/qca9556_mikrotik_routerboard-wap-g-5hact2hnd.dts | 3 --- .../ath79/dts/qca9558_mikrotik_routerboard-922uags-5hpacd.dts | 2 -- target/linux/ath79/mikrotik/base-files/etc/board.d/02_network | 7 +++++++ 3 files changed, 7 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 529ac1cf3b..3c0dc84a37 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 3f2a1a51a6..ff806ff88d 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 ee795c7496..20c670f702 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,15 @@ ath79_setup_interfaces() ath79_setup_macs() { local board="$1" + local lan_mac="" + local wan_mac="" + local mac_base="/sys/firmware/mikrotik/hard_config/mac_base" case "$board" in + *) + lan_mac="$(cat $mac_base)" + wan_mac="$(cat $mac_base)" + ;; esac [ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac -- 2.11.0 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
