A few months ago, I noticed a very strange behaviour of the ESP8266 modules with my main router.
And as a workaround, I used a second Router/Access Point while carrying on tests with more recent firmwares. So far no luck. Since the problem is present with AT, LUA & "Arduino" versions, I assume the bug is more on the SDK side.
Even the latest AT firmware based on the Espressif SDK — 1.4.0 at the time of writing — still exhibits the bug dispite the hopes given with a changelog such as "WiFi compatibility problem of special network card"!
A few people reported the problem as well, all using a Orange Livebox as the router. This message describes exactly what I noticed and I agree with the explanation.
Basically, on the LAN side, the Livebox is composed of 3 interfaces, all bridged together:
- A 4-port wired Gigabit switch
- A 2.4Ghz Wifi (with its own SSID)
- A 5Ghz Wifi (with its own SSID)
And on the other side of the router, a WAN port.
The ESP8266 modules (using the 2.4Ghz) seem to work with the following conditions:
- ESP & anything outside the local network => TCP/UDP OK
- ESP & other 2.4Ghz device: Bi-directional ==> TCP/UDP OK
- ESP & 5Ghz device: UDP from ESP to device ==> OK, Others (espcially TCP) KO
- ESP & wired device: Same as above: Only UDP in one direction
This sounds a bit like a joke... the module can talk (or can be accessed if port-forwarding is set-up) to anything in the world... but not to a local server!!!
I was recently contacted by someone called Chris who, while trying OTA on ESP8266 found out that newer versions of the "Arduino boards" (aka firmwares) seem to solve the problem. I tried on my side and indeed, the problem seems to disappear with version >=2.0.0 (current is 2.3.0)... (click update on the "Boards Manager"). Glad to see this bug gone. Thanks Chris for this great news.