Commit graph

1485 commits

Author SHA1 Message Date
Liu Zhi Fu
20217c7dfe esp32: fix wifi memory leak
Fix a WiFi memory leak bug
2018-10-21 20:37:08 +08:00
Ivan Grokhotkov
3e65ce3e93 Merge branch 'bugfix/unit_tests_tcpip_adapter' into 'master'
unit tests: Only initialise tcpip_adapter() when needed by the test

See merge request idf/esp-idf!3364
2018-10-19 12:33:09 +08:00
Ivan Grokhotkov
c76f71cd5f Merge branch 'bugfix/move_ringbuf_lib_to_iram' into 'master'
esp_ringbuf: fix default placement from flash to IRAM

See merge request idf/esp-idf!3452
2018-10-18 22:57:46 +08:00
Ivan Grokhotkov
efa43df039 Merge branch 'bugfix/fix_random_failure_with_ota_updates' into 'master'
app_update: fix intermittent failure with firmware updates

See merge request idf/esp-idf!3401
2018-10-18 22:32:33 +08:00
Mahavir Jain
b3aff63db4 app_update: fix intermittent failure with firmware updates
Routine `spi_flash_cache2phys` sometimes return incorrect value,
resulting in failure in getting currently running ota partition.
This in turn aborts firmware update process.This issue was more
prominent with SPIRAM enabled cases.

Fix ensures proper cache guards during `spi_flash_cache2phys`, and
also for few other similar APIs.

In addition, `esp_ota_get_running_partition` has also been optimized
to save currently running partition for subsequent invocations.

Fixes https://github.com/espressif/esp-idf/issues/2451
2018-10-18 04:38:31 +00:00
Mahavir Jain
49130c6b34 esp_ringbuf: fix default placement from flash to IRAM
In earlier change this component was decoupled from freertos and hence
regression was introduced which changed default placement to flash. Some
device drivers make use of ringbuffer while flash cache is being disabled
and hence default placement should instead be internal memory.

Closes: https://github.com/espressif/esp-idf/issues/2517
2018-10-17 23:34:07 -05:00
Tian Hao
6934a739d7 coexist : fix coexist bugs related to coex hw blocking
1. fix some bugs by previous coex hw blocking bugfix,
   such like, rwble.c (64, 0) line 222
2. fix bug that ble scan performance is very low when software coexist
   is working.
3. update libcoexist version to v1.1.0
2018-10-18 11:49:10 +08:00
Ivan Grokhotkov
18684f53ee Merge branch 'bugfix/uart_wait_idle' into 'master'
uart: fix uart_tx_wait_idle to wait for fifo empty

See merge request idf/esp-idf!3489
2018-10-18 11:25:59 +08:00
Angus Gratton
159ff6e08e unit tests: Only initialise tcpip_adapter() when needed by the test
Prevents unexpected memory allocations when running tests which
don't require tcpip_adapter.
2018-10-17 22:53:46 +00:00
qiyueixa
71b5dcfd73 mesh: fix a bug in generating ESP-SSID IE
1. wifi: if Wi-Fi is not scanning, ignore beacons from different channels.
2018-10-17 17:52:29 +08:00
Liu Zhi Fu
1afb8001dd esp32: fix WiFi timer inaccurate bug
Fix the bug that WiFi timer is not accurate when sleep is on
2018-10-17 09:47:25 +08:00
Ivan Grokhotkov
508fb79a26 uart: fix uart_tx_wait_idle to wait for fifo empty
In some cases, when data was just written into UART FIFO, transmitter
state could be still zero while the FIFO did contain some data.
This resulted in uart_tx_wait_idle occasionally returning before all
the data was sent out.
Fix by checking both UART transmitter state and TX FIFO count.
2018-10-15 20:08:16 +08:00
Jeroen Domburg
a78fd2b13c Merge branch 'feature/64mb_psram_support_base' into 'master'
Feature/64mb psram support base

See merge request idf/esp-idf!2887
2018-10-15 15:54:10 +08:00
Jeroen Domburg
81e35a142a Spiram: Add option to reserve MMU banks; add himem API to make use of those banks 2018-10-15 14:32:58 +08:00
Jiang Jiang Jian
1a743ad66d Merge branch 'bugfix/several_bugfix_about_ba_session_setup' into 'master'
esp32: several fixes/optimizations about BlockAck(BA) setup

See merge request idf/esp-idf!3374
2018-10-11 11:28:20 +08:00
Angus Gratton
31cf117404 Merge branch 'feature/bss_seg_in_external_memory' into 'master'
memory:   support .bss segment can be in psram

See merge request idf/esp-idf!2236
2018-10-10 14:40:21 +08:00
Angus Gratton
fc2230aeda Merge branch 'feature/error_check_without_abort' into 'master'
esp32: Add macro to check a condition without abort

See merge request idf/esp-idf!3348
2018-10-10 14:31:38 +08:00
Angus Gratton
f1ccd47fdb Merge branch 'bugfix/fix_psram_eid' into 'master'
bugfix(psram): fix psram eid

See merge request idf/esp-idf!3392
2018-10-10 11:37:43 +08:00
Roland Dobai
d4e572bdb1 esp32: Add macro to check a condition without abort
Closes https://github.com/espressif/esp-idf/issues/2325
2018-10-09 08:57:23 +02:00
Liu Zhi Fu
660770ea97 esp32: several fixes about BA session setup
1. Fix the bug that ESP32 will reject the retry AddBA request frame
   if AddBA response frame is failed to sent by WiFi LMAC
2. Fix the bug that AddBA request retrys too frequently
3. Forbid BA session setup for VO queue related TID
2018-10-09 12:07:30 +08:00
chenjianqiang
a10b7e892c bugfix(psram): fix psram driver
1. remove use EID to distinguish psram voltage
2. 1V8 64Mbit psram and 3V3 64Mbit psram use the same psram driver(standard spi interface)
3. set cs hold time register as 1
2018-10-08 19:55:13 +08:00
Jiang Jiang Jian
221eced06d Merge branch 'bugfix/no_disconnect_event_report_if_no_correct_status_code_report' into 'master'
WiFi: bugfix of no disconnect event report if no correct status code report

See merge request idf/esp-idf!3370
2018-10-08 15:59:07 +08:00
Angus Gratton
1b272bb77e Merge branch 'bugfix/rom_export_functions' into 'master'
esp32, bootloader: fix issues related to linking order

See merge request idf/esp-idf!3375
2018-10-05 12:40:05 +08:00
Angus Gratton
127693126a esp_err: Don't compile in error message strings in "silent assertions" mode
Reported on forum https://esp32.com/viewtopic.php?f=13&t=7396&p=31419#p31419
2018-10-02 17:00:57 +10:00
Ivan Grokhotkov
9240bbb708 esp32: remove ROM functions redefined in IDF from LD script
In some cases, linker could choose to use ROM functions instead of the
ones defined in IDF.
For functions used in ROM stub table, this would lead to infinite
recursion when the corresponding function was called from ROM.
For crypto functions, some of these were modified in IDF, and
incompatible with ROM counterparts.
2018-10-02 01:20:04 +00:00
Ivan Grokhotkov
23984c8a03 Merge branch 'bugfix/rtc_fastmem_data_init' into 'master'
esp32: fixes related to CONFIG_ESP32_RTCDATA_IN_FAST_MEM

See merge request idf/esp-idf!3403
2018-10-01 18:13:43 +08:00
Ivan Grokhotkov
94e5ffdedc Merge branch 'bugfix/workaround_free_peripherals_isr_when_using_dual_core' into 'master'
driver(interrupt): fix the issue that interrupt might be allocated and freed on different cores.

See merge request idf/esp-idf!3152
2018-09-30 21:42:52 +08:00
Deng Xin
b557cca6b9 WiFi: bugfix of no disconnect event report if no correct status code report
Problem Description

The reporduce steps are as follows:
1. put more than one same ssid AP in the environment;
2. set the STA mac address in one of the APs blacklist, and make sure the AP is closest to STA;
3. set the scan method in station config as all channel scan;
4. try to connect the AP which set STA in blacklist

Phenmenon

STA fail to connect after send auth or assoc with a wrong status code, but no disconnect event report and can not connect the next one in the envrionment

Root Cause

Because there are some same ssid APs in the evnrionment, when do all channel scan, it will collect all the matched AP in rc list, because rc list is not empty, so it would send disconnect event, however, we didn't do other step such as connect to other one

VNC MR 570

closes https://github.com/espressif/esp-idf/issues/2323
2018-09-29 16:16:22 +08:00
Ivan Grokhotkov
c4a712b0bc sleep: fix checking length of RTC data sections
_rtc_data_{start,end} can now describe data placed into RTC_FAST
segment, if CONFIG_ESP32_RTCDATA_IN_FAST_MEM is enabled.
Use new _rtc_slow_length symbol instead.
2018-09-29 14:02:16 +08:00
Ivan Grokhotkov
70412928de esp32: fix placement of .rtc_noinit
When CONFIG_ESP32_RTCDATA_IN_FAST_MEM is enabled, .rtc_noinit should
be in RTC_FAST memory, same as .rtc.data
2018-09-29 14:02:16 +08:00
Ivan Grokhotkov
3e1c065493 esp32/test: split rtc_fast test cases
Move runtime behaviour test cases into test_reset_reason.c, move
placement test cases into test_rtc_fast.c
2018-09-29 14:02:16 +08:00
Ivan Grokhotkov
0a7065195c Merge branch 'bugfix/regression_in_light_sleep_mode' into 'master'
esp32: fix regression introduced in automatic light sleep pm

See merge request idf/esp-idf!3371
2018-09-28 09:49:39 +08:00
Ivan Grokhotkov
5ebf4f7022 Merge branch 'feature/move_rtc_data_rtc_rodata_to_RTC_FAST_seg' into 'master'
esp32: Add option to place .rtc_data and .rtc_rodata into the RTC_FAST segment

See merge request idf/esp-idf!2128
2018-09-27 13:05:06 +08:00
Ivan Grokhotkov
6baf743212 Merge branch 'bugfix/lwip_compat_headers' into 'master'
lwip: add compatibility headers for sntp.h and esp_ping.h

See merge request idf/esp-idf!3231
2018-09-27 11:21:37 +08:00
Tian Hao
337960338d component/bt : fix coexist hardware blocking bug
fix the bug following:
1. after disable bluetooth controller, wifi cannot TX/RX any packets.
2. when software coexist working, there's a little ratio cause wifi task watchdog timeout
3. when software coexist working, there's a little ratio cause bluetooth cannot receive anything.

feature:
1. add libbtdm_app.a git commit local and remote checking

Known issues:
1. there's still a bug occurs with a very very low ratio cause bluetooth
   cannot receive anything. The reproduce interval may great than 3days ~ 1week via
   7x24 hours heavy testing.
2018-09-26 21:24:46 +08:00
Mahavir Jain
b5c321d981 esp32: fix regression introduced in automatic light sleep pm
Closes: https://github.com/espressif/esp-idf/issues/2459

Signed-off-by: Mahavir Jain <mahavir@espressif.com>
2018-09-26 08:52:15 +05:30
TianZhongXing
01308df8a6 doc: update document of external memory 2018-09-26 10:39:57 +08:00
kooho
bbca0e46ed driver(interrupt): fix the issue that interrupt might be allocated and freed on different cores
closes https://github.com/espressif/esp-idf/issues/2211
2018-09-26 10:31:09 +08:00
qiyueixa
fe4dabe869 mesh: decoupling
Remove dependencies which cause mesh code to be linked even if mesh is not used.
2018-09-25 23:49:27 +08:00
XiaXiaotian
7b7964b47a esp32: esp-touch supports both multicast and broadcast packets
Previously, esp-touch only supports multicast packets which are
    transmitted from cellphone. But for most dual frequency routers
    whose SSIDs of 5G and 2.4G are the same, broadcast packets are
    forwarded from 5G interface to 2.4G interface while multicast
    packets are not. In order to make esp-touch work when cellphone
    connects to 5G interface of these routers, esp-touch is improved
    to support both multicast and broadcast packets. Meanwhile, new
    APP which is compiled with Andriod or IOS library(>= v0.3.6.2)
    must be used in this situation. Note that for some routers,
    broadcast and multicast packets are forwarded from 5G interface
    to 2.4G interface only when another WiFi device is connected to
    2.4G interface of the router. Old APP which is compiled with
    Android or IOS library(< v0.3.6.2) also works with this improvement
    when cellphone connects to 2.4G interface of the router.

    The Android and IOS library of new esp-touch APP is now available
    on Github.
    Android: https://github.com/EspressifApp/EsptouchForAndroid
    IOS: https://github.com/EspressifApp/EsptouchForIOS
2018-09-25 10:38:01 +08:00
Angus Gratton
dc135ed1f6 Merge branch 'feature/async_esp_http_client' into 'master'
Non Blocking `esp_http_perform()` API in esp_http_client

See merge request idf/esp-idf!3049
2018-09-25 08:20:06 +08:00
Angus Gratton
a4aadd1926 Merge branch 'feature/nvs_encryption' into 'master'
nvs_flash: Add support for nvs encryption

See merge request idf/esp-idf!2700
2018-09-25 08:15:55 +08:00
Sagar Bijwe
48fccbf5dd nvs_flash: Add support for nvs encryption 2018-09-24 11:25:21 +05:30
Jitin George
5309ca04d1 esp_http_client: Add support for non-blocking feature in esp_http_client_perform() API
Four internal APIs `esp_http_client_connect()`, `http_client_prepare_first_line()`, `esp_http_client_request_send()` and
`esp_http_client_send_post_data()` API have been added for perfoming connection establishment (sync as well as async),
preparing first line, sending request and sending post data respectively.

In `transport_ssl`, `ssl_connect_async()` API has been added for establishing asynchronous connection.
2018-09-24 05:42:28 +00:00
qiyueixa
9c4cc55012 mesh: bugfix
1. suppport mesh type, mesh ID, router and IE crypt func&key at any time after mesh is initalized.
2. support modify parent at any time after mesh is configured.
3. modify manual networking example.
4. update header file.
5. fix issues in root conflicts handling.
6. add max length of beacon to menuconfig.
7. fix issue when received a beacon without DSSS.
2018-09-23 21:11:02 +08:00
TianZhongXing
19a67271ef lwip:move lwip bss segment to psram 2018-09-21 16:20:31 +08:00
TianZhongXing
974112378b feature: allow .bss segment in external memory 2018-09-21 16:20:26 +08:00
Deng Xin
7186475d94 Wifi: bugfix of two sceanrio may cause no disconnect event report
Problem Description
set some of routers as the same ssid in the same channel, when 32 in the fast scan connect mode, there may no disconnect event report in that two sceanrio:
1. set the correct password and connect, if target router didn't report 32's auth req before timeout, the state machine change to init but no disconnect event report
2. set a wrong password, if router send disassoc or deauth after run, rather than wait 4 way handshake timeout, the state machine change to init but no disconnect event report

Root Cause
Because the routers are in the same channel, all of them are matched the ssid, so all of them can be instore in the rc list wait for connect, when the first one want to connect fail at auth or receive
disassoc or deauth when password wrong, the rc list is not empty, it can not send disconnect event because rc is not empty

Solution
1. put the fail the router in the blacklist
2. Judge whether there is another router can be connect, if it has, try to connect with the next one

VNC MR 561
2018-09-21 06:22:20 +00:00
Roland Dobai
bf443a763f tools: Support overwrite of includes for gen_esp_err_to_name.py
gen_esp_err_to_name.py includes files like
components/lwip/include/apps/esp_ping.h as "apps/esp_ping.h" because all
subdirectories of "include" are used. If "components/lwip/include/apps"
is in the path of the compiler instead of "components/lwip/include" then
include "apps/esp_ping.h" will fail. This fix allows to process lines
like:
'// gen_esp_err_to_name.py: some text "esp_ping.h" some text'
in header files for overwriting the include.
2018-09-21 14:09:37 +08:00
Ivan Grokhotkov
f8750eb58d lwip: add compatibility headers for sntp.h and esp_ping.h
Before LwIP was moved into a submodule, sntp and esp_ping were
available as the following includes:

#include "apps/sntp/sntp.h"
#include "esp_ping.h"

This commit makes header files available at the old location, and adds
a deprecation warning for sntp.h.

Closes https://github.com/espressif/esp-idf/issues/2392
2018-09-21 14:09:37 +08:00