This is really getting annoying.... I'm STILL having trouble getting 8266s to re-connect reliably. I have several 8266s operating in AP+STA mode. One 8266 (AP0) connects to my TP-Link router, two others (AP1 & AP2) connect to AP0. All 8266s ALWAYS connect immediately following a reset or power-up and work perfectly. But, if I reset the AP0 8266, AP1 and AP2 will NOT re-connect, unless I reset them! My initialization code sets both autoConnect and autoReconnect, but they WILL NOT re-connect once AP0 is restarted. But, reset AP1 and/or AP2, and the re-connect instantly (under 1/2 second).
All SSIDs, Passwords, IP addresses, etc. are verified 100% correct, and EVERYTHING works perfectly unless I reset AP0 AFTER AP1 and AP2 have connected to it. WTH is going on here?? This should be simple...
Here is my init code:
void TimerWiFiDeviceAPI::InitializeTimer(char *stassid, char *stapassword, IPAddress staip, IPAddress gatewayip)
{
boolean success = false;
// Setup WiFi Client
ConsolePort->printf("Initializing %s Timer for Network %s...\n", DeviceName, stassid);
WiFi.begin();
while (!success)
{
// Set Mode
if (!(success = WiFi.mode(WiFiMode_t::WIFI_STA)))
continue;
// Configure STA
if (!(success = WiFi.config(staip, gatewayip, Netmask, gatewayip)))
continue;
if (!(success = WiFi.setAutoConnect(true)))
continue;
// Connect STA
if (!(success = WiFi.begin(stassid, stapassword)))
continue;
if (!(success = WiFi.setAutoReconnect(true)))
continue;
}
}
Regards,
Ray L.