ESP8266_NONOS_SDK_V2.1.0_17_07_03(git) Release Notes ---------------------------------------------------- Note: 1. libmain.a/libpp.a/libphy.a will be operated in next step; 2. Modify ld to put this .text.* in .irom0.text; 3. Also pre-compiled libmbedtls.a, if you want to modify and re-compile libmbedtls.a. Run `./make_lib.sh mbedtls` in third_party folder, new libmbedtls.a will be in SDK/lib/. If you want to use libmbedtls.a, modify your Makefile, change -lssl to -lmbedtls. System: 1. New version of libc.a and libgcc.a 1). libc.a from newlib 2.0.0, libgcc.a from gcc 4.8.5; Those libs are stripped the functions which are already in rom code. 2). Add a readme to show how to strip the origin libs. 2. Update strip script, remove rand & srand in libc.a; (suggested by @davydnorris) 3. Fix deep-sleep sleep 0 and long time issue; 4. Add flash erase protect feature; 5. Fix driver compile issue; 6. Modify ld to put the function in libm.a to .irom0.text; WiFi: 1. add set wpa2 enterprise identity API; 2. add an example for wpa2 enterprise; 3. Update libphy.a to version 1136; 4. Add passive scan support; Lwip: 1. Fix duplicate UDP packet sent by espconn_sendto; ESP8266_NONOS_SDK_V2.1.0_17_05_05 Release Notes ----------------------------------------------- System 1. Fix and update the license; 2. Add definitions of ROM functions; 3. Add efuse mac crc, save efuse mac into the system parameter area of flash, as a backup mac; 4. Implement uart_div_modify, which can support a 32-bit DivLatchValue in the SDK instead of the ROM one, and also remove uart_div_modify from the ld file; 5. Reduce iRAM usage by transferring some functions to flash; - add weak function void user_spi_flash_dio_to_qio_pre_init(void). If the dio to qio flash mode is not used, users can add an empty user_spi_flash_dio_to_qio_pre_init on the application side to reduce iRAM usage; 6. Fix WDT in system_restart; 7. Fix Write & Read issue in SPI overlap mode; 8. Support 8MB & 16MB spi flash; 9. Update boot v1.7; - Support 8MB & 16MB spi flash; - Try boot the first bin for 3 times. If it fails, then boot the backup bin; 10. Fix http packet error, BBP301; 11. Support long periods of deep sleep; 12. Fix NMI handle crash on unaligned memory access, BBP309; Lwip 1. Add set and get dns server APIs: - espconn_dns_setserver - espconn_dns_getserver 2. Fix 2038 overflow bug in sntp_get_current_timestamp; 3. Fix MTU negotiate bug; AT 1. Add new commands, AT+UART? and AT+UART_DEF?; 2. Add new command, AT+SYSRAM?; 3. Add new commands, AT+SYSIO series; 4. Add new command, AT+CWHOSTNAME; 5. Add new command, AT+SYSADC?; 6. Add new commands, AT+CIPSNTPCFG and AT+CIPSNTPTIME; 7. Add new commands, AT+CIPDNS_CUR and AT+CIPDNS_DEF; 8. Support a maximum of 8 stations; 9. Modify keepalive count to 3 times; 10. Fix scan hidden ssid issue in AT+CWLAP; 11. Fix the issue of the UART stop bit being 0 when queried for the first time; 12. Fix MAC addr conflict in AP+STA mode; 13. Add new commands, AT+RFAUTOTRACE; WiFi 1. Optimize the RF frequency calibration workflow, having the frequency trace disabled by default; - users can call system_phy_freq_trace_enable in user_rf_pre_init to enable it; 2. Update libphy.a to version 1134_0; 3. Allow sending a broadcast ESP-NOW packet, but make sure that the packet is unencrypted; 4. Fix soft queue error; 5. Fix EVENT_STAMODE_AUTHMODE_CHANGE event mode info; 6. Fix lmac assert; 7. Fix bug in sniffer mode; 8. Fix arp loss continously issue; 9. Fix bug in WiFi event; - auth mode changed event cannot be throw when station is in the process of scanning; - error old auth mode and new auth mode; - op mode change process cannot be blocked, so add an event to notify the caller that op mode is changed; 10. Fix the bug in mic failure handler; 11. Fix the bug which causes failure of connection to an AP with shared WEP; 12. Fix the bug which causes failure of connection to an AP with hidden ssid; 13. Fix softAP deauth; 14. Fix reconnect policy when trying to connect to an AP that does not exist; 15. Fix scan issue; 16. Fix extra bytes in UDP broadcast packet, BBP310; ESP8266_NONOS_SDK_V2.0.0_patch Release Notes --------------------------------------------- The updates are as follows: 1. Slow connection problems in some cases have been solved. 2. Provided an interface to enable automatic calibration of frequency offset: void system_phy_freq_trace_enable(bool enable); By default, the automatic calibration of frequency offset is off. To enable it, this function should be called in user_rf_pre_init(). Its parameter is true. Note: Users should confirm that only when ambient temperature is higher than the normal operating temperature range that crystal oscillator requires does this function need to be enabled. In general, this function is not recommended to be enabled if ambient temperature is lower than 80 ESP8266_NONOS_SDK_V2.0.0_16_07_19 Release Notes ----------------------------------------------- 1. Updated libphy.a to 1055, fixed an issue of large current in Light-sleep. 2. Updated AT+ to 1.3.0: 2.1 Added Light-sleep wakeup command, AT+WAKEUPGPIO; 2.2 Fixed abnormal AT+CWDHCPS IP allocation; 2.3 Added at_sdio demo under example directory. 3. Fixed probable system default when calling cur and def interfaces. 4. Fixed the issue of high current in Deep-sleep mode without disabling SPI first. 5. Fixed an issue where the SDK would crash when switching from AP to Station mode by calling wifi_set_phy_mode. 6. Updated secondary boot loader to v1.6: 6.1 Supports AT + based on SDIO; 6.2 Supports entering testing mode through GPIO. 7. Added support for MXIC Flash QIO mode. 8. Fixed exception caused during TCP handshake and retransmission. 9. Fixed issues in ESP-NOW. 10. Added ESP-PAIR (Simple-Pair) feature, for APIs please refer to ESP8266 SDK API Guide. 11. wpa2-enterprise time function derivation and time check disable can be set by users. 12. Support for PEAP/TTLS in wpa2-enterprise, for APIs please refer to ESP8266 SDK API Guide. 13. Added mqtt demos under examples directory. 14. Other issue fixes. 15. Resolved an issue that RF_Init_data sector may be broken in stress test. Provided a function user_rf_cal_sector_set which has to be added in application by software developer. More details about user_rf_cal_sector_set refer to documentation "2C-ESP8266__SDK__API Guide". (Resolved in ESP8266_NONOS_SDK_V1.5.4.1) 16. Fix a potential risk that will cause rf not work after external reset. (Resolved in ESP8266_NONOS_SDK_V1.5.4.1) 17. Add SDIO AT support. (Resolved in ESP8266_NONOS_SDK_V1.5.4.1) 18. Fix a potential bug in espconn. (Resolved in ESP8266_NONOS_SDK_V1.5.4.1) ESP8266_NONOS_SDK_V1.5.4_16_05_20 Release Note ---------------------------------------------- Optimization: 1. Updated libphy.a to version 972. 2. Updated libpp.a to version 10.1, revised issues about frequency offset and sleep mode. 3. Optimized IGMP function. 4. Optimized DNS function. 5. Optimized WPS function. 6. Optimized DHCP server function. 7. Optimized wifi_station_get_connect_status function. 8. Revised the issue that API system_adc_read and system_get_vdd33 may return wrong value. 9. Optimized API: bool espconn_secure_ca_enable(uint8 level, uint32 flash_sector); bool espconn_secure_cert_req_enable(uint8 level, uint32 flash_sector); Added APIs: 1. system_adc_read_fast: ADC fast sampling. 2. wifi_fpm_auto_sleep_set_in_null_mode: set whether enter modem-sleep mode or not when WiFi is in NULL_MODE. AT_V1.1 Release Note: Optimization: 1. Optimized the behavior of writing Flash. 2. Optimized DHCP server function. 3. Updated command AT+SAVETRANSLINK to save domain name. ESP8266_NONOS_SDK_V1.5.3_16_04_16 Release Note ---------------------------------------------- Optimization: 1. Supported ISSI flash. 2. SmartConfig updated to version 2.5.4, solved the issue that AirKiss may fail in certain cases. 3. libphy.a updated to version 9281. 4. AT updated to version 1.00. 5. Added lwip_open_src_template_proj in ESP8266_NONOS_SDK\examples for open source LWIP. 6. Added peripheral_test in ESP8266_NONOS_SDK\examples. 7. Moved driver_lib folder to be as ESP8266_NONOS_SDK\driver_lib. 8. Added SPI driver, refer to ESP8266_NONOS_SDK\driver_lib\driver\spi_interface.c. 9. Optimized espconn. 10. Optimized DNS function. 11. Optimized mDNS function. 12. Optimized the disconnection when ESP8266 runs as TCP server. 13. Optimized DHCP server: after DHCP release, it will assign the first unused IP to next DHCP client. 14. Removed the limitation of freedom sending unencrypted beacon/probe req/probe resp. 15. Resolved the issue that wifi_station_get_connect_status returned incorrect status when some router restarted. 16. Revised the SSL server crash issue. Added APIs: 1. WPA2-Enterprise APIs wifi_station_set_username : set user name for WPA2-Enterprise wifi_station_clear_username : clear user name for WPA2-Enterprise 2. AT APIs at_set_escape_character : set escape character for AT commands AT_V1.0 Release Note: Optimization: 1. Revised the flash map of AT firmware in no bootmode, please download the bin files according to at\readme. 2. Revised the problem that AT+PING may fail when using some special router. 3. Optimized AT firmware when receiving TCP data with UART flow control. Added AT commands: 1. AT+CIPDOMAIN: for DNS function. ESP8266_NONOS_SDK_V1.5.2_16_01_29 Release Note ---------------------------------------------- Resolved Issues (Bugs listed below apply to Bug Bounty Program): 1. Strange os_timer_arm behavior. Optimization: 1. Added SDIO slave driver. Developers are now able to implement AT commands based on SDIO interface by themselves. 2. Optimized SSL shakehand. 3. Upgraded second-level boot, enabled HSPI flash. 4. Added AirKiss library, 5. Updated sample code smart_config (esp_iot_sdk\examples\smart_config). 6. The 114th byte of esp_init_data_default.bin is modified to be 1. Please use the latest esp_init_data_default.bin. 7. Added sample code at_espconn (esp_iot_sdk\examples\at_espconn), showing how to transmit AT commands via the internet. Newly added APIs: 1. SDIO slave APIs sdio_slave_init: initialize SDIO slave sdio_load_data: upload data to SDIO buffer. sdio_register_recv_cb: register Callbacks of data received by SDIO. 2. AirKiss APIs airkiss_version: get version information of AirKiss. airkiss_lan_recv: used to detect and analyze AirKiss data packets. airkiss_lan_pack: used to analyze AirKiss data packets, and to organize response packets waiting to be responded. 3. AT UART simulation APIs at_fake_uart_enable : enable AT UART simulation. at_fake_uart_rx : AT UART RX for simulation. Release notes of AT_v0.60: 1. Added command AT+CWLAPOPT, which is used to config the attribute of the returned value of the command AT+CWLAP. 2. Added command AT+WPS, WPS supported. 3. Added command AT+MDNS, MDSN supported. 4. Added command AT+CWSTARTDISCOVER/AT+CWSTOPDISCOVER. AirKiss intranet detecting function is supported. 5. Optimized command AT+CIPSTART. The device can function as SSL client, and one SSL connection can be created at most. 6. Optimized AT+UART and related command. esp_iot_sdk_v1.5.1_16_01_08 Release Note ---------------------------------------- Resolved Issues (Bugs listed below apply to Bug Bounty Program): 1. espconn_abort may cause system crash. Optimization: 1. Optimize the data receiving process under TCP connection. 2. Optimize low MAC and increase stability of the software. 3. Optimize watchdog feeding process. 4. Optimize softAP working mode so that some stations can be easily connected. 5. Optimize station working mode, enabling connection even when the SSID of the AP has changed. 6. Optimize station working mode, and increase router's compatibility during the connection process. 7. Optimize SSL shakehand. 8. Optimize espconn internal timer. 9. Optimize UDP transmission. 10. Improve the flash writing process. 11. Strenthen WPA2 security protocols. 12. Improve data sending ability. 13. Straighten the control capability of GPIO16 under light sleep mode. 14. boot.bin is upgrade to version 1.5, resolving boot failure when firmware is upgraded over the air (OTA). AT release note: 1. Optimize the process of establishing TCP server via AT command. 2. Optimize UART-WiFi transparent transmission mode via AT command. esp_iot_sdk_v1.5.0_15_11_27 Release Note ---------------------------------------- Resolved Issues (Bugs listed below apply to Bug Bounty Program): 1. Returned value of system_get_rst_info is wrong. Optimization: 1. Optimize espconn_regist_recvcb for UDP transmission. 2. Print information will prompt errors if the input parameters of os_time_arm excess the upper limit. 3. Optimize memory management. 4. Optimize RF frequency offset. 5. Print information will prompt errors if the size of bin file is too large in OTA. 6. Optimize mDNS. 7. Revise UART output print error when powered on again after call system_uart_swap. 8. Revise errors during multiple UDP transmissions. 9. Revise the error when wifi_station_set_config_default is called and the same AP is set as before, while information cannot be stored in the Flash. 10. Optimize the error of packet loss during UDP transmission process under single station mode. 11. Add new function, WPA2 Enterprise is supported. 12. SmartConfig version is upgraded to V2.5.3. 13. Mesh version is upgraded to V0.2.3. 14. User application needs to add "-lcrypto" in LINKFLAGS_eagle.app.v6 of Makefile. Added APIs: 1.espconn_abort: bread TCP connection compulsively. 2.espconn_secure_delete: delete the SSL server when ESP8266 runs as SSL server. 3.wifi_station_set_cert_key: set certificate and private key for WPA2 Enterprise. 4.wifi_station_clear_cert_key: release the resouce of connecting to WPA2 Enterprise AP, and clear the status. AT_v0.51 release note: 1.Revise the error of the first byte in AT command when UART RX interrupt handler is implemented. 2.Revise the malfunction of display when AT+CWLAP is invoked to scan a specific AP. esp_iot_sdk_v1.4.1_15_10_27 Prerelease Note ------------------------------------------- Here is a patch of non-OS SDK without full test, so it is not included in Bug Bounty project. It solved 2 issues as below: 1. Some devices may have problem of connecting to ESP8266 softAP; 2. Problem of sending UDP data to multiple devices. esp_iot_sdk_v1.4.0_15_09_18 Release Note ---------------------------------------- Resolved Issues (Bugs below are eligible for Bug Bounty Program): 1. Espconn may fail to download big chunk of data(FOTA). 2. Invalid TCP data sent issue. 3. Fatal exceptions occur when change WiFi mode in WiFi scan callback. 4. WiFi compatibility problem of special network card. 5. Deep sleep may appear high current under certain circumstances. Optimization: 1. Add a new method to check memory leaks (API : system_show_malloc). 2. Add print information when exception happens. 3. Resolve the problem of os_timer_disarm. 4. Optimize DHCP server, add API to set up the lease time of DHCP server. More details are in the "Added APIs". 5. Add event "EVENT_STAMODE_DHCP_TIMEOUT" for the DHCP timeout handling mechanism. 6. Optimize handling of the reception of data and ZWP message. 7. Add new APIs to support SSL bidirectional authentication. More details are in the "Added APIs". 8. Add new APIs to set up SSL certificates and encryption keys. API espconn_secure_set_default_certificate and espconn_secure_set_default_private_key should be called to set SSL certificate and secure key, if ESP8266 runs as SSL server. More details are in the "Added APIs". 9. Optimize the process of FOTA (firmware upgrade through WiFi. 10. Optimize mDNS, and resolve the problem that in certain case the ESP8266 softAP can not work in the sta+AP mode. 11. Release mesh as a lib in the esp_iot_sdk, and do not provide SDK of the mesh version any more. 12. Optimize mesh's handling of UDP packets. 13. Optimize checking of the validity of the mesh API's parameters. 14. Add an API to set up the largest hop of mesh. For detailed information, go to mesh instructions. 15. Optimize the process of powering up and booting to shorten booting time by 20 ms. 16. Optimize the function of automatic frequency offset calibration. 17. Optimize the function of sniffer. 18. Strengthen reliability of the checking of beacon timeout. 19. Optimize Wi-Fi event mechanism, and add event "EVENT_SOFTAPMODE_PROBEREQRECVED", and reason for a failed connection. 20. Optimize Wi-Fi callback function and strengthen reliability of the software. 21. Add the function of data transferring between stations in the soft-AP mode. 22. Update SmartConfig to the version of 2.5.1. 23. Update esp_init_data_default.bin. Please use the newest esp_init_data_default.bin when burning. 24. Modify the espconn pointer in the receive callback of UDP. Parameters remote_ip and remote_port in it are the remote IP and port set by espconn_create. If users want to obtain IP and ports of the current sender, please call espconn_get_connection_info to get relevant information. Added APIs: 1. System API system_show_malloc : for checking memory leak, to print the memory usage. 2. DHCP server lease time related APIs wifi_softap_set_dhcps_lease_time: set ESP8266 softAP DHCP server lease time. wifi_softap_get_dhcps_lease_time: check ESP8266 softAP DHCP server lease time. wifi_softap_reset_dhcps_lease_time: reset ESP8266 softAP DHCP server lease time which is 120 minutes by default. 3. wifi_station_dhcpc_set_maxtry: set the maximum number that ESP8266 station DHCP client will try to reconnect to the AP. 4. Force sleep APIs wifi_fpm_open: enable force sleep function. wifi_fpm_close: disable force sleep function. wifi_fpm_do_sleep: force ESP8266 enter sleep mode. wifi_fpm_do_wakeup: wake ESP8266 up from force sleep. wifi_fpm_set_sleep_type: set sleep type of force sleep function. wifi_fpm_get_sleep_type: get sleep type of force sleep function. 5. Send packet freedom APIs (to send user-define 802.11 packets) wifi_register_send_pkt_freedom_cb: register a callback for sending user-define 802.11 packets. wifi_unregister_send_pkt_freedom_cb: unregister the callback for sending user-define 802.11 packets. wifi_send_pkt_freedom: send user-define 802.11 packet. 6. RFID LOCP APIs wifi_rfid_locp_recv_open: enable RFID LOCP to receive WDS packets. wifi_rfid_locp_recv_close: disable RFID LOCP. wifi_register_rfid_locp_recv_cb: register a callback of receiving WDS packets. wifi_unregister_rfid_locp_recv_cb: unregister the callback of receiving WDS packets. 7. Rate Control APIs wifi_set_user_fixed_rate: set the fixed rate and mask of sending data from ESP8266 wifi_get_user_fixed_rate: check the fixed rate and mask of ESP8266 wifi_set_user_sup_rate: set the rate range supported by ESP8266 to limit the rate of sending packets from other devices. wifi_set_user_rate_limit: limit the rate of sending data from ESP8266. wifi_set_user_limit_rate_mask: set the interfaces of ESP8266 whose rate of sending packets is limited by wifi_set_user_rate_limit. wifi_get_user_limit_rate_mask: get the interfaces of ESP8266 whose rate of sending packets is limited by wifi_set_user_rate_limit. 8. Espconn APIs espconn_sendto: send UDP data. espconn_secure_cert_req_enable: enable certificates verification function when ESP8266 runs as SSL client. espconn_secure_cert_req_disable: disable certificates verification function when ESP8266 runs as SSL client. espconn_secure_set_default_certificate: set the certificate when ESP8266 runs as SSL server. espconn_secure_set_default_private_key: set the encryption key when ESP8266 runs as SSL server. 9. SmartConfig API smartconfig_set_type: set the protocol type of SmartConfig. AT_v0.50 Release Note Note: For AT firmware to support FOTA, flash size need to be 1024KB or larger. 1. Command "AT+CWSAP" add a parameter to set whether broadcast the SSID of ESP8266 soft-AP or not. 2. Add new command "AT+CWSTARTSMART=" to set a specific protocol type for SmartConfig, : 1- ESPTOUCH, 2-AirKiss, 3-ESPTOUCH+AirKiss. 3. Add "AT+CWDHCPS_CUR" and "AT+CWDHCPS_DEF" related commands to set/check DHCP lease time and IP range. esp_iot_sdk_v1.3.0_15_08_08 Release Note ---------------------------------------- Resolved Issues (Bugs below are eligible for Bug Bounty Program): 1. Device can't connect to router after it gets ssid and password when using ESPTOUCH with router's ssid hidden. 2. Format string of os_random can't be supported by atoi. 3. Optimized os_printf seems to have an issue on 4 bytes aligned and other valuable suggestions. [Andrey Filimonov] 4. SmartConfig can't get IP address after connected to router. Optimization: 1. Memory optimization to save 12KBytes. 2. Optimize RF calibration to short the booting time,more details in documentation "2A-ESP8266__IOT_SDK_User_Manual" chapter "Appendix". 3. Optimize Wi-Fi function to solve issue that ESP8266 may fail to connect to a special router. 4. Optimize software timer to solve the a connecting problem.Please do not call "os_delay_us" or "while" or "for" to occupy CPU more than 10 ms in timer callback. 5. Optimize system_get_rst_info to obtain more accurate information about the start-up. 6. Optimize function of Wi-Fi scanning to be more reliable. 7. Optimize function of changing Wi-Fi mode to be more reliable. 8. Optimize WPS to improve connectivity.And WPS does not support WEP, it will return status "WPS_CB_ST_WEP". 9. Optimize Wi-Fi function to solve softAP multiple stations DHCP issue. 10. Optimize TCP in LAST_ACK status. 11. Optimize TLS to support SHA256, SHA384, SHA512. 12. Memory optimization during TLS hand-shaking. 13. Optimize OTA funtion to download big chunk of data. 14. Add CRC32 in OTA function.Folder "tools" in esp_iot_sdk has to be updated, otherwise OTA will fail. 15. Optimize mDNS to support both softAP and station interfaces. 16. Optimize ESP-NOW, more details in "Add APIs" 17. Update SmartConfig to version 2.4.7 18. Remove "-O2" from makefile. 19. Optimize header files to improve compatibility, will not affect compilation. Add APIs: 1. system_soft_wdt_feed: feed software watchdog 2. wifi_softap_get_dhcps_lease: get IP range of ESP8266 softAP DHCP server 3. ESP-NOW APIs esp_now_set_kok: set the secure key to encrypt ESP-NOW communication key esp_now_register_send_cb: register ESP-NOW send callback esp_now_unregister_send_cb: unregister ESP-NOW send callback AT_v0.40 Release Note: Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that. 1.Add parameter in command "AT+CWSAP" to set the maximum number of connections allowed. esp_iot_sdk_v1.2.0_15_07_03 Release Note ---------------------------------------- Resolved Issues (Bugs below are eligible for Bug Bounty Program): 1.TLS server disconnect to ESP8266 may cause crash. Optimization: 1. Update SmartConfig to version 2.4 , corresponding to ESPTOUCH APP v0.3.4,delete parameter "sc_type type" in smartconfig_start, SmartConfig type can be got automatically. 2. Add parameter "sint16 freq_offset; " in structure "bss_info" to get AP's frequency offset. 3. Folder "ld" is updated, please use the latest one (\esp_iot_sdk_v1.2.0\ld ) 4. Add UDP transparent transmission example in documentation "4B-ESP8266__AT Command Examples" 5. Revise the scan issue that may cause Wi-Fi connection break. 6. Add ESP-NOW function, more details in "Add APIs" 7. Add WPS function,more details in "Add APIs" 8. Fixed a DNS fail issue with special router 9. Optimize espconn,revise issues below: (1) enter sent callback late in UDP transmission (2) TCP shakehand may fail issue (3) SSL connection fail may cause crash (4) optimize SSL error handler 10. Memory optimization Add APIs: 1. ESP-NOW APIs esp_now_init: init ESP-NOW function esp_now_deinit: deinit ESP-NOW function esp_now_register_recv_cb: register ESP-NOW receive callback esp_now_unregister_recv_cb: unregister ESP-NOW receive callback esp_now_send: send ESP-NOW packet esp_now_add_peer: add an ESP-NOW peer esp_now_del_peer: delete an ESP-NOW peer esp_now_set_self_role: set ESP-NOW role of device itself esp_now_get_self_role: get ESP-NOW role of device itself esp_now_set_peer_role: set ESP-NOW role about another device esp_now_get_peer_role: get ESP-NOW role about another device esp_now_set_peer_key: set ESP-NOW key of a device esp_now_get_peer_key: get ESP-NOW key of a device 2. WPS APIs wifi_wps_enable : enable WPS function wifi_wps_disable: disable WPS function wifi_wps_start: start WPS communication wifi_set_wps_cb: set WPS callback 3.software watchdog APIs system_soft_wdt_stop: stop software watchdog system_soft_wdt_restart: restart software watchdog 4.sntp_get_timezone: get SNTP timezone AT_v0.30 Release Note: Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that. 1. Command "AT+CWSTARTSMART" need not parameter any more, SmartConfig type can be got automatically. 2. AP's frequency offset can be got by command "AT+CWLAP" 3. Memory optimization esp_iot_sdk_v1.1.2_15_06_12 Release Note ---------------------------------------- Optimization: 1. Support certificate issuer verification for SSL 2. Update SPI driver, support overlap mode Add APIs: 1. wifi_station_set_hostname: set ESP8266 station DHCP hostname 2. wifi_station_get_hostname: get ESP8266 station DHCP hostname 3. spi_flash_set_read_func: set user specified reading SPI function on overlap mode 4. espconn_secure_ca_disable: disable SSL CA verify 5. espconn_secure_ca_enable: enable SSL CA verify Add Documentation: 1. SPI overlap introduction: \esp_iot_sdk\document, sorry that it has only Chinese version now,we will add English version of this documentation ASAP. 2. SSL introduction: \esp_iot_sdk\document esp_iot_sdk_v1.1.1_15_06_05 Release Note ---------------------------------------- Resolved Issues (Bugs below are eligible for Bug Bounty Program): 1. Too short timer which set by os_arm_timer_us may cause crash. [Tommy] 2. Call os_malloc in low heap situation may cause crash. [MeneerThijs] 3. Memory leak issue when SSL connection fail. Optimization: 1. Update JSON parser to handle with illegal parameter and illegal calling progress. 2. Add parameter of user_esp_platform_check_ip in user_websever.c which in IOT_Demo. 3. Update UART driver to solve the problem that if send data through UART while ESP8266 startup may cause UART invalid. 4. Update smartconfig to version 2.2, and update the description and example of smartconfig_start in document "2C_ESP8266__Programming Guide" 5. Update code in iram to solve the problem that space for text is not enough. 6. Update PWM driver and provide libpwm.a in esp_iot_sdk, update PWM APIs in "2C_ESP8266__Programming Guide", more details in "Added APIs" below. 7. Revised issue that multicast may fail in ESP8266 softAP mode. 8. Update folder "driver",add folder "driver_lib" in \esp_iot_sdk\examples , add "hw_timer.c" about frc1 hardware timer. 9. Remove useless driver code in IOT_Demo 10. Update IOT_Demo to use the latest PWM driver in light demo. 11. Provide liblwip_536.a of which MSS size is 536 12. Revised issue that boot may fail when 80Mhz SPI clock selected 13. Update esp_init_data_default.bin about RF option in \esp_iot_sdk\bin Added APIs: 1. PWM APIs: Updated: pwm_init: add parameter to set PWM channel and GPIO pin Added (1) get_pwm_version:get version information of PWM driver (2) pwm_set_period:set PWM period (3) pwm_get_period:get PWM period Deleted: (1) pwm_set_freq:set PWM frequency (2) pwm_get_freq:get PWM frequency 2. Read/write flash with protection (1) system_param_save_with_protect:write data into flash with backup protection (2) system_param_load: read data which saved into flash with backup protection 3. system_get_rst_info: get information about current startup: it is a normal startup or watch dog reset 4. at_response:set AT response 5. at_register_response_func :register a callback for user-define AT response. 6. Update document "2C_ESP8266__Programming Guide" to add description of interrupt definition in ets_sys.h AT_v0.25 Release Note: Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that. Optimization: 1. Add parameter about UDP local port in command "AT+SAVETRANSLINK" Added AT command: 1. AT+CIPDINFO: set configuration whether show remote IP and remote port with "+IPD" or not Patch based on SDK_v1.1.0 ------------------------- Here is a patch based on SDK_v1.1.0 resolved issues below: 1. SDK 1.1.0 may boot fail if SPI Flash speed is 80MHz. 2. Memory Leak in libssl when SSL connection fail. 3. Update smartconfig, please using it with the latest Espressif APP https://github.com/EspressifApp esp_iot_sdk_v1.1.0_15_05_26 Release Note ---------------------------------------- 1. Licensing for SDK 1.1.0 change to the Espressif MIT license since esp_iot_sdk_v1.1.0_15_05_26 esp_iot_sdk_v1.1.0_15_05_22 Release Note ---------------------------------------- Resolved Issues (Bugs below are eligible for Bug Bounty Program): 1. Predictable TLS random values leads to insecure connections [gus] 2. Connection problem in softAP+station mode.[yuyugui] 3. Low heap cause of reset when connect using SSL. [TuanPM] 4. Smart config issue [xushixiong] Document "2C_ESP8266__Programming Guide" updates: 1. Update Demo code of rtc timer in appendix, and rtc timer will return to zero after deep-sleep wake up. [andrew] 2. Add "3.espconn callback" in appendix to introduce espconn callbacks and the pointer may be different in different callback.[nagverma] 3. Add RF description in "2.Overview" if RF is disabled, ESP8266 station and soft-AP are both disabled.[yiaiguo] 4. Revise name of API "wifi_softap_set_dhcps_offer_option" [ryan] Optimization: 1. Missing some Wi-Fi events 2. UART Wi-Fi passthrough of UDP related issue [vowstar] 3. Optimized FOTA to make upgrade faster 4. ESP8266 soft-AP can connected to 8 stations at most, softap_config.max_connection default is 4 5. ESP8266 station will connect to the stronger WiFi signal, if there are several APs sharing the same SSID.[stefan] 6. Add 1024KB+1024KB flash map which need boot_v1.4+ and flash download tool_v1.2+, more details in document "2A-ESP8266_IOT_SDK_User_Manual" 7. Optimized PWM driver 8. Revised structure mdns_info to support 10 groups of text data. 9. user_rf_pre_init has to be added in user_main.c, user can set configuration of RF in it. 10. Need not call wifi_station_set_auto_connect to disable auto-connect before smartconfig any more. Added APIs: 1. sntp_set_timezone: set SNTP time zone. 2. espconn_dns_setserver: set default DNS server 3. system_uart_de_swap: disable UART0 swap 4. system_get_flash_size_map: get flash size and flash map 5. system_phy_set_max_tpw: set maximum RF TX power 6. system_phy_set_tpw_via_vdd33: set RF TX power according to VDD33 7. system_phy_set_rfoption: set RF option 8. wifi_station_get_rssi: get rssi of AP which ESP8266 station connected to 9. wifi_softap_get_station_num: get number count of stations connected to ESP8266 soft-AP AT_v0.24 Release Note: Optimization: 1. Disable data echo of command "AT+CIPSEND" 2. Optimized "AT+CWJAP?" to get channel and rssi Added AT command: 1.AT+RFPOWER: set maximum RF TX power 2.AT+RFVDD: set RF TX power according to VDD33 esp_iot_sdk_v1.0.1_15_04_24 Release Note ---------------------------------------- Resolved Issues (Bugs below are eligible for Bug Bounty Program): 1. SSL connection may fail if SSL packet size larger than 2kBytes [PeteW ] 2. UDP remote IP to be 0.0.0.0 may cause reset [Jerry S] 3. Optimize wifi_get_ip_info to fix loss of wireless connectivity problem 4. Air-Kiss restart [Orgmar] Optimization: 1. Optimized IOT_Espressif_EspTouch.APK (apply for access from Espressif) for improved compatibility. 2. TCP server can not open again immediately with the same port [624908539] 3. Update UART driver for parity bit value may be incorrect [1062583993] 4. Add define of "ICACHE_RODATA_ATTR" for Symbol 'ICACHE_RODATA_ATTR' could not be resolved. 5. Add API wifi_softap_dhcps_set_offer_option to enable/disable ESP8266 softAP DHCP server default gateway. [xyz769] 6. AT register_uart_rx_intr may enter callback twice. 7. Optimize document that WPA password length range: 8 ~ 64 bytes [785057041] 8. ESP8266 softAP DHCP server record 8 DHCP client's IP at most [ygjeon] 9. To set static IP (wifi_set_ip_info) has to disable DHCP first(wifi_softap_dhcps_stop or wifi_station_dhcpc_stop) 10. Add example of wifi_softap_set_dhcps_lease 11. smartconfig_start can only be called in ESP8266 station mode Added APIs: 1. Wi-Fi related APIs: wifi_station_set_reconnect_policy: enable/disable reconnect when ESP8266 disconnect from router,default to be enable reconnect. wifi_set_event_handler_cb: set event handler of ESP8266 softAP or station status change. wifi_softap_dhcps_set_offer_option: enable/disable get router information from ESP8266 softAP, default to be enable. 2. SNTP APIs: sntp_get_current_timestamp: get current timestamp from Jan 01, 1970, 00:00 (GMT) sntp_get_real_time: char, get real time (GTM + 8 time zone) sntp_init: initialize SNTP sntp_stop: stop SNTP sntp_setserver: set SNTP server by IP sntp_getserver: get SNTP server IP sntp_setservername: set SNTP server by domain name sntp_getservername: get domain name of SNTP server set by sntp_setservername 3. MDNS APIs: espconn_mdns_init: initialize mDNS espconn_mdns_close: close mDNS espconn_mdns_server_register: register mDNS server espconn_mdns_server_unregister: unregister mDNS server espconn_mdns_get_servername: get mDNS server name espconn_mdns_set_servername: set mDNS server name espconn_mdns_set_hostname: get mDNS host name espconn_mdns_get_hostname: set mDNS host name espconn_mdns_disable: disable mDNS espconn_mdns_enable: endisable mDNS AT_v0.23 Release Note: Optimized: 1.AT+CWJAP add parameter "bssid", for several APs may have the same SSID New AT commands: 1. AT+CIPSENDBUF: write data into TCP-send-buffer; non-blocking. Background task automatically handles transmission. Has much higher throughput. 2. AT+CIPBUFRESET: resets segment count in TCP-send-buffer 3. AT+CIPBUFSTATUS: checks status of TCP-send-buffer 4. AT+CIPCHECKSEGID: checks if a specific segment in TCP-send-buffer has sent successfully esp_iot_sdk_v1.0.1_b2_15_04_10 Release note ------------------------------------------- Fix bugs: 1.Call espconn_sent to send UDP packet in user_init cause reset.[BBP#2 reporter] 2.UART & FlowControl issue: send data to FIFO without CTS flag will cause WDT [BBP#11 reporter (pvvx)] 3.SSL issue,add an API (espconn_secure_set_size) to set SSL buffer size [BBP#29 reporter (PeteW)] 4.UDP broadcast issue in WEP Optimize: 1.Add more details about measure ADC & VDD3P3 in appendix of document "2C-SDK-Espressif IoT SDK Programming Guide" [BBP#15 reporter (DarkByte)] 2.Can not do any WiFi related operation if WiFi mode is in NULL_MODE [BBP#23 reporter (hao.wang)] 3.start_ip and end_ip won't change through API wifi_softap_set_dhcps_lease [BBP#37 reporter (glb)] 4.AT get into busy state [BBP#35 reporter (tommy_hk)] 5.ssid + password length limitation when using AirKiss [BBP#45 reporter (zhchbin)] Add APIs: 1.espconn_secure_set_size: set buffer size for SSL packet 2.espconn_secure_get_size: get SSL buffer size 3.at_register_uart_rx_intr: set UART0 to be used by user or AT commands Add AT command: 1.AT+SLEEP: set ESP8266 sleep mode esp_iot_sdk_v1.0.1_b1_15_04_02 Release note ------------------------------------------- Fix bugs: 1. Connect to ESP8266 softAP fail after SmartConfig; 2. SmartConfig loses one bit of SSID Optimize: 1. espconn_set_opt: set configuration of TCP connection,add parameter for TCP keep-alive Add APIs: 1. espconn_clear_opt: clear configuration of TCP connection 2. espconn_set_keepalive: set configuration of TCP keep-alive to detect if TCP connection broke 3. espconn_get_keepalive: get configuration of TCP keep-alive AT_v0.23_b1 release note Note: AT added some functions so flash size need to be 1024KB or more than that. Fix bug: 1. Always "busy" if TCP connection abnormally broke during AT+CIPSEND Optimize: 1. Add UDP transparent transmission 2. Optimize the initial value of AT+CWDHCP? 3. Add TCP keep-alive function in AT+CIPSTART Add AT command: 1. Add AT+CIPSENDEX which support quit from sending mode by "\0" (so an useful "\0" need to be "\\0") esp_iot_sdk_v1.0.0_15_03_20 Release Note ---------------------------------------- Optimize: 1. Optimize smartconfig to version v1.0; Please don't call any other APIs during SmartConfig. 2. Optimize AT to version 0.22.0.0; 3. Optimize the protection of system parameters, and add error-check about it; 4. Optimize beacon delay of ESP8266 softAP; 5. Optimize boot to version 1.3(b3); - Add API system_restart_enhance: for factory test, support to load and run program in any specific address; - Add APIs to get boot version and start address of current user bin; - Fix compatibility problem of dual flash; 6. Optimize sniffer, structure sniffer_buf changed, please refer to document; 7. Optimize espconn; 8. Optimize pwm; 9. Other optimize to make the software more reliable; Add APIs: 1. system_update_cpu_freq: change CPU frequency; 2. wifi_promiscuous_set_mac: set a mac address filter during sniffer; 3. wifi_set_broadcast_if : set which interface will UDP broadcast send from; Fix bugs: 1. Interrupt during flash erasing will cause wdt reset; 2. Read/write rtc memory; 3. If router disconnect to ESP8266, ESP8266 won't reconnect; 4. Connect to router which hid its SSID AT_v0.22 release note Fix bug: 1. Wrong return value of AT+CIPSTATUS; 2. wdt rest after "0,CONNECT FAIL"; Add AT commands: 1. Change AT commands of which configuration will store into flash to two kinds: XXX_CUR: current, only set configuration won't save it into Flash; XXX_DEF: default, set configuration and save it to Flash 2. Add SmartConfig in AT: AT+CWSTARTSMART/AT+CWSTOPSMART: start / stop SmartConfig Notice: please refer to the document, call "AT+CWSTOPSMART" to stop SmartConfig first since "AT+CWSTARTSMART", then call other AT commands. Don't call any other AT commands during SmartConfig. 2. AT+SAVETRANSLINK: save transparent transmission link to Flash; Note:AT+CIPMODE=1 set to enter transparent transmission mode, won't save to Flash. Add AT APIs 1. at_customLinkMax: set the max link that allowed, most can be 10; if you want to set it, please set it before at_init; if you didn't set it, the max link allowed is 5 by default. 2. at_enter_special_state/ at_leave_special_state:Enter/leave AT processing state. In processing state, AT core will return "busy" for any further AT commands. 3. at_set_custom_info:set custom version information of AT which can be got by AT+GMR; 4. at_get_version:get version information of AT lib . Optimize 1. Add UDP remote ip and remote port is allowed to be parameters of "AT+CIPSEND" 2. Move "AT+CIUPDATE" from lib to AT "demo\esp_iot_sdk\examples\at", AT demo shows how to upgrade AT firmware from a local server. Notice that AT upgrade the bin files name have to be "user1.bin" and "user2.bin". 3. Optimize "AT+CIPSTA", add gateway and netmask as parameters 4. Optimize transparent transmission. esp_iot_sdk_v0.9.5_15_01_22 Release Note ---------------------------------------- AT becomes a lib attached to esp_iot_sdk, programming guide in "document" shows APIs for user to define their own AT commands, AT bin files are in \esp_iot_sdk\bin\at Fix bugs: 1. Incorrect status got by API : wifi_station_get_connect_status; 2. Sniffer can not quit without restart; 3. wifi_station_ap_change always return true; 4. TCP connection issues Add APIs: 1. system_deep_sleep_set_option: set what the chip will do when deep-sleep wake up; 2. wifi_status_led_uninstall; 3. wifi_station_ap_get_info: get information of AP that ESP8266 station connected. 4. wifi_station_dhcpc_status & wifi_softap_dhcps_status : get DHCP status 5. smart config APIs, more details in documents. 6. add beacon_interval parameter in struct softap_config 7. espconn_recv_hold and espconn_recv_unhold to block TCP receiving data and unblock it. 8. AT APIs to let user define their own AT, more details in documents. Optimize: 1. light sleep, modem sleep, deep sleep 2. compile method: ./gen_misc.sh, then follow the tips and steps. 3. when no buffer for os_malloc, return NULL instead of malloc assert. 4. users can enable #define USE_OPTIMIZE_PRINTF in user_config.h to remove strings of os_printf from ram to irom 5. faster the re-connection of ESP8266 station to router after deep-sleep. 6. update to boot v1.2 to support new format user.bin; 7. update ARP 8. update SSL 9. revised system_deep_sleep,system_deep_sleep(0),set no wake up timer,connect a GPIO to pin RST, the chip will wake up by a falling-edge on pin RST esp_iot_sdk_v0.9.4_14_12_19 Release Note ---------------------------------------- 1. Update sniffer to support capture HT20/HT40 packet; 2. Add APIs to set and get sleep type; 3. Add APIs to get version info of sdk, delete version.h; 4. RAW in LWIP is open source now, add API of function ping; 5. Update spi driver; 6. Optimize APIs related to espconn; 7. Fix some bugs to make the software more reliable; Known Issue: 1. exception of small probability occured while recving multi-client data in softap 2. restart of small probability occured while tcp client reconnecting So sorry that we have some known issues here, we will solve it ASAP. esp_iot_sdk_v0.9.3_14_11_21 Release Note ---------------------------------------- 1. Add license documentation of ESPRESSIF SDK 2. Add APIs to read and write RTC memory, and APIs to get RTC time. 3. Add APIs to swap UART0 4. Add API to read ADC, delete adc.c. 5. Add API to read spi flash id 6. Revise struct station_config, add bssid parameters to distinguish different AP with same ssid ; Note: if station_config.bssid_set == 1 , station_config.bssid has to be set, or connection will fail. So in general, station_config.bssid_set need to be 0. 7. Revise struct scan_config, add scan_config.show_hidden to set whether scan APs which ssid is hidden or not; not scan, set scan_config.show_hidden to be 0. Add bss_info.is_hidden in struct bss_info to show if this APTs ssid is hidden. 8. Revise struct softap_config, add softap_config.ssid_len. If softap_config.ssid_len == 0, check ssid till find a termination characters; otherwise it depends on softap_config.ssid_len. 9. Revise API "wifi_softap_set_config" to take effect immediately, needs not restart to make the configuration enable any more. 10. Add APIs to set and get physical layer mode(802.11b/g/n) 11. Add APIs to enable and disable DHCP server of ESP8266 softAP 12. Add APIs to enable and disable DHCP client of ESP8266 station 13. Add API to set range of ip address that get from DHCP server 14. Add APIs to set and get how many TCP connections allowed at max. 15. Add APIs to set and get how many TCP clients allowed at max to a TCP server. 16. Revise "wifi_set_ip_info" and "wifi_set_macaddr" to take effect immediately. 17. Fix some bugs to make the software more reliable. ESP8266EX: Fix A Potential Error For UART RX in esp_iot_sdk_v0.9.2_14_10_24 --------------------------------------------------------------------------- The previously released SDK for ESP8266EX inadvertently introduced a bug that may cause a little packet loss when transferring packet by Uart RX. So for now,I will release the patch for this bug.Please download the patch from the attachment,and refer to the following steps: Following Commands: 1. REPLACE LIBPHY.A IN SDK/LIB 2. ADD LIBPP.A TO SDK/LIB 3. MODIFY SDK/APP/MAKEFILE 4. ADD "-lpp \" AS BELOW -lgcc -lhal -lpp -lphy -lnet80211 -llwip -lwpa -lmain -lssc -lssl esp_iot_sdk_v0.9.2_14_10_24 Release Note ---------------------------------------- Initial version for public, can be compiled on both windows and lubuntu.