[GH-ISSUE #620] Loss of connection after reboot operation #518

Open
opened 2026-02-28 01:25:40 +03:00 by kerem · 9 comments
Owner

Originally created by @ghost on GitHub (Jun 11, 2018).
Original GitHub issue: https://github.com/tzapu/WiFiManager/issues/620

With Nodemcu works 100% even after reboot
With ESP-01you need to setup again (network selection, password and ...) after reboot

Is the hardware problem a software problem

#include <FS.h>                   //this needs to be first, or it all crashes and burns...

#include <ESP8266WiFi.h>          //https://github.com/esp8266/Arduino
#include <BlynkSimpleEsp8266.h>
//needed for library
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>          //https://github.com/tzapu/WiFiManager
#include <SimpleTimer.h>
#include <ArduinoJson.h>          //https://github.com/bblanchon/ArduinoJson


#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
//#define BLYNK_DEBUG


//define your default values here, if there are different values in config.json, they are overwritten.
//char mqtt_server[40];
//char mqtt_port[6] = "8080";
char blynk_token[34] = "YOUR_BLYNK_TOKEN";

//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 setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
  Serial.println();

  //clean FS, for testing
  //SPIFFS.format();

  //read configuration from FS 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(mqtt_server, json["mqtt_server"]);
          //strcpy(mqtt_port, json["mqtt_port"]);
          strcpy(blynk_token, json["blynk_token"]);

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




  WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 33);


  WiFiManager wifiManager;

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

  //set static ip
  //wifiManager.setSTAStaticIPConfig(IPAddress(10,0,1,99), IPAddress(10,0,1,1), IPAddress(255,255,255,0));
  
  //add all your parameters here
  //wifiManager.addParameter(&custom_mqtt_server);
  //wifiManager.addParameter(&custom_mqtt_port);
  wifiManager.addParameter(&custom_blynk_token);

  //reset settings - for testing
  //wifiManager.resetSettings();

  //set minimu quality of signal so it ignores AP's under that quality
  //defaults to 8%
  //wifiManager.setMinimumSignalQuality();
  

  if (!wifiManager.autoConnect("Wifi_Manager", "password")) {
   Serial.println("failed to connect and hit timeout");
   delay(3000);
    //reset and try again, or maybe put it to deep sleep
   ESP.reset();
   delay(5000);
 }

 //if you get here you have connected to the WiFi
  Serial.println("connected...yeey :)");


 strcpy(blynk_token, custom_blynk_token.getValue());

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

    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
  }

  //Serial.println("local ip");
  //Serial.println(WiFi.localIP());

  Blynk.config(blynk_token);
  bool result = Blynk.connect();

if (result != true)
{
  Serial.println("BLYNK Connection Fail");
  Serial.println(blynk_token);
  wifiManager.resetSettings();
  ESP.reset();
  delay (5000);
}
else
{
  Serial.println("BLYNK Connected");
}

}

void loop() {

Blynk.run();

}
Originally created by @ghost on GitHub (Jun 11, 2018). Original GitHub issue: https://github.com/tzapu/WiFiManager/issues/620 With Nodemcu works 100% even after reboot With ESP-01you need to setup again (network selection, password and ...) after reboot Is the hardware problem a software problem #include <FS.h> //this needs to be first, or it all crashes and burns... #include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino #include <BlynkSimpleEsp8266.h> //needed for library #include <DNSServer.h> #include <ESP8266WebServer.h> #include <WiFiManager.h> //https://github.com/tzapu/WiFiManager #include <SimpleTimer.h> #include <ArduinoJson.h> //https://github.com/bblanchon/ArduinoJson #define BLYNK_PRINT Serial // Comment this out to disable prints and save space //#define BLYNK_DEBUG //define your default values here, if there are different values in config.json, they are overwritten. //char mqtt_server[40]; //char mqtt_port[6] = "8080"; char blynk_token[34] = "YOUR_BLYNK_TOKEN"; //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 setup() { // put your setup code here, to run once: Serial.begin(115200); Serial.println(); //clean FS, for testing //SPIFFS.format(); //read configuration from FS 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(mqtt_server, json["mqtt_server"]); //strcpy(mqtt_port, json["mqtt_port"]); strcpy(blynk_token, json["blynk_token"]); } else { Serial.println("failed to load json config"); } } } } else { Serial.println("failed to mount FS"); } //end read WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 33); WiFiManager wifiManager; //set config save notify callback wifiManager.setSaveConfigCallback(saveConfigCallback); //set static ip //wifiManager.setSTAStaticIPConfig(IPAddress(10,0,1,99), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); //add all your parameters here //wifiManager.addParameter(&custom_mqtt_server); //wifiManager.addParameter(&custom_mqtt_port); wifiManager.addParameter(&custom_blynk_token); //reset settings - for testing //wifiManager.resetSettings(); //set minimu quality of signal so it ignores AP's under that quality //defaults to 8% //wifiManager.setMinimumSignalQuality(); if (!wifiManager.autoConnect("Wifi_Manager", "password")) { Serial.println("failed to connect and hit timeout"); delay(3000); //reset and try again, or maybe put it to deep sleep ESP.reset(); delay(5000); } //if you get here you have connected to the WiFi Serial.println("connected...yeey :)"); strcpy(blynk_token, custom_blynk_token.getValue()); //save the custom parameters to FS if (shouldSaveConfig) { Serial.println("saving config"); DynamicJsonBuffer jsonBuffer; JsonObject& json = jsonBuffer.createObject(); //json["mqtt_server"] = mqtt_server; //json["mqtt_port"] = mqtt_port; json["blynk_token"] = blynk_token; 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 } //Serial.println("local ip"); //Serial.println(WiFi.localIP()); Blynk.config(blynk_token); bool result = Blynk.connect(); if (result != true) { Serial.println("BLYNK Connection Fail"); Serial.println(blynk_token); wifiManager.resetSettings(); ESP.reset(); delay (5000); } else { Serial.println("BLYNK Connected"); } } void loop() { Blynk.run(); }
Author
Owner

@tablatronix commented on GitHub (Jun 11, 2018):

Did you try erasing the flash?

<!-- gh-comment-id:396224050 --> @tablatronix commented on GitHub (Jun 11, 2018): Did you try erasing the flash?
Author
Owner

@tablatronix commented on GitHub (Jun 11, 2018):

So do you think it is not saving the wifi credentials on save ?

What do the serial logs say ?

<!-- gh-comment-id:396278642 --> @tablatronix commented on GitHub (Jun 11, 2018): So do you think it is not saving the wifi credentials on save ? What do the serial logs say ?
Author
Owner

@tablatronix commented on GitHub (Jun 11, 2018):

Hmmm same with the autoconnect example?

<!-- gh-comment-id:396357301 --> @tablatronix commented on GitHub (Jun 11, 2018): Hmmm same with the autoconnect example?
Author
Owner

@ghost commented on GitHub (Jun 11, 2018):

autoconnect example

code

#include <ESP8266WiFi.h>          	//https://github.com/esp8266/Arduino

//needed for library
#include <DNSServer.h>
#include <ESP8266WebServer.h>
#include <WiFiManager.h>         	//https://github.com/tzapu/WiFiManager


void setup() {
// put your setup code here, to run once:
Serial.begin(115200);

//WiFiManager
//Local intialization. Once its business is done, 	there is no need to keep it around
WiFiManager wifiManager;
//reset saved settings
//wifiManager.resetSettings();

//set custom ip for portal
//wifiManager.setAPConfig(IPAddress(10,0,1,1), 	IPAddress(10,0,1,1), IPAddress(255,255,255,0));

//fetches ssid and pass from eeprom and tries to 	connect
//if it does not connect it starts an access point with the specified name
//here  "AutoConnectAP"
//and goes into a blocking loop awaiting configuration
wifiManager.autoConnect("AutoConnectAP");
//or use this for auto generated name ESP + ChipID
//wifiManager.autoConnect();


//if you get here you have connected to the WiFi
Serial.println("connected...yeey :)");
}

void loop() {
// put your main code here, to run repeatedly:

}

serial logs
⸮*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 0
*WM: SET AP STA
*WM:
*WM: Configuring access point...
*WM: AutoConnectAP
*WM: AP IP address:
*WM: 192.168.4.1
*WM: HTTP server started
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Handle root
*WM: Scan done
*WM: Pro-Syrian.com
*WM: -57
*WM: DemirT
*WM: -73
*WM: Emirhan
*WM: -84
*WM: iPhone
*WM: -96
*WM: Sent config page
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Scan done
*WM: Pro-Syrian.com
*WM: -57
*WM: DemirT
*WM: -77
*WM: Emirhan
*WM: -87
*WM: iPhone
*WM: -92
*WM: Sent config page
*WM: Handle root
*WM: Handle root
*WM: Handle root
*WM: Scan done
*WM: Pro-Syrian.com
*WM: -58
*WM: DemirT
*WM: -73
*WM: iPhone
*WM: -91
*WM: Sent config page
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: WiFi save
*WM: Sent wifi save page
*WM: Connecting to new AP
*WM: Connecting as wifi client...
*WM: Connection result:
*WM: 4
*WM: Failed to connect.
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: WiFi save
*WM: Sent wifi save page
*WM: Connecting to new AP
*WM: Connecting as wifi client...
*WM: Already connected. Bailing out.
connected...yeey :)


serial logs
After separation of current

*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.1.102
connected...yeey :)

<!-- gh-comment-id:396364973 --> @ghost commented on GitHub (Jun 11, 2018): autoconnect example code #include <ESP8266WiFi.h> //https://github.com/esp8266/Arduino //needed for library #include <DNSServer.h> #include <ESP8266WebServer.h> #include <WiFiManager.h> //https://github.com/tzapu/WiFiManager void setup() { // put your setup code here, to run once: Serial.begin(115200); //WiFiManager //Local intialization. Once its business is done, there is no need to keep it around WiFiManager wifiManager; //reset saved settings //wifiManager.resetSettings(); //set custom ip for portal //wifiManager.setAPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); //fetches ssid and pass from eeprom and tries to connect //if it does not connect it starts an access point with the specified name //here "AutoConnectAP" //and goes into a blocking loop awaiting configuration wifiManager.autoConnect("AutoConnectAP"); //or use this for auto generated name ESP + ChipID //wifiManager.autoConnect(); //if you get here you have connected to the WiFi Serial.println("connected...yeey :)"); } void loop() { // put your main code here, to run repeatedly: } **serial logs** ⸮*WM: *WM: AutoConnect *WM: Connecting as wifi client... *WM: Using last saved values, should be faster *WM: Connection result: *WM: 0 *WM: SET AP STA *WM: *WM: Configuring access point... *WM: AutoConnectAP *WM: AP IP address: *WM: 192.168.4.1 *WM: HTTP server started *WM: Handle root *WM: Request redirected to captive portal *WM: Request redirected to captive portal *WM: Handle root *WM: Handle root *WM: Scan done *WM: Pro-Syrian.com *WM: -57 *WM: DemirT *WM: -73 *WM: Emirhan *WM: -84 *WM: iPhone *WM: -96 *WM: Sent config page *WM: Handle root *WM: Request redirected to captive portal *WM: Handle root *WM: Request redirected to captive portal *WM: Handle root *WM: Request redirected to captive portal *WM: Scan done *WM: Pro-Syrian.com *WM: -57 *WM: DemirT *WM: -77 *WM: Emirhan *WM: -87 *WM: iPhone *WM: -92 *WM: Sent config page *WM: Handle root *WM: Handle root *WM: Handle root *WM: Scan done *WM: Pro-Syrian.com *WM: -58 *WM: DemirT *WM: -73 *WM: iPhone *WM: -91 *WM: Sent config page *WM: Request redirected to captive portal *WM: Handle root *WM: Request redirected to captive portal *WM: WiFi save *WM: Sent wifi save page *WM: Connecting to new AP *WM: Connecting as wifi client... *WM: Connection result: *WM: 4 *WM: Failed to connect. *WM: Request redirected to captive portal *WM: Handle root *WM: Request redirected to captive portal *WM: Handle root *WM: WiFi save *WM: Sent wifi save page *WM: Connecting to new AP *WM: Connecting as wifi client... *WM: Already connected. Bailing out. connected...yeey :) __________________________________________________ **serial logs After separation of current** *WM: AutoConnect *WM: Connecting as wifi client... *WM: Using last saved values, should be faster *WM: Connection result: *WM: 3 *WM: IP Address: *WM: 192.168.1.102 connected...yeey :)
Author
Owner

@ghost commented on GitHub (Jun 11, 2018):

coode with blynk token



#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <ESP8266WebServer.h>
#include <DNSServer.h>
#include <WiFiManager.h>
#include <Ticker.h>
Ticker ticker;



char blynk_token[33];


void tick()
{
  //toggle state
  int state = digitalRead(LED_BUILTIN); 
  digitalWrite(LED_BUILTIN, !state);  
}






void configModeCallback (WiFiManager *myWiFiManager) {
  ticker.attach(0.2, tick);
}








void setup()
{
    Serial.begin(115200);
    WiFiManagerParameter custom_blynk_token("Blynk", "blynk token", blynk_token, 33);
    WiFiManager wifi;
    wifi.addParameter(&custom_blynk_token);
    wifi.autoConnect("Blynk");
    Blynk.config(custom_blynk_token.getValue());
  

}

void loop()
{
  Blynk.run();

}




serial

⸮*WM: Adding parameter
*WM: Blynk
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 0
*WM: SET AP STA
*WM:
*WM: Configuring access point...
*WM: Blynk
*WM: AP IP address:
*WM: 192.168.4.1
*WM: HTTP server started
*WM: Handle root
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Handle root
*WM: Handle root
*WM: Handle root
*WM: Scan done
*WM: Pro-Syrian.com
*WM: -51
*WM: DemirT
*WM: -78
*WM: Sent config page
*WM: Request redirected to captive portal
*WM: Handle root
*WM: Request redirected to captive portal
*WM: Request redirected to captive portal
*WM: Request redirected to captive portal
*WM: WiFi save
*WM: Parameter
*WM: Blynk
*WM: de745e5d128647da853bb17127106bf7
*WM: Sent wifi save page
*WM: Connecting to new AP
*WM: Connecting as wifi client...
*WM: Connection result:
*WM: 3
[213913]
___ __ __
/ _ )/ /_ _____ / /__
/ _ / / // / _ / '/
/
//_, /////_
/
__/ v0.5.2 on ESP8266

[213915] Connecting to blynk-cloud.com:80
[214073] Ready (ping: 1ms).


serial logs
After separation of current
*WM: Blynk
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.1.102
[3680]
___ __ __
/ _ )/ /_ _____ / /__
/ _ / / // / _ / '/
/
//_, /////_
/
__/ v0.5.2 on ESP8266

[3687] Connecting to blynk-cloud.com:80
[3831] Invalid auth token
[8831] Connecting to blynk-cloud.com:80
[8973] Invalid auth token
[13974] Connecting to blynk-cloud.com:80
[14113] Invalid auth token
[19114] Connecting to blynk-cloud.com:80
[19251] Invalid auth token
[24252] Connecting to blynk-cloud.com:80
[24390] Invalid auth token
[29391] Connecting to blynk-cloud.com:80
[29717] Invalid auth token
[34718] Connecting to blynk-cloud.com:80
[35149] Invalid auth token
[40150] Connecting to blynk-cloud.com:80
[40287] Invalid auth token
[45288] Connecting to blynk-cloud.com:80
[45424] Invalid auth token

<!-- gh-comment-id:396385794 --> @ghost commented on GitHub (Jun 11, 2018): coode with blynk token ``` #define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <ESP8266WebServer.h> #include <DNSServer.h> #include <WiFiManager.h> #include <Ticker.h> Ticker ticker; char blynk_token[33]; void tick() { //toggle state int state = digitalRead(LED_BUILTIN); digitalWrite(LED_BUILTIN, !state); } void configModeCallback (WiFiManager *myWiFiManager) { ticker.attach(0.2, tick); } void setup() { Serial.begin(115200); WiFiManagerParameter custom_blynk_token("Blynk", "blynk token", blynk_token, 33); WiFiManager wifi; wifi.addParameter(&custom_blynk_token); wifi.autoConnect("Blynk"); Blynk.config(custom_blynk_token.getValue()); } void loop() { Blynk.run(); } ``` serial ⸮*WM: Adding parameter *WM: Blynk *WM: *WM: AutoConnect *WM: Connecting as wifi client... *WM: Using last saved values, should be faster *WM: Connection result: *WM: 0 *WM: SET AP STA *WM: *WM: Configuring access point... *WM: Blynk *WM: AP IP address: *WM: 192.168.4.1 *WM: HTTP server started *WM: Handle root *WM: Handle root *WM: Request redirected to captive portal *WM: Request redirected to captive portal *WM: Handle root *WM: Request redirected to captive portal *WM: Handle root *WM: Request redirected to captive portal *WM: Handle root *WM: Request redirected to captive portal *WM: Handle root *WM: Handle root *WM: Handle root *WM: Handle root *WM: Scan done *WM: Pro-Syrian.com *WM: -51 *WM: DemirT *WM: -78 *WM: Sent config page *WM: Request redirected to captive portal *WM: Handle root *WM: Request redirected to captive portal *WM: Request redirected to captive portal *WM: Request redirected to captive portal *WM: WiFi save *WM: Parameter *WM: Blynk *WM: de745e5d128647da853bb17127106bf7 *WM: Sent wifi save page *WM: Connecting to new AP *WM: Connecting as wifi client... *WM: Connection result: *WM: 3 [213913] ___ __ __ / _ )/ /_ _____ / /__ / _ / / // / _ \/ '_/ /____/_/\_, /_//_/_/\_\ /___/ v0.5.2 on ESP8266 [213915] Connecting to blynk-cloud.com:80 [214073] Ready (ping: 1ms). ________________________________________________________________________________________________________ serial logs After separation of current *WM: Blynk *WM: *WM: AutoConnect *WM: Connecting as wifi client... *WM: Using last saved values, should be faster *WM: Connection result: *WM: 3 *WM: IP Address: *WM: 192.168.1.102 [3680] ___ __ __ / _ )/ /_ _____ / /__ / _ / / // / _ \/ '_/ /____/_/\_, /_//_/_/\_\ /___/ v0.5.2 on ESP8266 [3687] Connecting to blynk-cloud.com:80 [3831] Invalid auth token [8831] Connecting to blynk-cloud.com:80 [8973] Invalid auth token [13974] Connecting to blynk-cloud.com:80 [14113] Invalid auth token [19114] Connecting to blynk-cloud.com:80 [19251] Invalid auth token [24252] Connecting to blynk-cloud.com:80 [24390] Invalid auth token [29391] Connecting to blynk-cloud.com:80 [29717] Invalid auth token [34718] Connecting to blynk-cloud.com:80 [35149] Invalid auth token [40150] Connecting to blynk-cloud.com:80 [40287] Invalid auth token [45288] Connecting to blynk-cloud.com:80 [45424] Invalid auth token
Author
Owner

@tablatronix commented on GitHub (Jun 11, 2018):

so now you get connection result of 3, sounds like your router

<!-- gh-comment-id:396393899 --> @tablatronix commented on GitHub (Jun 11, 2018): so now you get connection result of 3, sounds like your router
Author
Owner

@ghost commented on GitHub (Jun 11, 2018):

[45288] Connecting to blynk-cloud.com:80
[45424] Invalid auth token

It is connected to the Internet but is offline with Blynk

<!-- gh-comment-id:396396973 --> @ghost commented on GitHub (Jun 11, 2018): [45288] Connecting to blynk-cloud.com:80 [45424] Invalid auth token It is connected to the Internet but is offline with Blynk
Author
Owner

@joeldhenry commented on GitHub (Dec 13, 2020):

it appears that wifi manager doesn't save parameters like it does the ssid and password. i think you must implement your own custom saving code, so that after a reboot the token still exists.

<!-- gh-comment-id:744074483 --> @joeldhenry commented on GitHub (Dec 13, 2020): it appears that wifi manager doesn't save parameters like it does the ssid and password. i think you must implement your own custom saving code, so that after a reboot the token still exists.
Author
Owner

@tablatronix commented on GitHub (Dec 14, 2020):

pretty much yes, WM has no native FS dependancy

<!-- gh-comment-id:744153888 --> @tablatronix commented on GitHub (Dec 14, 2020): pretty much yes, WM has no native FS dependancy
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/WiFiManager#518
No description provided.