Commit Graph

71 Commits

Author SHA1 Message Date
Li Shuai
6a5d4e40d2 Wi-Fi/power save: fix the some mac issues of wifi power save
Some APs are configured to hide the SSID, the length field of the SSID element
in the Beacon frame is set to 0. This can cause incorrect parsing of the Beacon
by the Wi-Fi MAC hardware.

Some APs send two beacon frames with different BSSID in a TBTT cycle. After
correctly parsing the beacon of the associated AP, it continue to receive the
other beacon frame, which will cause the MAC to remain in a wait RX/TXING
state, blocking the Wi-Fi go to sleep.
2023-07-14 10:51:47 +08:00
Jiang Jiang Jian
54360507f3 Merge branch 'bugfix/malloc_free_removal_v5.1' into 'release/v5.1'
Backport some wifi fixes (backport v5.1)

See merge request espressif/esp-idf!24264
2023-07-04 12:10:21 +08:00
Jiang Jiang Jian
b2b0940516 Merge branch 'bugfix/fix_Cache_Count_Flash_bug_v5.1' into 'release/v5.1'
cache: patch some rom cache api, rename those apis in ld (backport v5.1)

See merge request espressif/esp-idf!24289
2023-07-04 12:07:25 +08:00
wanglei
4ba10243f4 cache: patch some rom cache api, rename those apis in ld
1. Cache_Count_Flash_Pages, fix this api return enexpected + 1
2. Cache_Suspend_I/DCache, add wait cache idle after suspend cache
3. Cache_Freeze_I/DCache_Enable, add wait cache idle after freeze
2023-06-19 10:53:51 +08:00
muhaidong
b20922c6d5 esp_wifi: fix some txop issues 2023-06-15 22:38:44 +05:30
morris
d5fb4ff7c8 esp_rom: add common ROM API to update CPU tick rate 2023-06-01 10:57:13 +08:00
chenjianhua
8e41186ac8 Update bt lib for ESP32-C3 and ESP32-S3
- Fixed non-connectable and non-scannable directed adv can't be scanned
2023-04-22 20:48:38 +08:00
chenjianxing
8d2e2ef2aa esp_wifi: improve tx robust for c2/c3/s3 2023-03-30 21:36:35 +08:00
Jiang Jiang Jian
948a895f24 Merge branch 'bugfix/fix_ram_app_mmu_issue' into 'master'
RAM APP: fixed cannot use external memory correctly issue

Closes IDF-7019 and IDF-7039

See merge request espressif/esp-idf!22682
2023-03-15 14:04:44 +08:00
Armando
929b7717ff system: fixed ram app cannot use mmu correctly issue 2023-03-15 10:59:20 +08:00
zwj
a9d9f115c3 - Support ESP32C3 and ESP32S3 new BLE lib
- Disable controller 5.0 feature bits if host 5.0 feature is not enabled
- Fixed extend ADV parameters check for ADV_DIRECT_HI
2023-03-13 10:47:18 +00:00
jiangguangming
344d30c18e esp_rom: add macro ESP_ROM_NEEDS_SET_CACHE_MMU_SIZE for S3/C3/C2/C6/H2/H4 2023-03-06 19:47:18 +08:00
wuzhenghui
8a69bc4f9e power save: fix some auto beacon issues and add some ps features for esp32c6 2023-03-04 00:17:40 +08:00
Marius Vikhammer
65a4058e8c newlib: update newlib nano documentation for C6
C6 ROM has the the full IO formatting functions included.
2023-02-08 10:56:28 +08:00
chenjianxing
1c96b509bb esp_wifi: fix multicast pkts drop issue for some AP when DTIM period > 1
Closes WIFI-5076
2022-12-13 16:57:41 +08:00
jiangguangming
08fd77a09a move {target}/rom/miniz.h to a common miniz.h
- Move {target}/rom/miniz.h to common miniz.h
- Add ESP_ROM_HAS_MZ_CRC32 for ESP32/S2/S3/C3/H4
- Alias mz_crc32 to crc32_le if chips not support ESP_ROM_HAS_MZ_CRC32

Closes https://github.com/espressif/esp-idf/issues/10177
2022-11-15 15:39:39 +08:00
alex.li
67c557f9c4 esp_wifi: fix wapi gtk id compability issue and adapt tx frag pn sequently. 2022-11-08 17:31:44 +08:00
jiangguangming
8774db59f0 esp_rom: remove ESP_ROM_SUPPORT_MULTIPLE_UART 2022-10-14 14:06:40 +08:00
jiangguangming
4c3ce9f21d esp_rom: fix esp32s3 rom ets_printf bug 2022-10-14 11:43:46 +08:00
zhangyanjiao
a165d5b3ef esp_wifi: fix connect fail when enable SPIRAM
Closes IDFGH-8189
2022-10-08 15:49:02 +08:00
wuzhenghui
68159feb10 esp32c6: add esp_rom support (rom version: esp32c6-20220901) 2022-09-26 20:32:04 +08:00
wuzhenghui
88c123f805 esp_rom: add esp_rom_software_reset and esp_rom_software_reset_cpu interface 2022-08-31 01:59:36 +00:00
Darian Leung
fbcde6777f newlib: Add workaround for printf functions using 32-bit time_t on first call
sizeof(time_t) was previously switched from 4 to 8, ROM functions that use
time_t or dependent types (such as "struct stat") are no longer called due as
they still treat sizeof(time_t) as 4 (see commit
24c20d188e).

However, there is a ROM callpath that was left out. If putchar is the first
stdio print related call, the call path will result in cantwrite() ->
__swsetup_r() -> __smakebuf_r() -> __swhatbuf_r() using the ROM "struct stat"
(where sizeof(time_t)==4).

Instead of removing all printf related ROM newlib functions (which will result
in increased binary size), this commit adds a workaround to setup the stdio
files before any print related calls occur.

This results in cantwrite() always returning false, thus the callpath described
above never being reached.

Closes https://github.com/espressif/esp-idf/issues/9269
2022-08-21 15:27:50 +08:00
Vilem Zavodny
a00e8771a7 tjpgd: Remove ROM patches and tests. 2022-08-17 14:42:45 +02:00
Marius Vikhammer
cfbe0a035b esp-rom: add missing spi-flash ROM API functions
Added symbols for the SPI flash API which we export from the ROM interface,
deleted functions which are not exported.

Closes https://github.com/espressif/esp-idf/issues/1212
2022-08-08 16:34:10 +08:00
muhaidong
52f378ac7b esp_wifi: reset beacon timeout timer when keep alive null works or hw drop beacon 2022-07-11 20:54:25 +08:00
xueyunfei
95591fdf65 wifi:bugfix fix qos null update ba ssn 2022-07-07 15:23:29 +08:00
Cao Sen Miao
a690a87829 spi_flash: Remove legacy spi_flash drivers 2022-07-01 11:01:34 +08:00
Li Shuai
7efa8b855a sleep: beacon loss and noise check timer optimize for wifi power save 2022-06-09 15:52:05 +08:00
Jiang Jiang Jian
0e94779b2e Merge branch 'feature/support_esp32c2_wifi_new' into 'master'
Bringup ESP32C2 Wi-Fi

Closes IDF-3905

See merge request espressif/esp-idf!18136
2022-05-29 18:25:24 +08:00
Wu Zheng Hui
b98622c624 efuse: update efuse name 2022-05-28 22:03:16 +08:00
liuning
e0decf4839 esp_wifi: fully support connectionless traffic with ps and coex 2022-05-28 08:52:55 +00:00
liuning
9d7479eda3 esp_wifi: fix no null data after WiFi waking up. 2022-05-17 21:45:55 +08:00
morris
24f5fecef0 hal: use ROM implementation for systimer and wdt on esp32c2 2022-05-12 05:18:57 +00:00
ChenJianxing
764b606d9d esp_wifi: add ht40 support for 80211_tx & espnow 2022-03-14 21:23:48 +08:00
Michael (XIAO Xufeng)
d5bdf95580 hw_support: fixed regi2c not protected by lock on ESP32S2 2022-03-13 00:24:08 +08:00
morris
ef00bd59dc esp_rom: extract int matrix route and cpu ticks getter 2022-02-09 13:52:20 +08:00
Ivan Grokhotkov
24c20d188e esp_rom: remove functions which depend on sizeof(struct stat)
...and all their callers.

With the upcoming switch from sizeof(time_t)==4 to sizeof(time_t)==8,
sizeof(struct stat) is also increasing.

A few newlib functions present in ROM allocate 'struct stat' on the
stack and call _fstat_r on this structure. The implementation of
fstat is provided in ESP-IDF. This implementation will often do
memset(st, 0, sizeof(*st)), where st is 'struct stat*', before setting
some fields of this structure. If IDF is built with sizeof(st)
different from sizeof(st) which ROM was built with, this will lead
to an out-of-bounds write and a stack corruption.

This commit removes problematic ROM functions from the linker script.
Here are the functions which allocate 'struct stat':
* _isatty_r (in ROM)
* __swhatbuf_r, called by __smakebuf_r, called by __swsetup_r and
  __srefill_r (in ROM)
* _fseeko_r (not in ROM)
* glob2 (not in ROM)
* _gettemp (not in ROM)

As a result, these functions are used from libc.a, and use correct
size of 'stat' structure.

Closes https://github.com/espressif/esp-idf/issues/7980
2022-01-06 15:20:04 +01:00
Cao Sen Miao
d397464fc4 spi_flash: refactor spi_flash.h to esp_rom_spiflash.h but keep the content in spi_flash.h 2021-12-30 14:12:31 +08:00
Marius Vikhammer
c6d60615c6 build-system: include soc_caps defines into kconfig
Adds gen_soc_caps_kconfig.py which parses the soc caps (soc_caps.h) into
a format that can be included in kconfig.
2021-12-06 12:37:07 +08:00
Cao Sen Miao
bf6fa70812 ESP8684: update bootloader, bootloader_support, esp_rom 2021-11-06 17:33:44 +08:00
Kapil Gupta
797c7144bd esp_wifi: Add support for GCMP and GMAC ciphers 2021-10-12 20:48:51 +08:00
SalimTerryLi
23e23b697c
rom/tjpgd: unify library & add rom patch
remove external tjpgd library inside example

enable tjpgd decoding on all chips
2021-09-01 14:42:17 +08:00
ChenJianxing
9e7d75cb95 esp_wifi: fix some wifi bugs
1. support config 80211 tx rate
2. fix 80211 tx crash issue
3. disable ampdu+amsdu bit
2021-07-31 18:02:20 +08:00
Ivan Grokhotkov
7534c4467f rom, spi_flash: add a patch for esp_flash_erase_region for C3, S3, H2 2021-07-24 13:28:25 +02:00
morris
1560d6f1ba soc: add reset reasons in soc component 2021-07-13 10:45:38 +08:00
chenjianxing
564068d5af esp_wifi: support esp32s3 wifi and fix not tx 9M rate issue 2021-07-06 11:38:40 +08:00
Michael (XIAO Xufeng)
afc2bc94b3 Merge branch 'feature/add_opi_flash_psram_support' into 'master'
spi flash: opi flash psram support and spi timing tuning  support on 727

Closes IDF-3097

See merge request espressif/esp-idf!12946
2021-06-28 01:59:19 +00:00
Armando
bc248278f8 spiflash: add octal spi psram support on 727 2021-06-25 19:41:57 +08:00
Jiang Jiang Jian
dd1352dec3 Merge branch 'bugfix/fix_amsdu_fragment_vulnerability' into 'master'
esp_wifi: fix amsdu & fragment vulnerabilities

Closes WIFI-3700 and WIFI-3733

See merge request espressif/esp-idf!13719
2021-06-22 13:00:42 +00:00