I had a very similar problem on a Mobility Express network. The issue seems to be that the ESP8266 firmware, on receiving a DHCP offer, will send an ARP request to see if anyone is using the same IP. If it gets a reply, it rejects the IP and asks for another. The problem is, at least with ME, the infrastructure responds from its own ARP cache. Then, if the ESP8266 has been on the network recently, it gets an ARP response with its own MAC address! - and barfs. The workaround on ME is to disable ARP caching with `config flexconnect arp-caching disable`, though it's a band-aid. It looks like there is a relevant bug on the Espressif core: https://github.com/espressif/esp-idf/issues/2182 It also seems like other LWIP apps could have the same behaviour.
... View more