-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Description
Board
M5Stack Tab5 (ESP32-P4)
Device Description
Device: M5Stack Tab5, ESP32-P4 (revision v1.0)
Bootloader identification:
esptool v5.1.0
Serial port COM8:
Connecting...
Connected to ESP32-P4 on COM8:
Chip type: ESP32-P4 (revision v1.0)
Features: Dual Core + LP Core, 400MHz
Crystal frequency: 40MHz
USB mode: USB-Serial/JTAG
MAC: 30:ed:a0:e1:60:3a
Hardware Configuration
- Board: M5Stack Tab5 (ESP32-P4, revision v1.0)
- SD card slot: Empty
- Board powered via USB-C cable to PC
- No external sensors or modules connected
- Using built-in display only
- Programmed/flashed via USB/Serial (esptool v5.1.0, Arduino 3.3.3 core)
Version
latest stable Release (if not listed below)
Type
Bug
IDE Name
Arduino IDE
Operating System
Windows 11
Flash frequency
80MHz
PSRAM enabled
yes
Upload speed
921600
Description
When attempting any WiFi operation (even the basic WiFiServer example), WiFi fails to connect and the following errors appear repeatedly in serial output:
E (3249) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107
E (3250) sdio_wrapper: sdmmc_card_init failed
E (3478) H_SDIO_DRV: card init failed
E (3478) transport: ensure_slave_bus_ready failed
ESP_ERROR_CHECK_WITHOUT_ABORT failed: esp_err_t 0xffffffff (ESP_FAIL) at 0x4003cafe
file: "./managed_components/espressif__esp_hosted/host/api/src/esp_hosted_api.c" line 156
func: esp_hosted_reconfigure
expression: transport_drv_reconfigure()
E (3496) H_API: ESP-Hosted link not yet up
WiFi never connects, and calls to WiFi.macAddress() always return 00:00:00:00:00:00.
Strikingly, the real MAC is correctly shown by esptool at flash time:
Connecting...
Connected to ESP32-P4 on COM8:
MAC: 30:ed:a0:e1:60:3a
Steps to Reproduce:
- Use any basic WiFi example (e.g. WebServer or WiFi.macAddress() print) with appropriate credentials.
- Attempt to connect, observe that SDIO errors occur and WiFi never connects.
- Serial prints always indicate MAC = 00:00:00:00:00:00 at runtime, but chip MAC is valid in esptool.
Additional Attempts:
- Tried disabling SD in M5Unified (
M5.begin(cfg), as well as all possible configs; no effect). - Sketch does not call
SD.begin()or similar anywhere. - Even the simplest WiFi sketch will not connect.
- Tried both stable and nightly/alpha core releases as of Nov 2025.
Log Excerpt
21:48:37.802 -> Connecting to ...
21:48:37.802 -> E (3249) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107
...
21:48:38.035 -> E (3478) H_SDIO_DRV: card init failed
...
21:48:38.035 -> E (3496) H_API: ESP-Hosted link not yet up
21:48:38.035 -> WiFi not connected. MAC: 00:00:00:00:00:00
What I expect:
- WiFi should connect as it does on ESP32, ESP32-S3 etc, or at the very least MAC address should be visible at runtime.
- SDIO/hosted link errors should not prevent WiFi stack startup.
Additional Notes:
- This issue does not occur on ESP32 (original) or ESP32-S3.
- I am aware ESP32-P4 support is new. If there is a workaround, documentation, or recommended dev branch/IDF patch, please advise.
Sketch
#include <WiFi.h>
const char* ssid = "my_ssid";
const char* password = "my_password";
void setup() {
Serial.begin(115200);
delay(500);
Serial.println("Serial started!");
// Set WiFi mode
WiFi.mode(WIFI_STA);
// Print MAC address
String mac = WiFi.macAddress();
Serial.print("Tab5 MAC: ");
Serial.println(mac); // <-- This prints all zeros
delay(500); // Readability
// Try to connect to WiFi
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
int count = 0;
while (WiFi.status() != WL_CONNECTED && count < 20) {
delay(500);
Serial.print(".");
count++;
}
Serial.println();
if (WiFi.status() == WL_CONNECTED) {
Serial.println("WiFi connected.");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
} else {
Serial.println("WiFi not connected.");
}
}
void loop() {
// Nothing here
}Debug Message
21:48:37.802 ->
21:48:37.802 -> Connecting to my_ssid
21:48:37.802 -> E (3249) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107
21:48:37.802 -> E (3250) sdio_wrapper: sdmmc_card_init failed
21:48:37.896 -> E (3377) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107
21:48:37.896 -> E (3378) sdio_wrapper: sdmmc_card_init failed
21:48:38.035 -> E (3478) H_SDIO_DRV: card init failed
21:48:38.035 -> E (3478) transport: ensure_slave_bus_ready failed
21:48:38.035 -> ESP_ERROR_CHECK_WITHOUT_ABORT failed: esp_err_t 0xffffffff (ESP_FAIL) at 0x4003cafe
21:48:38.035 -> file: "./managed_components/espressif__esp_hosted/host/api/src/esp_hosted_api.c" line 156
21:48:38.035 -> func: esp_hosted_reconfigure
21:48:38.035 -> expression: transport_drv_reconfigure()
21:48:38.035 -> E (3496) H_API: ESP-Hosted link not yet up
21:48:38.601 -> .................................................................................
Other Steps to Reproduce
No response
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.