[][MAC80211][misc][Fix duplicate mac address issue]

[Description]
Fix duplicate mac address issue

[Release-log]
N/A

Change-Id: I99217733c6cebcdbeb2316eeb54d966cfd8715ab
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/7745709
diff --git a/autobuild_mac80211_release/0001-master-mac80211-generate-hostapd-setting-from-ap-cap.patch b/autobuild_mac80211_release/0001-master-mac80211-generate-hostapd-setting-from-ap-cap.patch
index 189d6af..937a8b3 100644
--- a/autobuild_mac80211_release/0001-master-mac80211-generate-hostapd-setting-from-ap-cap.patch
+++ b/autobuild_mac80211_release/0001-master-mac80211-generate-hostapd-setting-from-ap-cap.patch
@@ -461,7 +461,7 @@
  	NEWUMLIST=
  
 diff --git a/package/kernel/mac80211/files/lib/wifi/mac80211.sh b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
-index e24a2a63..e9a15942 100644
+index e24a2a63..18213d54 100644
 --- a/package/kernel/mac80211/files/lib/wifi/mac80211.sh
 +++ b/package/kernel/mac80211/files/lib/wifi/mac80211.sh
 @@ -60,6 +60,9 @@ BEGIN {
@@ -544,24 +544,22 @@
  
  		get_band_defaults "$dev"
  
-@@ -196,6 +234,16 @@ detect_mac80211() {
+@@ -196,6 +234,14 @@ detect_mac80211() {
  				;;
  		esac
  
++		macaddr=""
 +		if (dmesg | grep -q "eeprom load fail"); then
-+			macaddr=""
 +			for i in $(seq 2 3); do
 +				macaddr=${macaddr}:$(echo $rand | cut -d ' ' -f $i)
 +			done
 +			macaddr="00:0$(($devidx - 1)):55:66${macaddr}"
-+		else
-+			macaddr="$(cat /sys/class/ieee80211/${dev}/macaddress)"
 +		fi
 +
  		uci -q batch <<-EOF
  			set wireless.${name}=wifi-device
  			set wireless.${name}.type=mac80211
-@@ -203,15 +251,33 @@ detect_mac80211() {
+@@ -203,15 +249,37 @@ detect_mac80211() {
  			set wireless.${name}.channel=${channel}
  			set wireless.${name}.band=${mode_band}
  			set wireless.${name}.htmode=$htmode
@@ -583,9 +581,13 @@
 -			set wireless.default_${name}.encryption=none
 +			set wireless.default_${name}.ssid=OpenWrt-${mode_band}
 +			set wireless.default_${name}.encryption=${encryption}
-+			set wireless.default_${name}.macaddr=${macaddr}
-+
  EOF
++
++		# calibrated board will use eeprom macaddress, not ramdom address
++		[ -n "$macaddr" ] && {
++			uci -q set wireless.default_${name}.macaddr=${macaddr}
++		}
++
 +		[ -n "$key" ] && {
 +			uci -q set wireless.default_${name}.key=${key}
 +		}