Inkplate2 won't connect to Synology RT-2600ac router

Customer:

I can’t get my Inkplate2 to connect to my Synology router. I’ve tried all the common ESP troubleshooting steps including setting up a guest network on the router using only 2.4 GHz, limiting the channel width to 20 MHz, and trying various simplifications of SSID, all without success. When I introduce a deliberate error in the SSID I get the “WL_NO_SSID_AVAIL” error, so the board is apparently seeing the AP. Running the WiFi scanner ESP example code shows my AP’s SSID with the strongest signal. Here’s my test code:

#include <WiFi.h>

// Replace with your own network credentials
const char* ssid = "my SSID";
const char* password = "my wifi password";

int WiFiStatus;

String Get_WiFiStatus(int Status){
 switch(Status){
 case WL_IDLE_STATUS:
 return "WL_IDLE_STATUS";
 case WL_SCAN_COMPLETED:
 return "WL_SCAN_COMPLETED";
 case WL_NO_SSID_AVAIL:
 return "WL_NO_SSID_AVAIL";
 case WL_CONNECT_FAILED:
 return "WL_CONNECT_FAILED";
 case WL_CONNECTION_LOST:
 return "WL_CONNECTION_LOST";
 case WL_CONNECTED:
 return "WL_CONNECTED";
 case WL_DISCONNECTED:
 return "WL_DISCONNECTED";
 }
}

void setup(){
 Serial.begin(115200);
 Serial.println("Connecting..");

 WiFi.persistent(false);
 WiFi.disconnect(true);
 WiFi.mode(WIFI_STA);
 WiFi.begin(ssid, password);

 WiFiStatus = WiFi.status();
 while(WiFiStatus != WL_CONNECTED){
 delay(2500);
 WiFiStatus = WiFi.status();
 Serial.println(Get_WiFiStatus(WiFiStatus));
 }
 Serial.println("\nConnected To The WiFi Network");
 Serial.print("Local ESP32 IP: ");
 Serial.println(WiFi.localIP());
}

void loop(){
 // Do Nothing
}

With my iPhone hotspot I get successful connection and receive IP 172.20.10.7. With my home router I get stuck in WL_DISCONNECTED. Any suggestions?

Originally submitted via email support on 27 May 2023. Migrated to the forum for community visibility.

Soldered Support:

Try connecting using the official Inkplate library and the connectWiFi function, which should be in the latest version of the library.

If that doesn’t work, try reading the ESP32’s MAC address and whitelisting it on your router.

The ESP32 can sometimes have trouble connecting to certain types of routers. Similar issues have been resolved by using a WiFi extender.

Customer:

Whitelisting is a good idea, but unfortunately my router doesn’t support the whitelist-plus-allow-all mode. I’d have to whitelist every MAC on the network, and some rotate, so I couldn’t try that. I did try the Inkplate examples and libraries and have the same problem. I’ve concluded this is the known ESP WiFi issue and there’s not much that can be done about it. I just wanted to double-check if you had any other ideas. My router is a Synology RT-2600ac running firmware 1.2.5/8. I have another application for the Inkplate that doesn’t require internet access and will be a good opportunity to try microPython instead.

Soldered Support:

We do keep a list of technical notes and common questions for issues like this.