Get the factory assigned mac addresses stored in the caldata partition
and asign them to lan, wan and radio1.

Signed-off-by: Stefan Agner <ste...@agner.ch>
---
 package/base-files/files/lib/functions/uci-defaults.sh     | 9
+++++++++
 target/linux/ar71xx/base-files/etc/uci-defaults/02_network | 6 ++++++
 2 files changed, 15 insertions(+)

diff --git a/package/base-files/files/lib/functions/uci-defaults.sh
b/package/base-files/files/lib/functions/uci-defaults.sh
index bf6fe1e..061c871 100644
--- a/package/base-files/files/lib/functions/uci-defaults.sh
+++ b/package/base-files/files/lib/functions/uci-defaults.sh
@@ -210,6 +210,15 @@ set network.$ifname.macaddr='$mac'
 EOF
 }
 
+ucidef_set_wireless_macaddr() {
+       local ifname=$1
+       local mac=$2
+
+       uci batch <<EOF
+set wireless.$ifname.macaddr='$mac'
+EOF
+}
+
 ucidef_add_switch() {
        local name=$1
        local reset=$2
diff --git a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
index bdf37ee..ebb0c55 100755
--- a/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
+++ b/target/linux/ar71xx/base-files/etc/uci-defaults/02_network
@@ -211,6 +211,12 @@ wndr4300)
        ucidef_add_switch "switch0" "1" "1"
        ucidef_add_switch_vlan "switch0" "1" "0t 1 2 3 4"
        ucidef_add_switch_vlan "switch0" "2" "0t 5"
+       mac_lan=$(mtd_get_mac_binary caldata 0)
+       [ -n "$mac_lan" ] && ucidef_set_interface_macaddr "lan" "$mac_lan"
+       mac_wan=$(mtd_get_mac_binary caldata 6)
+       [ -n "$mac_wan" ] && ucidef_set_interface_macaddr "wan" "$mac_wan"
+       mac_wlan5g=$(mtd_get_mac_binary caldata 12)
+       [ -n "$mac_wlan5g" ] && ucidef_set_wireless_macaddr "radio1"
"$mac_wlan5g"
        ;;
 
 all0305 |\
-- 
1.8.4.2
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel

Reply via email to