For WPS to work on the ESP8266 and using the non-OS SDK, be sure to call wifi_wps_enable() before setting the callback function with wifi_set_wps_cb(). For example: In the callback itself, call wifi_wps_disable() before wifi_station_connect(). For example:
If esptool is limited to 115200 bps when flashing your firmware to an ESP8266, you can try to change this by following these instructions. Locate esptool.py for your installation. On Debian and Ubuntu, this file is located in /usr/share/esptool. Edit esptool.py and change the value on the line starting with ESP_ROM_BAUD from 115200 to the …
I don’t remember if this is in the documentation, but having spent a few hours to figure things out, I consider this essential information that must be recorded here. For example:
On the ESP8266 ESP-01, CH_PD must be pulled HIGH at boot for the chip to work. Some variants of the ESP-01 module do not require this, but it does not hurt to have it so. The connection can be done directly or via a 10K resistor.