Skip to content
Compare
Choose a tag to compare

Feature

  • Updated SDK version to 3.0.5
  • Updated AT version to 1.7.5

Bugfix

  • Fixed that AT+CWJAP, AT+CWJAP_CUR, AT+CWJAP_DEF command returned wrong reason code
Compare
Choose a tag to compare

Feature

  • Update to SDK version 3.0.4 and AT version 1.7.4.0
  • feat(pp): Used beacon interval to calibrate timer to improve accuracy
  • feat(net80211): Allowed ESP8266 to connect to AP without basic rate
  • feat(system): revise flash map automatically when the firmware and flash map do not match.
  • feat(at): Add at_nano demo to support 1MB flash

Bug Fix

  • fix(net80211): Fixed some connection failure issue during 11b with only AP mode
  • fix(net80211): Fixed the memory leak problem when ESP8266 acts as AP and station is sending illegal messages
  • fix(system): Fixed probable loss of system parameter if power down when erasing or writing the flash
  • fix(lwip): Fixed crash issue when SNTP is stopped
  • fix(at): Fixed potential low risk of scan failure using the AT command to scan specified SSID
Compare
Choose a tag to compare

Feature

  • Update to SDK version 3.0.3 and AT version 1.7.3.0
  • Update to phy version 1156

Bug Fix

  • fix(pp): Wi-Fi tx hangs when Q2_RTS_INT and Q0_TX_COMPLETE come at the same time
  • fix(at): Connect to the AP with the strongest signal when sending command AT+CWJAP
Compare
Choose a tag to compare

Feature

  • feat: Update to SDK version 3.0.2 and AT version 1.7.2.0
  • feat(phy): Update to phy version 1155
  • feat(mbedtls): Support SSL cipher suites SSL3.0
  • feat(wifi): Add Wi-Fi fast connect feature
  • feat(system): Enhance the mac crc check
  • feat(at): Remove SSL size check when parsing AT command
  • feat(sc): Add broadcast for smartconfig
  • feat(net80211): Add wme info to stay compatible to some APs
  • feat(pp): Change wdt timeout to 3 seconds
  • feat(system): Store Wi-Fi parameter only when it is different from the one in flash

Bug Fix

  • fix(system): will not clear mac address when calling system_restore
  • fix(net80211): disable greenfield option
  • fix(system): incorrect parameter in flash may cause system crash
  • fix: TCP data lost when the link disconnected
  • fix(wpa2): fix wpa2_enterprise vulnerability issues
  • fix(at): AT core may not read data in the buffer in some cases
  • fix(net80211): fix the incorrect ecn parameter scanned when the router is wpa2_enterprise mode
  • fix(main): fix the Wi-Fi mode change when calling set_opmode_current
  • fix(at): fix wdt issue when keep sending data in high performance mode
  • fix(dns): Fix the seq number overflow issue
  • fix(dhcp): fix the system crash issue when Wi-Fi sta got IP by DHCP and set static IP, and DHCP release time out
Compare
Choose a tag to compare

Feature

  • De-swap uart before system restart.
  • Remove system_phy_freq_trace_enable and disable freq trace in AT project by default.
  • Add vendor class id option in LwIP.
  • Update libphy to version 1143.
  • Support broadcast packets in ESP-NOW.

Bug Fix

SDK

  • Remove WME info by default.
  • Fix a memory leak issue when scanning in softAP+station mode.
  • Fix an issue that CCMP encryption was incompatible with some AP.
  • Fix an incompatibility issue that the device may fail to connect to some AP in 11b only mode.
  • Fix an incompatibility issue that some AP does not support status code 37 in ADDBA response.
  • Fix an issue of possible incorrect phy mode when connecting to AP.
  • Fix a seqno issue when sending auth packet to AP.
  • Fix an issue of connecting to a wrong AP when there is some special hidden ssid AP around.
  • Prohibit sending probe request in passive scan mode.
  • Fix a crash issue with fake beacon frame.
  • Revise the DHCP behavior according to protocol.
  • Fix an issue of sntp_setservername.
  • Fix an issue of setting mDNS information
  • Fix an issue of incorrect jsonparse_strcmp_value return value.
  • Fix an issue of calloc (pvPortCallocIram) failure.
  • Fix an issue of the default hostname.
  • Fix an issue of returning ERR_MEM when calling espconn_gethostbyname.

AT

  • Fix an issue that fail to create AT SSL connection without cert or ca partition.
  • Fix an issue that it may take a long time to get a ping result.
  • Fix an issue that AT should return error directly when domain length is 64.
Compare
Choose a tag to compare

Major Changes

SDK

  • Memory optimization: iram can be used as memory, thus saving about 17KB memory for user application.

AT

  • Update AT's version to 1.7.0.0.
  • Limited by the size of the AT bin files, only 1024+1024 flash map is supported by default. Therefore, please choose 16Mbit/32Mbit-C1 flash size when flashing these AT bin files with Espressif's Flash Download Tools.

New Features and Optimizations

SDK

  • Add partition table to manage flash partition, more details are in documents/CN/Partition Table 说明.md or documents/EN/Partition Table.md.
    • system_partition_table_regist
    • system_partition_get_ota_partition_size
    • system_partition_get_item
  • Add WiFi APIs to set sleep level of modem sleep and light sleep.
    • wifi_set_sleep_level
    • wifi_get_sleep_level
    • wifi_set_listen_interval
    • wifi_get_listen_interval
  • Add signalling measurement feature
    • wifi_enable_signaling_measurement
    • wifi_disable_signaling_measurement
  • Support random DHCP transaction id
  • Add libhal.a for the new compiler

AT

  • Add command AT+SYSMSG_DEF and AT+SYSMSG_CUR to instead of AT+SYSMSG.
  • Add AT+CIPCLOSEMODE to select TCP close mode.
  • Add a parameter in AT+CWJAP_CUR and AT+CWJAP_DEF to disable the connection to open/wep router
  • Add AT+CIPRECVLEN to get the length of received data in passive receiving mode.
  • Add AT+CIPRECVMODE to set TCP receive mode.
  • Add commands to configure SSL client authentication
    • AT+CIPSSLCCONF?
    • AT+CIPSSLCCONF=<ssl_mode>
  • Replace ssl with mbedtls in AT
  • Make SmartConfig optional, users can disable it in application for smaller bin size and more memory.
  • Disable AT+RFAUTOTRACE command.

Bug Fix

SDK

  • Fix issue that system crashes when calling os_printf_plus in interrupt handler.
  • fix issue that mbedtls cannot set the fragment to be 2048.
  • fix issue that OTA may crash with some server.
  • Fix issue that beacon info does not update after wifi_station_scan.
  • Fix softAP compatibility issue.
  • Fix issue that fails to scan hidden AP in station mode.

AT

  • Fix issue that GPIO related commands always return OK even without GPIO number.
  • Fix issue that extra 0x0A displayed in SNTP time string
Compare
Choose a tag to compare

System

  1. Fix an issue that system relative time is not accurate
  2. Fix max bin sectors error in upgrade since rf cal sector should be reversed

WiFi

  1. Fix light sleep issues of high current and fail to sleep in some cases
  2. Fix eapol resend mechanism in softAP
  3. Fix WPS validate configuration for some special routers
  4. Revise API description of wifi_set_country and wifi_get_country

Lwip & espconn

  1. [Lwip] Update MACADDR & IP after send DHCP ACK
  2. [espconn] Fix SSL/TLS connection set/clear opt error when using mbedtls library

AT

  1. Fix station connecting behavior after upgrading from an old version
  2. Fix wrong SSID query when the length of SSID is 32 bytes
  3. Optimize AT+CIUPDATE behavior
Compare
Choose a tag to compare

System

  1. Add APIs to ensure flash erasing safe;
    • bool spi_flash_erase_protect_enable(void);
    • bool spi_flash_erase_protect_disable(void);
  2. Add -DUSE_OPTIMIZE_PRINTF in third_party/Makefile;
  3. Update libc.a & libgcc.a;
    • libc.a from newlib 2.0.0, libgcc.a from gcc 4.8.5
      • Strip the functions which are already in rom code
      • Add a readme in lib folder to show how to strip the origin libraries
  4. Update scripts to generate SSL related binaries;
  5. Put libm.a into .irom0.text;
  6. Compile some libraries with -ffunction-sectons -fdata-sections;
    • Modify ld to put this.text.* into .irom0.text
  7. Remove time() function from libmain;
  8. Fix issues of deep-sleep sleep 0 or sleep for a long time;
  9. Fix an issue about driver compiling;
  10. Fix ets_delay_us declaration;
  11. Fix os_calloc declaration;

Examples

  1. Add an example for WPA2 enterprise;
  2. Update IoT_Demo project, fix user sector error;
  3. Update mqtt demo project;

LWIP & espconn

  1. [LWIP] Add LWIP source codes in the third_party folder;
  2. [LWIP] Redefine err_t in lwip;
  3. [LWIP] Fix the sequence number error of RST+ACK;
  4. [LWIP] Fix an issue that two or more pbuf will be used when sending one TCP packet with LWIP_NETIF_TX_SINGLE_PBUF enabled;
  5. [LWIP] Fix the length of TCP data in one packet is more than 1460;
  6. [espconn] Fix an issue that duplicate UDP packet may be sent by espconn_sendto;
  7. [espconn] Enable block option for fetching the proactive data;
  8. [espconn] Manual fetch the receive data after the communication ends;

mbedTLS

  1. Add mbedTLS source codes in the third_party folder;
  2. Fix an issue that mbedTLS may memory leak in some cases when ESP8266 running as SSL/TLS client;
  3. Fix an issue that the sent callback may not be called in some cases;
  4. Fix load cert failure if the private key is in front of the cert in the esp_cert_private_key.bin;
  5. Fix disconnect callback function never be called;
  6. Speed up mbedtls handshake process;
  7. Fix already freed and exception when esp8266 acts as SSL/TLS server;

AT

  1. Update AT version to 1.6.0.0;

  2. Add a new command AT+SYSMSG to enable some report information;

  3. Add a new command AT+CWCOUNTRY;

    • AT+CWCOUNTRY=<country_policy>,"country_code",<start_channel>,<total_channel_number>
  4. Add new command AT+CIPSERVERMAXCONN;

    • AT+CIPSERVERMAXCONN=<num>
  5. Update command AT+CWLAP;

    • AT+CWLAP =<ssid>[,<mac>,<ch>,<scan_type>,<scan_time_min>,<scan_time_max>]
  6. Update command AT+CWLAPOPT;

    • Mask changes from 0x7F to 0x7FF
  7. Optimize tcp server by using new espconn_recv;

  8. Fix an issue that getting error irom string when print messages after upgrade;

  9. Fix an issue that baudrate is not correctly set when it was set at 1,200;

  10. Fix an issue that it should return error if the link id is wrong;

  11. Fix an issue that DNS auto mode is used by default;

  12. Fix a wrong link id issue when client connection number reaches maximum;

  13. Fix an issue that error will be reported when the maximun connection number is more than 5;

  14. Fix the message is incorrect when creating UDP if ip is a domain name;

  15. Fix GSLP too long time error;

  16. Fix that AT+CIPSTART causes busy if the server is connected at the same time;

Wi-Fi

  1. Update libphy.a to version 1136;
  2. Add APIs to set WPA2 Enterprise identity;
    • int wifi_station_set_enterprise_identity(u8* identity, int len);
    • void wifi_station_clear_enterprise_identity(void);
  3. Add support for passive scan;
  4. Add support for scan threshold and dwell time;
  5. Add APIs to set country code;
  6. Add support for recording more information of scanned AP;
  7. Fix the WPA/WPA2 PTK/GTK reinstallation vulnerability issue;
  8. Fix softAP wrong behavior after calling system_timer_reinit;
  9. Update esp_init_data_default.bin to v08;
    • Adjusted the default target power, from the 34th byte to the 39th byte of esp_init_data_default.bin, lower the target power of each level, optimized the frequency spectrum Mask and the EVM.
  10. Add keep connection for station to keep connection with AP;
  11. Add softAP distributes station ip event;
Compare
Choose a tag to compare

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;
Compare
Choose a tag to compare
  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)