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 increase the bitrate by following the steps below. 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 …
I don’t remember if this information is in the documentation, but having spent a few hours to figure things out, I think it is important to record it here. For example:
On the ESP8266 ESP-01, CH_PD must be pulled HIGH at boot for the chip to work. A 10K resistor can be used for the pull-up. Some variants of the ESP-01 module already have CH_PD in the HIGH state.