Releases: espressif/ESP8266_NONOS_SDK
v3.0.6
v3.0.5
v3.0.4
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
v3.0.3
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
v3.0.2
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
v3.0.1
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.
v3.0
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 choose16Mbit/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
ordocuments/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
andAT+SYSMSG_CUR
to instead ofAT+SYSMSG
. - Add
AT+CIPCLOSEMODE
to select TCP close mode. - Add a parameter in
AT+CWJAP_CUR
andAT+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
v2.2.1
System
- Fix an issue that system relative time is not accurate
- Fix max bin sectors error in upgrade since rf cal sector should be reversed
WiFi
- Fix light sleep issues of high current and fail to sleep in some cases
- Fix eapol resend mechanism in softAP
- Fix WPS validate configuration for some special routers
- Revise API description of wifi_set_country and wifi_get_country
Lwip & espconn
- [Lwip] Update MACADDR & IP after send DHCP ACK
- [espconn] Fix SSL/TLS connection set/clear opt error when using mbedtls library
AT
- Fix station connecting behavior after upgrading from an old version
- Fix wrong SSID query when the length of SSID is 32 bytes
- Optimize AT+CIUPDATE behavior
v2.2.0
System
- Add APIs to ensure flash erasing safe;
bool spi_flash_erase_protect_enable(void)
;bool spi_flash_erase_protect_disable(void)
;
- Add
-DUSE_OPTIMIZE_PRINTF
in third_party/Makefile; - 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
- libc.a from newlib 2.0.0, libgcc.a from gcc 4.8.5
- Update scripts to generate SSL related binaries;
- Put libm.a into .irom0.text;
- Compile some libraries with
-ffunction-sectons -fdata-sections
;- Modify ld to put this.text.* into .irom0.text
- Remove
time()
function from libmain; - Fix issues of deep-sleep sleep 0 or sleep for a long time;
- Fix an issue about driver compiling;
- Fix
ets_delay_us
declaration; - Fix
os_calloc
declaration;
Examples
- Add an example for WPA2 enterprise;
- Update IoT_Demo project, fix user sector error;
- Update mqtt demo project;
LWIP & espconn
- [LWIP] Add LWIP source codes in the third_party folder;
- [LWIP] Redefine err_t in lwip;
- [LWIP] Fix the sequence number error of RST+ACK;
- [LWIP] Fix an issue that two or more pbuf will be used when sending one TCP packet with
LWIP_NETIF_TX_SINGLE_PBUF
enabled; - [LWIP] Fix the length of TCP data in one packet is more than 1460;
- [espconn] Fix an issue that duplicate UDP packet may be sent by espconn_sendto;
- [espconn] Enable block option for fetching the proactive data;
- [espconn] Manual fetch the receive data after the communication ends;
mbedTLS
- Add mbedTLS source codes in the third_party folder;
- Fix an issue that mbedTLS may memory leak in some cases when ESP8266 running as SSL/TLS client;
- Fix an issue that the sent callback may not be called in some cases;
- Fix load cert failure if the private key is in front of the cert in the esp_cert_private_key.bin;
- Fix disconnect callback function never be called;
- Speed up mbedtls handshake process;
- Fix
already freed
and exception when esp8266 acts as SSL/TLS server;
AT
-
Update AT version to 1.6.0.0;
-
Add a new command
AT+SYSMSG
to enable some report information; -
Add a new command
AT+CWCOUNTRY
;AT+CWCOUNTRY=<country_policy>,"country_code",<start_channel>,<total_channel_number>
-
Add new command
AT+CIPSERVERMAXCONN
;AT+CIPSERVERMAXCONN=<num>
-
Update command
AT+CWLAP
;AT+CWLAP =<ssid>[,<mac>,<ch>,<scan_type>,<scan_time_min>,<scan_time_max>]
-
Update command
AT+CWLAPOPT
;- Mask changes from 0x7F to 0x7FF
-
Optimize tcp server by using new
espconn_recv
; -
Fix an issue that getting error irom string when print messages after upgrade;
-
Fix an issue that baudrate is not correctly set when it was set at 1,200;
-
Fix an issue that it should return error if the link id is wrong;
-
Fix an issue that DNS auto mode is used by default;
-
Fix a wrong link id issue when client connection number reaches maximum;
-
Fix an issue that error will be reported when the maximun connection number is more than 5;
-
Fix the message is incorrect when creating UDP if ip is a domain name;
-
Fix GSLP too long time error;
-
Fix that
AT+CIPSTART
causes busy if the server is connected at the same time;
Wi-Fi
- Update libphy.a to version 1136;
- Add APIs to set WPA2 Enterprise identity;
int wifi_station_set_enterprise_identity(u8* identity, int len)
;void wifi_station_clear_enterprise_identity(void)
;
- Add support for passive scan;
- Add support for scan threshold and dwell time;
- Add APIs to set country code;
- Add support for recording more information of scanned AP;
- Fix the WPA/WPA2 PTK/GTK reinstallation vulnerability issue;
- Fix softAP wrong behavior after calling
system_timer_reinit
; - 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.
- Add keep connection for station to keep connection with AP;
- Add softAP distributes station ip event;
v2.1.0
System
- Fix and update the license;
- Add definitions of ROM functions;
- Add efuse mac crc, save efuse mac into the system parameter area of flash, as a backup mac;
- Implement
uart_div_modify
, which can support a 32-bit DivLatchValue in the SDK instead of the ROM one, and also removeuart_div_modify
from the ld file; - 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 emptyuser_spi_flash_dio_to_qio_pre_init
on the application side to reduce iRAM usage;
- add weak function
- Fix WDT in system_restart;
- Fix Write & Read issue in SPI overlap mode;
- Support 8MB & 16MB spi flash;
- 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;
- Fix http packet error, BBP301;
- Support long periods of deep sleep;
- Fix NMI handle crash on unaligned memory access, BBP309;
Lwip
- Add set and get dns server APIs:
- espconn_dns_setserver
- espconn_dns_getserver
- Fix 2038 overflow bug in sntp_get_current_timestamp;
- Fix MTU negotiate bug;
AT
- Add new commands, AT+UART? and AT+UART_DEF?;
- Add new command, AT+SYSRAM?;
- Add new commands, AT+SYSIO series;
- Add new command, AT+CWHOSTNAME;
- Add new command, AT+SYSADC?;
- Add new commands, AT+CIPSNTPCFG and AT+CIPSNTPTIME;
- Add new commands, AT+CIPDNS_CUR and AT+CIPDNS_DEF;
- Support a maximum of 8 stations;
- Modify keepalive count to 3 times;
- Fix scan hidden ssid issue in AT+CWLAP;
- Fix the issue of the UART stop bit being 0 when queried for the first time;
- Fix MAC addr conflict in AP+STA mode;
- Add new commands, AT+RFAUTOTRACE;
WiFi
- Optimize the RF frequency calibration workflow, having the frequency trace disabled by default;
- users can call
system_phy_freq_trace_enable
inuser_rf_pre_init
to enable it;
- users can call
- Update libphy.a to version 1134_0;
- Allow sending a broadcast ESP-NOW packet, but make sure that the packet is unencrypted;
- Fix soft queue error;
- Fix EVENT_STAMODE_AUTHMODE_CHANGE event mode info;
- Fix lmac assert;
- Fix bug in sniffer mode;
- Fix arp loss continously issue;
- 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;
- Fix the bug in mic failure handler;
- Fix the bug which causes failure of connection to an AP with shared WEP;
- Fix the bug which causes failure of connection to an AP with hidden ssid;
- Fix softAP deauth;
- Fix reconnect policy when trying to connect to an AP that does not exist;
- Fix scan issue;
- Fix extra bytes in UDP broadcast packet, BBP310;