Commit Graph

169 Commits

Author SHA1 Message Date
xiehang
041ad04fdd esp_wifi: Modify ESP_IF_WIFI_AP to WIFI_IF_AP 2021-01-27 15:00:51 +08:00
xiehang
4c68212c8f esp_wifi: Modify ESP_IF_WIFI_STA to WIFI_IF_STA 2021-01-27 14:59:25 +08:00
xiehang
9370b74ee0 esp_wifi: Update WiFi lib
1. Add check CSA state before CSA timer process
2. Change wifi scan duration from 120ms to 100ms
3. Using deport reg instead of ahb
4. Check TID in ieee80211_recv_bar()
5. Revert to report specific reason code when receiving deauth during 4-way-handshark
6. Fix the bug that tx ampdu parameter is not from peer device
7. Refactor wifi_interface_t
8. Faster WiFi station connect improvement, avoid 100ms passive scan
9. Add FCS failed packets filter
10.Update esp32 phy lib to v4660
11.Fix csa timer issue
12.Fix country code last byte to space instead of NULL
13.Fix softap cannot forward A-MSDU
14.Fix max tx power to 20dBm
15.Fix the issue that the esp_wifi_sta_get_ap_info can't get country
2021-01-15 03:51:36 +00:00
ChenJianxing
9eb34fd153 esp_wifi: optimize phy version log 2021-01-15 03:51:36 +00:00
ronghulin
70777a256a bugfix: fix some wifi bugs
1. fix max tx power to 20dBm
2. fix the issue that the esp_wifi_sta_get_ap_info can't get country

Closes https://github.com/espressif/esp-idf/issues/6267
2021-01-15 03:51:36 +00:00
Jiang Jiang Jian
5a1a21ed2f Merge branch 'bugfix/revert_wifi_iram_optimization_v4.0' into 'release/v4.0'
esp_wifi: revert wifi iram optimization(v4.0)

See merge request espressif/esp-idf!11514
2020-12-22 19:03:01 +08:00
Cao Sen Miao
c4f11f7138 adc_i2s: solve the i2s_adc issue when using wifi 2020-12-09 22:41:49 +08:00
ChenJianxing
3cefb0ad8f esp_wifi: revert wifi iram optimization 2020-12-08 14:23:09 +08:00
xiehang
c088c19322 esp_wifi: Fix some wifi bugs 1117
1. Optimize WiFi debug log
2. WiFi IRAM optimization
3. Update WiFi toolchain to 1.22.0-97-gc752ad5
4. Optimize WiFi TX performance
2020-12-03 17:49:22 +08:00
liu zhifu
c2b6a2d24f esp_wifi: optimize WiFi debug log
1. Add esp_wifi_statis_dump()
2. Optimize WiFi related debug log
2020-12-03 16:04:11 +08:00
zhangyanjiao
160e43a95b esp_wifi: update wifi lib for bugfixs 2020-12-01 20:10:35 +08:00
aditi_lonkar
54c012905f wifi: Fix esp_wifi log levels 2020-12-01 19:36:00 +08:00
Nachiket Kukade
2db6b1578e esp_wifi: Update wifi lib
1. Use flag ESP32_WIFI_ENABLE_WPA3_SAE to control WPA3 code, disabling
   it code footprint reduces by 7.7kB in libwpa_supplicant.a
2. Fix handling of multiple AP credentials in WPS, apps need update
   to handle the new event for the fix to work
2020-12-01 19:28:56 +08:00
Nachiket Kukade
b2dec946b6 esp_wifi: Update docs for wifi headers 2020-12-01 16:44:53 +08:00
ChenJianxing
2c85d3dd62 esp_wifi: remove wifi tx buffer limits 2020-12-01 16:36:59 +08:00
Xia Xiaotian
5616dd57da Wi-Fi: set softap beacon DTIM count according to TSF timer 2020-12-01 16:35:38 +08:00
dongyou
2252c75588 esp_wifi: update description for WiFi APIs
1. Add description for esp_wifi_set_inactive_time()
2. Add documentation to avoid using WiFi modem sleep for WiFi/BT coexistence
3. Remove description of unusable API esp_wifi_restart()
4. Update esp_now_fetch_peer discription
5. Update table format prblm for esp_wifi_set_max_tx_power()
6. Update description for ssid and password
2020-12-01 15:48:59 +08:00
zhangyanjiao
0a8abf6ffe esp_wifi:
1. Modify LR for esp32
2. Optimize some debug logs for probe response
3. Optimize phy and soc files
4. Fix the bug that no event for connect
5. Fix the bug that set_channel doesn't work for softAP
6. Add sta connect again ap sent disconnect event
7. Add set/get inactive time api
8. Fix connect hidden AP doesn't update information
9. Add rf test long short support
2020-11-23 15:08:40 +08:00
shenjun
16ccf29a74 esp_wifi_mesh: update wifi mesh libs
1. Fix FIX-ROOT does not reconnect to router when disconnect reason is too many
2. Add API esp_mesh_print_scan_result
3. Modify not to reset mesh_xonseq of self and children when flush_upstream_packets
4. Fix not arm parent monitor when a parent candidate is cleared without sending an event to mesh layer
5. Fix the new voted root does not reconnect to router if rssi is weak
2020-11-05 23:54:45 +08:00
Nachiket Kukade
b7ccfb921f esp_wifi: Update wifi lib
AP's with WPA2-PSK-SHA256 key management were incorrectly
categorized as Open. Update WiFi libs with the fix.
2020-11-02 12:03:17 +05:30
zhangyanjiao
55acc10303 esp_wifi: Fixed the bug for timestamp check, didn't disconnect AP when AP's timestamp decrease abnormally 2020-10-26 02:10:39 +00:00
Nachiket Kukade
0016d20946 esp_wifi: Update wifi lib
1. Add STA checks during STA PMF operations
2. Fix WPA2-Ent issue with Open AP
3. Skip WPA-TKIP profile if PMF is required
4. Skip & clear Supplicant PMK Cache for mismatching AP config
2020-10-10 10:10:11 +00:00
xiehang
a1fe8fa851 esp_wifi: drop receiving packets from myself 2020-09-23 14:34:31 +08:00
ChenJianxing
293c2d95f6 esp_wifi: update phy v4390(backport v4.0) 2020-09-17 16:08:50 +08:00
ChenJianxing
e59336337c esp_wifi: update esp32 phy v4370
fix sleep wakeup optimizaion do not cover 480M bbpll configuration,
which cause CPU working in 240M mode RX throughput is low.
2020-09-03 20:15:17 +08:00
Nachiket Kukade
4d8ba4b4de espnow/pmf: Implement ESPNOW + PMF Co-existance
H/W decryption of Mgmt frames was disabled for PMF and done through
S/W. If ESPNOW packets go through this path, it affects backward
compatibility since method of decrypting Mgmt packets is different in H/W.

To address PMF + ESPNOW Co-existance, CCMP decryption method is modified
for ESPNOW packets so that they can be decrypted correctly. Since Tx
of ESPNOW packets can still be done in H/W alongside PMF, no change
required in encryption method in S/W.

Co-Authored-By: Nachiket Kukade <nachiket.kukade@espressif.com>
Co-Authored-By: zhangyanjiao <zhangyanjiao@espressif.com>
Co-Authored-By: kapil.gupta <kapil.gupta@espressif.com>
2020-09-02 15:02:45 +05:30
Jiang Jiang Jian
5ec780d6b5 Merge branch 'bugfix/wifi_deinit_stop_crash_v4.0' into 'release/v4.0'
esp_wifi: fix the crash when wifi stop after deinit (v4.0)

See merge request espressif/esp-idf!10029
2020-08-27 11:48:30 +08:00
kapil.gupta
df52fb3942 esp_wifi: Fix null pointer dereferences in mgmt rx 2020-08-26 12:23:21 +05:30
zhangyanjiao
93aea71641 esp_wifi: fix the crash when wifi stop after deinit 2020-08-13 10:56:57 +08:00
dongyou
94f4a88c2d wifi, bt: move esp_phy_common_clock_disable into periph_ctrl and put it into IRAM
Replace periph_module_enable/disable by periph_wifi_bt_common_module_enable which are in IRAM.
AddIRAM_ATTR periph_ll_wifi_bt_module_enable_clk_clear_rstandIRAM_ATTR periph_ll_wifi_bt_module_disable_clk_set_rstto fit O0 optimization level.
Delete duplicated spinlock and counter.
2020-08-05 17:41:05 +08:00
xiehang
b1fa527f41 esp_wifi: Fix WiFi fragment issue 2020-07-31 21:42:19 +08:00
zhangyanjiao
8ae3c733db esp wifi bugfix:
1. Fix TX DMA buffer issue
2. API esp_wifi_get_config add acquisition sta.listen_interval
3. Configure bandwidth and phy mode to store NVS
4. If AP's tsf has been restarted, STA will disconnect from AP.
5. Do not reset softAP's tsf except it restart
6. fix the wifi regdomain update bug
7. fix the bug for airkiss find hidden AP fail
8. fix addba and first ampdu send bar
2020-07-08 17:27:15 +08:00
Nachiket Kukade
2c45d430da esp_wifi: Update wifi lib
1. Avoid parsing RSN/WPA IE's after connection
2. Remove AUTH_CHANGED reason code logic
2020-07-01 16:24:23 +05:30
Nachiket Kukade
18d7f27f6c esp_wifi: Update wifi lib
Fix WPA3 Auth timeout issue during BLE coex
2020-06-15 22:49:20 +08:00
kapil.gupta
0265c63e6c esp_wifi: Update wifi_lib pointer to correct branch
Correct wifi_lib pointer pointing to incorrect branch due to
auth_changed event MR.
2020-06-15 08:57:58 +05:30
kapil.gupta
d008eba708 esp_wifi: Remove auth_changed event and fix wpa2 authmode threshold
Added following as part of this change
1. Removed auth_changed event
2. Updated doc regarding usage of  WPA/WEP secuiry modes
3. Fixed WPA2 enterprise authmode threshold.
2020-06-07 10:55:02 +05:30
ronghulin
b571992626 feature: optimize some wifi API
1. optimization esp_wifi_set_max_tx_power description
2. Add API esp_wifi_ap_get_sta_aid
2020-06-01 11:07:49 +08:00
Nachiket Kukade
9e21c09a11 esp_wifi: Update wifi lib
Fix WPA3 Auth issue in coex scenario
2020-05-27 19:44:39 +05:30
zhangyanjiao
e430860df3 wifi changes:
1. fix the bug for softAP update second channel wrong
2. change wifi_scan_time_t from union to struct
3. query country code wrong when policy change from manual to auto
4. fix the timeout issue of EAPOL four-way handshake
5. fix the crash issue when fetch peer after delete the cur_peer
2020-05-20 18:13:07 +08:00
Nachiket Kukade
748720a466 esp_wifi: Update WiFi lib
Add and utilize WPA3/WPA2 Mixed mode Authtype
2020-05-15 14:58:07 +05:30
Nachiket Kukade
db5f01429f wpa_supplicant: Fix memory leaks in WPA3 connection
1. Buffers for SAE messages are not freed after the handshake.
   This causes memory leak, free buffers after SAE handshake.
2. SAE global data is not freed until the next WPA3 connection
   takes place, holding up heap space without reason. Free theis
   data after SAE handshake is complete or event fails.
3. Update wifi lib which includes memory leak fix during BIP
   encryption/decryption operations.
2020-05-13 20:45:34 +05:30
xiehang
0863de4a69 esp_wifi: Fix AP switch to adjacent channel without disconnect 2020-05-12 17:20:48 +08:00
Nachiket Kukade
4557c686b8 wpa_supplicant: Fix EAP Re-authentication issue
EAP reauth frames are dropped at various stages due to current
implementation of WPA2 ENT states and EAP SM init/deinit logic.
Route EAPOL frames based on EAP pkt type and maintain EAP SM
to facilitate EAP re-authentication process.
2020-05-06 10:21:45 +05:30
Nachiket Kukade
5e33a351f1 esp_wifi: Enable WPA3 & PMF by default 2020-05-06 10:21:41 +05:30
Nachiket Kukade
ab81940982 esp_wifi: Additional changes for WPA3 & PMF testcases
Added WPA3 Testcases support for -
1. Anti-Clogging Token Request support
2. Return correct status from SAE modules for invalid scenarios
3. Add PMK Caching support for WPA3

wifi lib includes fixes for below PMF Certification issues -
1. Check return status of decrypt operation. Fixes 5.3.3.1.
2. Allow PMF negotiation for WPA2-Enterprise. Fixes 5.3.3.2, 5.3.3.4.
3. Add NULL check on key before encrypting PMF, fixes crash.
2020-05-06 10:20:46 +05:30
Nachiket Kukade
d36663b798 wpa_supplicant: Support WPA3 4-way handshake, add config option
1. Add changes in 4-way handshake path to allow SAE key mgmt.
2. Support for configuring WAP3 at init time, added Kconfig option.
3. Handle and propagate error conditions properly.
2020-05-06 10:20:35 +05:30
Nachiket Kukade
6b76228fcb wpa_supplicant: Add SAE handshake support for WPA3-PSK
Under WPA3-Personal, SAE authentication is used to derive PMK
which is more secure and immune to offline dictionary attacks.
1. Add modules to generate SAE commit/confirm for the handshake
2. Add modules that build and parse SAE data in Auth frames
3. Add WPA3 association and key mgmt definitions
4. Invert y-bit while solving for ECC co-ordinate -
     Once an X co-ordinate is obtained, solving for Y co-ordinate
     using an elliptical curve equation results in 2 possible values,
     Y and (P - Y), where p is the prime number. The co-ordinates are
     used for deriving keys in SAE handshake. As par the 802.11 spec
     if LSB of X is same as LSB of Y then Y is chosen, (P - Y) otherwise.
     This is not what is implemented, so fix this behavior to obtain the
     correct Y co-ordinate.
2020-05-06 10:20:26 +05:30
Sagar Bijwe
8f5f828ad6 wpa_supplicant: Adding SAE modules with testcase
This change ports SAE(Simultaneous Authentication of Equals)
feature from wpa_supplicant and makes it work with mbedtls
crypto APIs. Currently only group 19 is supported. A sample
SAE handshake is included in the testcase. Other minor
changes for DH groups are also included.
2020-05-06 10:20:22 +05:30
Nachiket Kukade
5c5ae96be2 Add encryption/decryption support for PMF
1. Add CCMP, AES crypto modules for unicast protected Mgmt frames
2. Add support for computing SHA256 MIC on Bcast Mgmt frames
3. Add support for storing iGTK during 4-way handshake.
4. Provide APIs to MLME for utilizing the SW crypto modules
2020-05-06 10:20:16 +05:30
Nachiket Kukade
1b7f3fee5c Add support for PMF configuration and negotiation
1. Add APIs for configuring PMF through set config.
2. Map Supplicant and Wifi Cipher types.
3. Add support for PMF negotiation while generating RSN IE.
2020-05-06 10:20:11 +05:30