From effe724c418ae7b78e752f7382319e936cc2258a Mon Sep 17 00:00:00 2001
From: A C SREEDHAR REDDY <acreddysreedharreddy@gmail.com>
Date: Tue, 19 Feb 2019 17:07:37 +0530
Subject: [PATCH 1/3] WiFi.macaddress() returns mac address

---
 libraries/WiFi/src/WiFiSTA.cpp | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp
index b76dea05913..ff3529f82a5 100644
--- a/libraries/WiFi/src/WiFiSTA.cpp
+++ b/libraries/WiFi/src/WiFiSTA.cpp
@@ -415,9 +415,7 @@ IPAddress WiFiSTAClass::localIP()
  */
 uint8_t* WiFiSTAClass::macAddress(uint8_t* mac)
 {
-    if(WiFiGenericClass::getMode() != WIFI_MODE_NULL){
-        esp_wifi_get_mac(WIFI_IF_STA, mac);
-    }
+    esp_read_mac(mac, ESP_MAC_WIFI_STA);
     return mac;
 }
 
@@ -429,11 +427,7 @@ String WiFiSTAClass::macAddress(void)
 {
     uint8_t mac[6];
     char macStr[18] = { 0 };
-    if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
-        return String();
-    }
-    esp_wifi_get_mac(WIFI_IF_STA, mac);
-
+    esp_read_mac(mac, ESP_MAC_WIFI_STA);
     sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
     return String(macStr);
 }

From 75f82088798b1be78ece07f6488117f5992da26f Mon Sep 17 00:00:00 2001
From: A C SREEDHAR REDDY <acreddysreedharreddy@gmail.com>
Date: Tue, 19 Feb 2019 17:10:09 +0530
Subject: [PATCH 2/3] change description

---
 libraries/WiFi/src/WiFiSTA.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp
index ff3529f82a5..c58a323bff7 100644
--- a/libraries/WiFi/src/WiFiSTA.cpp
+++ b/libraries/WiFi/src/WiFiSTA.cpp
@@ -1,5 +1,5 @@
 /*
- ESP8266WiFiSTA.cpp - WiFi library for esp8266
+ WiFiSTA.cpp - WiFi library for esp32
 
  Copyright (c) 2014 Ivan Grokhotkov. All rights reserved.
  This file is part of the esp8266 core for Arduino environment.

From 2e7921541389b70395abc641594f44bef5634c31 Mon Sep 17 00:00:00 2001
From: A C SREEDHAR REDDY <acreddysreedharreddy@gmail.com>
Date: Wed, 20 Feb 2019 21:04:19 +0530
Subject: [PATCH 3/3] return macaddress when WiFi mode is WIFI_MODE_NULL

---
 libraries/WiFi/src/WiFiSTA.cpp | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/libraries/WiFi/src/WiFiSTA.cpp b/libraries/WiFi/src/WiFiSTA.cpp
index c58a323bff7..a3d40102374 100644
--- a/libraries/WiFi/src/WiFiSTA.cpp
+++ b/libraries/WiFi/src/WiFiSTA.cpp
@@ -415,7 +415,12 @@ IPAddress WiFiSTAClass::localIP()
  */
 uint8_t* WiFiSTAClass::macAddress(uint8_t* mac)
 {
-    esp_read_mac(mac, ESP_MAC_WIFI_STA);
+    if(WiFiGenericClass::getMode() != WIFI_MODE_NULL){
+        esp_wifi_get_mac(WIFI_IF_STA, mac);	
+    }
+    else{
+        esp_read_mac(mac, ESP_MAC_WIFI_STA);
+    }
     return mac;
 }
 
@@ -427,7 +432,12 @@ String WiFiSTAClass::macAddress(void)
 {
     uint8_t mac[6];
     char macStr[18] = { 0 };
-    esp_read_mac(mac, ESP_MAC_WIFI_STA);
+    if(WiFiGenericClass::getMode() == WIFI_MODE_NULL){
+        esp_read_mac(mac, ESP_MAC_WIFI_STA);
+    }
+    else{
+        esp_wifi_get_mac(WIFI_IF_STA, mac);
+    }
     sprintf(macStr, "%02X:%02X:%02X:%02X:%02X:%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
     return String(macStr);
 }