ESP32 MAC address does not match AP MAC address
Posted: Wed Dec 14, 2022 4:32 am
Greetings,
We are using the ESP32-WROVER-B with esp-idf v3.3.6 and have noticed an issue we can't explain:
When we read the MAC address from the ESP32 WiFi interface in STA mode using the esp_wifi_get_mac() function, the value returned does not match the MAC address reported by the AP point it is connected to.
When the ESP32 STA connects to a 3rd party AP, the AP reports the ESP32 MAC address to be 30:AE:A4:CB:66:98
Multiple different AP vendors return the same value. Using esptoo.py read_mac also returns this same value.
When calling the esp_wifi_get_mac() function in firmware, it returns a STA MAC address of A8:D1:FB:3F:F8:D0
Example Code:
Any ideas if this is expected behavior or are we doing something funny here?
Thanks!
-AD
We are using the ESP32-WROVER-B with esp-idf v3.3.6 and have noticed an issue we can't explain:
When we read the MAC address from the ESP32 WiFi interface in STA mode using the esp_wifi_get_mac() function, the value returned does not match the MAC address reported by the AP point it is connected to.
When the ESP32 STA connects to a 3rd party AP, the AP reports the ESP32 MAC address to be 30:AE:A4:CB:66:98
Multiple different AP vendors return the same value. Using esptoo.py read_mac also returns this same value.
When calling the esp_wifi_get_mac() function in firmware, it returns a STA MAC address of A8:D1:FB:3F:F8:D0
Example Code:
- // Get MAC address and display as 6-byte hex value
- uint8_t mac[6];
- char macAddr[13];
- esp_wifi_get_mac(WIFI_IF_STA, mac);
- snprintf(macAddr, sizeof(macAddr),
- "%02X%02X%02X%02X%02X%02X", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
- printf("MAC address: %s", macAddr);
Thanks!
-AD