Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

E (588) SPIFFS: mount failed, -10025 #638

Closed
emilekm2142 opened this issue Sep 16, 2017 · 26 comments
Closed

E (588) SPIFFS: mount failed, -10025 #638

emilekm2142 opened this issue Sep 16, 2017 · 26 comments
Assignees
Labels
Type: For reference Common questions & problems

Comments

@emilekm2142
Copy link

emilekm2142 commented Sep 16, 2017

Even the simplest

#include "Arduino.h"
#include "FS.h"
#include "SPIFFS.h"

void setup() {
  SPIFFS.begin();
}
void loop() {
 
}

crashes with an error

E (588) SPIFFS: mount failed, -10025
[E][SPIFFS.cpp:47] begin(): Mounting SPIFFS failed! Error: -1

It used to work for a while on the same board when there was only an unoffical SPIFFS available, but today even the unofficial one has crashed.
Is it a problem with the board? I have the newest version from the repository.

I have saved a few files containing a few chars earlier.

@emilekm2142 emilekm2142 changed the title E (31378) SPIFFS: mount failed, -10025 E (588) SPIFFS: mount failed, -10025 Sep 16, 2017
@lbernstone
Copy link
Contributor

Did you do a flash erase before loading your new code? I have not really looked at it, but it seems highly likely the official library has a slightly different FS structure than the pre-release.

@emilekm2142
Copy link
Author

emilekm2142 commented Sep 16, 2017

I did make erase_flash on esp-idf, entire flash was erased yet still get the same error :/

@copercini
Copy link
Contributor

@emilekm2142 try this tip from bbx10 of another issue:
SPIFFS.begin(true);

@emilekm2142
Copy link
Author

it works! \o/!
For anyone having the same problem: the first argument is formatOnFail. Related issue: #411

@rel1ct
Copy link

rel1ct commented Sep 17, 2017

SPIFFS.begin(true);
And what about the compatibility of the code?
May be:
bool begin(bool formatOnFail=true, const char * basePath="/spiffs", uint8_t maxOpenFiles=10);
and SPIFFS.begin();?

@me-no-dev
Copy link
Member

@rel1ct having SPIFFS format by default is not a very good idea ;) if you by accident flash your board with wrong config, it will wipe your data that might be otherwise good ;) That is why it's false by default.

@me-no-dev me-no-dev added the Type: For reference Common questions & problems label Sep 18, 2017
@rel1ct
Copy link

rel1ct commented Sep 18, 2017

true and false in no way will it save on wrong config.
SPIFFS.begin(); --> E (588) SPIFFS: mount failed, -10025 --> www.google.com --> SPIFFS.begin(true);
How will this affect wrong config?

@me-no-dev
Copy link
Member

currently there is only one partition scheme implemented, but in the future there will be more for the different flash sizes, so if you select by mistake a wrong flash size in the menu and flash it, it will find that your SPIFFS partition is not OK and will format otherwise good partition.

@rel1ct
Copy link

rel1ct commented Sep 18, 2017

I do not see the connection size SPIFFS and launch SPIFFS.

@me-no-dev
Copy link
Member

when you launch SPIFFS it reads the partition scheme currently loaded, get the size from there and try to mount with that size. If you flash firmware with the wrong partition scheme it will obviously try to mount with a different partition size and that will lead to error and reformat! What is so hard to understand?

@everslick
Copy link
Contributor

I always hated it, that the old SPIFFS implementation silently formatted the partition. so i welcome the sane default to fail on mount.

on a different note, i realized that during format the watchdog complains that it did not got fed in time. and it would be very cool if we could give user feedback during the format via a progress callback. maybe those two things could be dealt with with just a progress callback?

@rel1ct
Copy link

rel1ct commented Sep 18, 2017

Ok, there is a working firmware (SPIFFS size 1MB) SPIFFS.begin (true); with the files in the SPIFFS section.
You download the firmware with the modified size SPIFFS (for example 0.5MB) SPIFFS.begin (false);.
What happen to the files in SPIFFS section ???

@everslick
Copy link
Contributor

everslick commented Sep 18, 2017 via email

@skyladle
Copy link

Hi
I have the same issue, I do not get point from above discussion. what is the final correct solution ?
how to correct mount without burden issue ?what wrong I made?
my setting
Arduino 1.8.3
code: SPIFFS_Test.ino in the example of library
sketch data upload info:
ESP32 sketch data upload

SPIFFS] data : C:\Users\Myfamily\Downloads\arduino_esp32_learn\SPIFFS_Test\data
[SPIFFS] start : 2691072
[SPIFFS] size : 1468
[SPIFFS] page : 256
[SPIFFS] block : 4096
/hello.txt

/otmeme.txt

[SPIFFS] upload : C:\Users\Myfamily\AppData\Local\Temp\arduino_build_921005/SPIFFS_Test.spiffs.bin
[SPIFFS] address: 2691072
[SPIFFS] port : COM3
[SPIFFS] speed : 921600
[SPIFFS] mode : dio
[SPIFFS] freq : 80m

code debug information
ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:812
load:0x40078000,len:0
load:0x40078000,len:10212
entry 0x40078a00
E (23) SPIFFS: mount failed, -10025
SPIFFS Mount Failed

thanks a lot

@everslick
Copy link
Contributor

everslick commented Feb 3, 2018 via email

@schweini
Copy link

I'd just like to repeat that the included SPIFFS_Test example sketch gives me this 'mount error' by default.

Changing "!SPIFFS.begin()" to "!SPIFFS.begin(true)" in line line 154 fixes the issue, and all tests run successfully.

@zhivko
Copy link

zhivko commented Feb 22, 2019

In my case problem was wrong spiff length while building SPIFF binary with command
mkspiffs.exe -p 256 -b 4096 -s [length] -d 5 -c ./data ./spiffs.bin
Length must me same as defined in partitions.csv before partitions are built with make all command.

Contents of my partitions.csv

nvs,      data, nvs,     0x9000,  0x5000,
otadata,  data, ota,     0xe000,  0x2000,
app0,     app,  ota_0,   0x10000, 0x140000,
app1,     app,  ota_1,   0x150000,0x140000,
eeprom,   data, 0x99,    0x290000,0x1000,
spiffs,   data, spiffs,     ,[length],
coredump, data, coredump,  ,64K,

So those [length] should be same. Maybe it helps somebody.

euphi added a commit to homieiot/homie-esp8266 that referenced this issue Mar 6, 2019
* update file permissions (#525)

* update file permissions

* Update CI Build

* Add option for ota_updater script to connect to TLS-protected brokers +Send when online only (#512)

* Add option for ota_updater script to connect to TLS-protected brokers
* Fix ota_updater not working when device is in deep sleep mode

* Fix CI PK algorithm used

* Add 'name' field to HomieNode

* Update Homie version (3.0.0)

* Add 'init' state to advertise progress

* Add 'stats' state to advertise progress

* Add 'ready' state to advertise progress

* Add 'PUB_NAME' state to advertise progress

* Add 'name', 'unit', 'datatype' and 'format' fields to 'Property' class

* Initialize 'name', 'unit', 'datatype' and 'format' to null

* Set global step to 'PUB_INIT' on disconnect

* Publish properties attributes on setup

* Fix 'NULL' spelling

* Fix typo

* Fix typos

* Remove property attribute setters and overload 'advertise' function

* Rework the property attribute announcement mechanism

* Remove ':settable' indicator from properties advertisement

* Change 'will' topic  and message to '$state'->'lost'

* Set '$state' attribute to "sleeping'

* Update all examples

* Update library version

* Implement node arrays functionality

* Adapt examples

* Update README file

* Fix cpplint complains

* Introduce individual set functions for optional attributes of properties

* Update examples to the new advertise syntax

* Fix cpplint errors

* Fix typo in TemperatureSensor example

* Add $retained attribute to properties (Homie 3.0.1) and button example

* Address review comments

* -Ported to esp32. homie-esp8266 now supports architectures esp32 and esp8266.
-Successfully tested with M5Stick/Environment Sensor (https://docs.m5stack.com/#/en/core/m5stick, https://docs.m5stack.com/#/en/unit/env) on openHAB 2.4 / mosquitto 1.4.15.
-For increased openhab2.4 compatibility $stats/interval is now set correctly and published on every stats update (see eclipse-archived/smarthome#6495).
-On esp32 OTA and LED support are currently not working (future work needs to be done, see #FIXME comments).

* Increased WiFi robustness: Explicit connects/reconnects for proper
handling of sockets/connections.

* Increased WiFi robustness: Explicit connects/reconnects for proper handling of sockets/connections.

* lint: Fixed indent.

* Fix "SPIFFS: mount failed" by setting formatOnFail to true (see espressif/arduino-esp32#638)

* Use LED if defined.
@JCMireles
Copy link

I'm having the same issue on this code that I found on here Can anyone help with is? Oh I am new to all this coding and arduino stuff code below its a Wifi_Manager with Alexa

`#include <FS.h> //this needs to be first, or it all crashes and burns...
#include <ArduinoJson.h> //https://github.com/bblanchon/ArduinoJson
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <DNSServer.h>
#include <WiFiManager.h> //https://github.com/tzapu/WiFiManager
#include <WiFiUdp.h>
#include

void prepareIds();
boolean connectWifi();
boolean connectUDP();
void startHttpServer();
void turnOnRelay();
void turnOffRelay();
void sendRelayState();

//const char* ssid = "Fart"; // CHANGE: Wifi name
//const char* password = "12345"; // CHANGE: Wifi password
char friendlyName[20] = "smart device";
//String friendlyName = "smart device"; // CHANGE: Alexa device name
const int relayPin = 2; // D1 pin. More info: https://github.com/esp8266/Arduino/blob/master/variants/d1_mini/pins_arduino.h#L49-L61

WiFiUDP UDP;
IPAddress ipMulti(239, 255, 255, 250);
ESP8266WebServer HTTP(80);
boolean udpConnected = false;
unsigned int portMulti = 1900; // local port to listen on
unsigned int localPort = 1900; // local port to listen on
boolean wifiConnected = false;
boolean relayState = false;
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet,
String serial;
String persistent_uuid;
boolean cannotConnectToWifi = false;
//flag for saving data
bool shouldSaveConfig = false;

//callback notifying us of the need to save config
void saveConfigCallback () {
Serial.println("Should save config");
shouldSaveConfig = true;
}

void readConfigSPIFF() {
//read configuration from File system json
Serial.println("mounting FS...");

if (SPIFFS.begin()) {
Serial.println("mounted file system");
if (SPIFFS.exists("/config.json")) {
//file exists, reading and loading
Serial.println("reading config file...");
File configFile = SPIFFS.open("/config.json", "r");
if (configFile) {
Serial.println("opened config file");
size_t size = configFile.size();
// Allocate a buffer to store contents of the file.
std::unique_ptr<char[]> buf(new char[size]);

    configFile.readBytes(buf.get(), size);
    DynamicJsonBuffer jsonBuffer;
    JsonObject& json = jsonBuffer.parseObject(buf.get());
    json.printTo(Serial);
    if (json.success()) {
      Serial.println("\nparsed json");
      strcpy(friendlyName, json["friendlyName"]);
      Serial.println("\nparsed friendlyName: ");
      Serial.println(friendlyName);

    } else {
      Serial.println("failed to load json config");
    }
  } else {
      Serial.println("failed to load json config");
    }
} else {
      Serial.println("failed to load json config");
  }

} else {
Serial.println("failed to mount FS");
}
//end read
}

void saveConfigSPIFF( WiFiManagerParameter customFriendlyName) {
//read updated parameters
strcpy(friendlyName, customFriendlyName.getValue());
Serial.println("saved friendly name: ");
Serial.println(friendlyName);

//save the custom parameters to FS
if (shouldSaveConfig) {
Serial.println("saving config");
DynamicJsonBuffer jsonBuffer;
JsonObject& json = jsonBuffer.createObject();
json["friendlyName"] = friendlyName;

File configFile = SPIFFS.open("/config.json", "w");
if (!configFile) {
  Serial.println("failed to open config file for writing");
}

json.printTo(Serial);
json.printTo(configFile);
configFile.close();
//end save

}
}

void setup() {

//delay(5000);
// Setup Relay
pinMode(relayPin, OUTPUT);
//delay(10);
turnOnRelay();

// Initialise serial port
Serial.begin(115200);

// Read SPIFF configuration
readConfigSPIFF();

// Setup WiFiManager
WiFiManager wifiManager;

// Add custom parameter to WiFiManager
WiFiManagerParameter customFriendlyName("Device_Name", "Device_Name", friendlyName, 20);

//add all your parameters here
wifiManager.addParameter(&customFriendlyName);

//set config save notify callback
wifiManager.setSaveConfigCallback(saveConfigCallback);

//first parameter is name of access point, second is the password
wifiManager.autoConnect("Smart Device");

strcpy(friendlyName, customFriendlyName.getValue());
Serial.println("saving friendly name: ");
Serial.println(friendlyName);
saveConfigSPIFF(customFriendlyName);

prepareIds();

// Initialise wifi connection
//wifiConnected = connectWifi();

// only proceed if wifi connection successful
//if(wifiConnected){
Serial.println("Ask Alexa to discover devices");
udpConnected = connectUDP();

if (udpConnected) {
  // initialise pins if needed 
  startHttpServer();
}

//}
}

void loop() {

HTTP.handleClient();
delay(1);

// if there's data available, read a packet
// check if the WiFi and UDP connections were successful
//if(wifiConnected){
if(udpConnected) {
// if there’s data available, read a packet
int packetSize = UDP.parsePacket();

  if(packetSize) {
    //Serial.println("");
    //Serial.print("Received packet of size ");
    //Serial.println(packetSize);
    //Serial.print("From ");
    IPAddress remote = UDP.remoteIP();
    
    /*for (int i = 0; i < 4; i++) {
      Serial.print(remote[i], DEC);
      if (i < 3) {
        Serial.print(".");
      }
    }
    
    Serial.print(", port ");
    Serial.println(UDP.remotePort());
    */
    int len = UDP.read(packetBuffer, 255);
    
    if (len > 0) {
        packetBuffer[len] = 0;
    }

    String request = packetBuffer;
    //Serial.println("Request:");
    //Serial.println(request);
     
    if(request.indexOf("M-SEARCH") >= 0) {
        // Issue https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/22 fix
        //if(request.indexOf("urn:Belkin:device:**") > 0) {
         if((request.indexOf("urn:Belkin:device:**") >= 0) || (request.indexOf("ssdp:all") >= 0) || (request.indexOf("upnp:rootdevice") >= 0)) {
            Serial.println("Responding to search request ...");
            respondToSearch();
         }
    }
  }
    
  delay(10);
}

/} else {
Serial.println("Cannot connect to Wifi");
}
/
}

void prepareIds() {
uint32_t chipId = ESP.getChipId();
char uuid[64];
sprintf_P(uuid, PSTR("38323636-4558-4dda-9188-cda0e6%02x%02x%02x"),
(uint16_t) ((chipId >> 16) & 0xff),
(uint16_t) ((chipId >> 8) & 0xff),
(uint16_t) chipId & 0xff);

serial = String(uuid);
persistent_uuid = "Socket-1_0-" + serial;
}

void respondToSearch() {
Serial.println("");
Serial.print("Sending response to ");
Serial.println(UDP.remoteIP());
Serial.print("Port : ");
Serial.println(UDP.remotePort());

IPAddress localIP = WiFi.localIP();
char s[16];
sprintf(s, "%d.%d.%d.%d", localIP[0], localIP[1], localIP[2], localIP[3]);

String response = 
     "HTTP/1.1 200 OK\r\n"
     "CACHE-CONTROL: max-age=86400\r\n"
     "DATE: Fri, 15 Apr 2016 04:56:29 GMT\r\n"
     "EXT:\r\n"
     "LOCATION: http://" + String(s) + ":80/setup.xml\r\n"
     "OPT: \"http://schemas.upnp.org/upnp/1/0/\"; ns=01\r\n"
     "01-NLS: b9200ebb-736d-4b93-bf03-835149d13983\r\n"
     "SERVER: Unspecified, UPnP/1.0, Unspecified\r\n"
     "ST: urn:Belkin:device:**\r\n"
     "USN: uuid:" + persistent_uuid + "::urn:Belkin:device:**\r\n"
     "X-User-Agent: redsonic\r\n\r\n";

UDP.beginPacket(UDP.remoteIP(), UDP.remotePort());
UDP.write(response.c_str());
UDP.endPacket();                    

 Serial.println("Response sent !");

}

void startHttpServer() {
HTTP.on("/index.html", HTTP_GET, {
Serial.println("Got Request index.html ...\n");
HTTP.send(200, "text/plain", "Hello World!");
});

HTTP.on("/upnp/control/basicevent1", HTTP_POST, []() {
  Serial.println("########## Responding to  /upnp/control/basicevent1 ... ##########");      

  //for (int x=0; x <= HTTP.args(); x++) {
  //  Serial.println(HTTP.arg(x));
  //}

  String request = HTTP.arg(0);      
  Serial.print("request:");
  Serial.println(request);

  if(request.indexOf("SetBinaryState") >= 0) {
    if(request.indexOf("<BinaryState>1</BinaryState>") >= 0) {
        Serial.println("Got Turn on request");
        turnOnRelay();
    }

    if(request.indexOf("<BinaryState>0</BinaryState>") >= 0) {
        Serial.println("Got Turn off request");
        turnOffRelay();
    }
  }

  if(request.indexOf("GetBinaryState") >= 0) {
    Serial.println("Got binary state request");
    sendRelayState();
  }
        
  HTTP.send(200, "text/plain", "");
});

HTTP.on("/eventservice.xml", HTTP_GET, [](){
  Serial.println(" ########## Responding to eventservice.xml ... ########\n");
  
  String eventservice_xml = "<scpd xmlns=\"urn:Belkin:service-1-0\">"
    "<actionList>"
      "<action>"
        "<name>SetBinaryState</name>"
        "<argumentList>"
          "<argument>"
            "<retval/>"
            "<name>BinaryState</name>"
            "<relatedStateVariable>BinaryState</relatedStateVariable>"
            "<direction>in</direction>"
            "</argument>"
        "</argumentList>"
      "</action>"
      "<action>"
        "<name>GetBinaryState</name>"
        "<argumentList>"
          "<argument>"
            "<retval/>"
            "<name>BinaryState</name>"
            "<relatedStateVariable>BinaryState</relatedStateVariable>"
            "<direction>out</direction>"
            "</argument>"
        "</argumentList>"
      "</action>"
  "</actionList>"
    "<serviceStateTable>"
      "<stateVariable sendEvents=\"yes\">"
        "<name>BinaryState</name>"
        "<dataType>Boolean</dataType>"
        "<defaultValue>0</defaultValue>"
       "</stateVariable>"
       "<stateVariable sendEvents=\"yes\">"
          "<name>level</name>"
          "<dataType>string</dataType>"
          "<defaultValue>0</defaultValue>"
       "</stateVariable>"
    "</serviceStateTable>"
    "</scpd>\r\n"
    "\r\n";
        
  HTTP.send(200, "text/plain", eventservice_xml.c_str());
});

HTTP.on("/setup.xml", HTTP_GET, [](){
  Serial.println(" ########## Responding to setup.xml ... ########\n");

  IPAddress localIP = WiFi.localIP();
  char s[16];
  sprintf(s, "%d.%d.%d.%d", localIP[0], localIP[1], localIP[2], localIP[3]);

  String setup_xml = "<?xml version=\"1.0\"?>"
        "<root>"
         "<device>"
            "<deviceType>urn:Belkin:device:controllee:1</deviceType>"
            "<friendlyName>"+ String(friendlyName) +"</friendlyName>"
            "<manufacturer>Belkin International Inc.</manufacturer>"
            "<modelName>Socket</modelName>"
            "<modelNumber>3.1415</modelNumber>"
            "<modelDescription>Belkin Plugin Socket 1.0</modelDescription>\r\n"
            "<UDN>uuid:"+ persistent_uuid +"</UDN>"
            "<serialNumber>221517K0101769</serialNumber>"
            "<binaryState>0</binaryState>"
            "<serviceList>"
              "<service>"
                  "<serviceType>urn:Belkin:service:basicevent:1</serviceType>"
                  "<serviceId>urn:Belkin:serviceId:basicevent1</serviceId>"
                  "<controlURL>/upnp/control/basicevent1</controlURL>"
                  "<eventSubURL>/upnp/event/basicevent1</eventSubURL>"
                  "<SCPDURL>/eventservice.xml</SCPDURL>"
              "</service>"
          "</serviceList>" 
          "</device>"
        "</root>\r\n"
        "\r\n";
        
    HTTP.send(200, "text/xml", setup_xml.c_str());
    
    Serial.print("Sending :");
    Serial.println(setup_xml);
});

// openHAB support
HTTP.on("/on.html", HTTP_GET, [](){
     Serial.println("Got Turn on request");
     HTTP.send(200, "text/plain", "turned on");
     turnOnRelay();
   });

 HTTP.on("/off.html", HTTP_GET, [](){
    Serial.println("Got Turn off request");
    HTTP.send(200, "text/plain", "turned off");
    turnOffRelay();
   });

  HTTP.on("/status.html", HTTP_GET, [](){
    Serial.println("Got status request");

    String statrespone = "0"; 
    if (relayState) {
      statrespone = "1"; 
    }
    HTTP.send(200, "text/plain", statrespone);
  
});

HTTP.begin();  
Serial.println("HTTP Server started ..");

}

/* connect to wifi – returns true if successful or false if not
boolean connectWifi(){
boolean state = true;
int i = 0;

WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println("");
Serial.println("Connecting to WiFi");

// Wait for connection
Serial.print("Connecting ...");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
if (i > 10){
state = false;
break;
}
i++;
}

if (state){
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
else {
Serial.println("");
Serial.println("Connection failed.");
}

return state;
}
*/

boolean connectUDP(){
boolean state = false;

Serial.println("");
Serial.println("Connecting to UDP");

if(UDP.beginMulticast(WiFi.localIP(), ipMulti, portMulti)) {
Serial.println("Connection successful");
state = true;
}
else{
Serial.println("Connection failed");
}

return state;
}

void turnOnRelay() {
digitalWrite(relayPin, LOW); // turn on relay with voltage HIGH
relayState = true;

String body =
"<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/\"><s:Body>\r\n"
"<u:SetBinaryStateResponse xmlns:u="urn:Belkin:service:basicevent:1">\r\n"
"1\r\n"
"</u:SetBinaryStateResponse>\r\n"
"</s:Body> </s:Envelope>";

HTTP.send(200, "text/xml", body.c_str());

Serial.print("Sending :");
Serial.println(body);
}

void turnOffRelay() {
digitalWrite(relayPin, HIGH); // turn off relay with voltage LOW
relayState = false;

String body =
"<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/\"><s:Body>\r\n"
"<u:SetBinaryStateResponse xmlns:u="urn:Belkin:service:basicevent:1">\r\n"
"0\r\n"
"</u:SetBinaryStateResponse>\r\n"
"</s:Body> </s:Envelope>";

HTTP.send(200, "text/xml", body.c_str());

Serial.print("Sending :");
Serial.println(body);
}

void sendRelayState() {

String body =
"<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/\"><s:Body>\r\n"
"<u:GetBinaryStateResponse xmlns:u="urn:Belkin:service:basicevent:1">\r\n"
"";

body += (relayState ? "1" : "0");

body += "\r\n"
"</u:GetBinaryStateResponse>\r\n"
"</s:Body> </s:Envelope>\r\n";

HTTP.send(200, "text/xml", body.c_str());
}`

@atanisoft
Copy link
Collaborator

@JCMireles your code appears to be for esp8266 and not esp32. You should open an issue over on esp8266/Arduino instead.

@stale stale bot added the wontfix label Apr 17, 2022
@espressif espressif deleted a comment from stale bot Apr 20, 2022
@QGB
Copy link

QGB commented Sep 25, 2022

esp32c3:


E (1317) SPIFFS: mount failed, -10025
[  1290][E][SPIFFS.cpp:114] format(): Formatting SPIFFS failed! Error: -1
[  1291][E][SPIFFS.cpp:89] begin(): Mounting SPIFFS failed! Error: -1

@viktak
Copy link

viktak commented Jan 31, 2023

Rolling back to platform = espressif32@3.0.0 seems to have fixed this issue for me. I dn't know if other, interim version work as I don't have the time to test each one now.

@VojtechBartoska
Copy link
Collaborator

@emilekm2142 Can this be closed?

@VojtechBartoska VojtechBartoska added the Resolution: Awaiting response Waiting for response of author label Jan 31, 2023
@viktak
Copy link

viktak commented Jan 31, 2023

I think this issue still exists. Rolling back to an older framework is not a solution, just a temporary workaround.

@emilekm2142
Copy link
Author

@emilekm2142 Can this be closed?

The original issue was solved with SPIFFS.begin(true) some years ago

@emilekm2142 try this tip from bbx10 of another issue: SPIFFS.begin(true);

You can close it unless we want to continue the thread if some other guys still have this problem.

@imashur
Copy link

imashur commented Mar 13, 2023

Hi, I still got this issue now days. I already try
if (!SPIFFS.begin(true)) {

Below is the log information

Mounting FS...
E (274) SPIFFS: mount failed, -10025

assert failed: xQueueSemaphoreTake queue.c:1554 (!( ( xTaskGetSchedulerState() = = ( ( BaseType_t ) 0 ) ) && ( xTicksToWait != 0 ) ))

I am using ESP32 as well. Anybody has solution for this? Thank you.

@VojtechBartoska
Copy link
Collaborator

@PilnyTomas this can be covered in FAQ.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: For reference Common questions & problems
Projects
None yet
Development

No branches or pull requests