From bdf19eec356a8f53c3ddd9785c99d7029a38b4b1 Mon Sep 17 00:00:00 2001 From: Stefan Lippers-Hollmann Date: Mon, 30 Oct 2017 04:28:34 +0100 Subject: [PATCH] ipq806x: nbg6817: sync MAC addresses to the upstream values The ZyXEL NBG6817 calculates all MAC addresses based on the ethaddr value stored in the U-Boot environment (0:APPSBLENV). No MAC addresses are stored in the ART partition and the generated MAC addresses for the wlan interfaces alternate randomly between 12:34:56:78:90:12 and 00:03:7f:12:34:56. interface new/ OEM MAC old MAC wlan-2.4g (phy1): ethaddr undefined wlan-5g (phy0): ethaddr + 1 undefined lan : ethaddr + 2 ethaddr wan : ethaddr + 3 ethaddr + 1 This patch defines stable MAC addresses for the wlan interfaces for the first time instead of generating them at random. The previously defined values for lan/ wan are changed to follow the settings of the OEM firmware. Signed-off-by: Stefan Lippers-Hollmann --- target/linux/ipq806x/base-files/etc/board.d/02_network | 4 ++-- .../base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/target/linux/ipq806x/base-files/etc/board.d/02_network b/target/linux/ipq806x/base-files/etc/board.d/02_network index f13d1e3643..3162254c47 100755 --- a/target/linux/ipq806x/base-files/etc/board.d/02_network +++ b/target/linux/ipq806x/base-files/etc/board.d/02_network @@ -43,8 +43,8 @@ nbg6817) hw_mac_addr=$(mtd_get_mac_ascii 0:APPSBLENV ethaddr) ucidef_add_switch "switch0" \ "1:lan" "2:lan" "3:lan" "4:lan" "6@eth1" "5:wan" "0@eth0" - ucidef_set_interface_macaddr "lan" "$hw_mac_addr" - ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 1)" + ucidef_set_interface_macaddr "lan" "$(macaddr_add $hw_mac_addr 2)" + ucidef_set_interface_macaddr "wan" "$(macaddr_add $hw_mac_addr 3)" ;; *) echo "Unsupported hardware. Network interfaces not intialized" diff --git a/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac index 2ea408d619..9ebd8ed9c3 100644 --- a/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac +++ b/target/linux/ipq806x/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -23,6 +23,9 @@ case "$board" in ea8500) echo $(macaddr_add $(mtd_get_mac_ascii devinfo hw_mac_addr) $(($PHYNBR + 1)) ) > /sys${DEVPATH}/macaddress ;; + nbg6817) + echo $(macaddr_add $(mtd_get_mac_ascii 0:APPSBLENV ethaddr) $((1 - $PHYNBR)) ) > /sys${DEVPATH}/macaddress + ;; vr2600v) echo $(macaddr_add $(mtd_get_mac_binary default-mac 0) $(($PHYNBR - 1)) ) > /sys${DEVPATH}/macaddress ;; -- 2.30.2