Commit graph

208 commits

Author SHA1 Message Date
Jiang Jiang Jian 71ae2956cd Merge branch 'bugfix/phy_critical' into 'master'
Bugfix/phy critical

See merge request espressif/esp-idf!6890
2019-12-04 11:26:58 +08:00
Jack 134a627ad8 esp_wifi: fix WiFi scan and connect bugs when coexist with Bluetooth
1. Fix WiFi scan leads to poor performance of Bluetooth.
2. Improve WiFi connect success ratio when coexist with Bluetooth.
3. Check if WiFi is still connected when CSA or beacon timeout happen.
4. add coex pre init
2019-12-02 18:20:40 +08:00
Tian Hao bcce4e3052 fix bug that phy_enter_critical cannot effect on dual-core
Sometimes, libphy.a call phy_enter_critical() to protect accessing
critical sections, such like operating on I2C, but it may not effect
when both the CPU core call it. It may cause accessing I2C blocking
and cannot recover by esp_restart(), until do HW reboot.
2019-12-02 14:56:18 +08:00
Nachiket Kukade 460b1d6bb5 esp_wifi: Update wifi lib
Add fix to "Invalid MMIE" issue.
2019-11-29 14:47:36 +05:30
Jack 5d377e5b6e esp_wifi: update to include MD5 symbols 2019-11-27 23:08:57 +08:00
Ivan Grokhotkov 680c48f86f esp_wifi: remove MD5 related unit tests 2019-11-27 23:00:11 +08:00
Ivan Grokhotkov 568f0af61a esp_wifi: check header files MD5 on host 2019-11-27 23:00:11 +08:00
Nachiket Kukade 5618cf5100 wpa_supplicant: Fix MD5 mismatch in esp_wifi_driver.h
Make cosmetic changes in esp_wifi_driver.h in both IDF
and wifi library to match the md5sum.
2019-11-27 12:43:04 +00:00
Nachiket Kukade f2e37c4ca8 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.
4. Link changes from WiFi library.
2019-11-26 10:59:55 +05:30
Nachiket Kukade da07b2b4a7 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.
2019-11-26 04:24:57 +00:00
Sagar Bijwe aceb141d2b 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.
2019-11-26 04:24:57 +00:00
Nachiket Kukade 75ea0df916 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
5. Link PMF changes from WiFi library submodule
2019-11-25 04:11:09 +00:00
Nachiket Kukade 773e095a65 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.
2019-11-25 04:11:09 +00:00
Jiang Jiang Jian a9c1970c03 Merge branch 'bugfix/put_more_rx_code_to_iram' into 'master'
wifi: Put some rx code to iram

Closes WIFI-490 and WIFI-1041

See merge request espressif/esp-idf!6490
2019-11-15 10:58:22 +08:00
xiehang b7334b0366 esp_wifi: Turn off wifi iram optimization by default, when using both Bluetooth and psram 2019-11-14 15:20:53 +08:00
xiehang 5e7f43f3d1 esp_wifi: Put some rx code to iram 2019-11-13 11:44:23 +00:00
David Cermak f91d69efb2 esp_netif: rename DHCP flags for client and server 2019-11-13 12:36:26 +01:00
David Cermak 4857e92e2c esp_mesh: creation of wifi network interfaces for esp-mesh examples moved to used common esp_wifi_default API 2019-11-13 12:36:26 +01:00
David Cermak f839a1328c esp_netif: added locking for netif list management, unit tests to use unique if_keys, updated comments 2019-11-13 12:36:25 +01:00
David Cermak 20add7da60 esp_netif: extract wifi_netif module as an abstraction to wifi universal interface defined by if handle and callback 2019-11-13 12:36:25 +01:00
David Cermak 549ee87912 esp_netif: moving default netifs to wifi, moved sta_list to a separate header -- note will fail unit tests 2019-11-13 12:36:25 +01:00
David Cermak 3a19bf055d esp_netif and examples: using wifi driver handle, update examples and tests to pass the CI 2019-11-13 12:36:25 +01:00
David Cermak ba13275c6b esp_netif: update default DHCP IP addresses to be in line with old interface, added loopback implementation, explicit esp-netif init, sanity checks for parameters added 2019-11-13 12:36:25 +01:00
David Cermak b834c99148 examples: modify other examples and tests to use esp_netif instead of tcpip_adapter 2019-11-13 12:36:25 +01:00
David Cermak ffe043b1a8 esp_netif: Introduction of esp-netif component as a replacement of tcpip_adpter
- provides object oriented access to network intefaces
- not limited to default netifs
- more generic abstraction to network input output functions
- event handler registration removed from component responsibility
- backward compatibility layer for legacy tcpip_apapter APIs

Closes IDF-39
2019-11-13 12:36:25 +01:00
David Cermak ec9f245dd3 examples: removed ip4addr_ntoa and used prefered IP2STR for displaying IP addresses 2019-11-13 12:36:25 +01:00
zhangyanjiao bf37f8a03c 1. modify esp_wifi.h to support esp_netif feature
2. fix the bug for API_CHECK_ENABLE
2019-11-06 12:48:02 +00:00
liu zhifu c9dfdc0566 esp_wifi: fix TKIP/CCMP replay attack detection algorithm 2019-11-02 14:49:21 +00:00
liu zhifu b09624e89a esp_wifi: fix WiFi deinit memory leak 2019-10-30 10:12:15 +08:00
Xia Xiaotian 9afba2abf5 esp_wifi: merge esp32s2beta WiFi library to master branch 2019-10-29 19:41:33 +08:00
Xia Xiaotian 5ffb42b4dd esp_wifi: support esp32s2beta A, B and marlin3 chip 2019-10-28 18:58:05 +11:00
Angus Gratton 8675a818f9 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-22 13:51:49 +11:00
Xia Xiaotian dfdf04644f Support WiFi both on esp32 and esp32s2beta 2019-10-17 09:12:37 +11:00
Angus Gratton 496ede9bcd Merge branch 'master' into feature/esp32s2beta_merge 2019-10-15 14:59:27 +11:00
liu zhifu d56e7ec037 esp_wifi: modify WiFi buffer number type from uint8_t to uint16_t
Modify WiFi receiving buffer number type from uint8_t to uint16_t to support
configuring more than 255 buffers.
2019-10-14 21:30:45 +08:00
Jiang Jiang Jian b6a7b35b61 Merge branch 'bugfix/fix_sta_wpa2_enterprise_issue' into 'master'
esp_wifi: fix a station wpa2 enterprise issue

Closes WIFI-1042

See merge request espressif/esp-idf!6287
2019-10-14 21:27:05 +08:00
Hu Chao Ru fc018987eb add wifi init unit test cases 2019-10-11 13:00:57 +08:00
liu zhifu 0e3cdce8f7 esp_wifi: fix the bug that wpa2 enterprise sta can connect open AP 2019-10-11 09:39:35 +08:00
chenyudong c6129b81f2 ci: fix ci issues of wifi lib
sync esp_wifi.h to wifi lib
2019-10-09 15:07:19 +08:00
Ivan Grokhotkov 5768102d4e esp_wifi: fix typo in comments (ESP_ERR_WIFI_NOT_STARTED) 2019-10-07 16:48:32 +02:00
Ivan Grokhotkov 5830f529d8 Merge branch 'master' into feature/esp32s2beta_merge 2019-10-02 19:01:39 +02:00
Xia Xiaotian 63019689d6 Coexist: fix some coexist bugs
1. Fix high beacon and broadcast packets loss ratio of WiFi to make
   MDNS test pass.
2. Improve stability of WiFi performance with a little
   sacrifice of throughput.
3. Improve BLE advertising and connection performance with dynamic
   priority. It sacrifices a little WiFi throughput, but achieves balance
   between WiFi and Bluetooth.
2019-09-30 11:49:16 +08:00
zhangyanjiao 53d57dd736 esp_wifi:
1. Fixed smartconfig ipc crash
2. Fix the WiFi init sequence bug
3. Fixed the bug that WiFi stop leads to task watchdog
2019-09-29 10:44:49 +08:00
xiehang 6fde73cdc4 esp_wifi: Put g_promis_buf to IRAM 2019-09-26 02:26:10 +00:00
Roland Dobai 833822c10b Fix Kconfig issues discovered by upstream Kconfiglib 2019-09-23 16:10:57 +02:00
Jiang Jiang Jian a469c179f8 Merge branch 'bugfix/fix_the_for_smartconfig_send_broadcast_to_phone' into 'master'
fix the bug that ESP32 sends broadcast to phone after smartconfig is done

Closes WIFI-1115

See merge request espressif/esp-idf!6071
2019-09-20 14:01:59 +08:00
Angus Gratton adfc06a530 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-20 10:28:37 +10:00
xiehang e1496449b1 esp_wifi: Update wifi lib 2019-09-18 10:16:35 +10:00
Angus Gratton 438d513a95 Merge branch 'master' into feature/esp32s2beta_merge 2019-09-16 16:18:48 +10:00
Jack b0c893a20c Wi-Fi: remove wifi_fast_scan_threshold_t which is not suitable in name 2019-09-13 09:44:07 +10:00
Angus Gratton ba54a552c1 esp_wifi: Remove WIFI_PS_MODEM constant
Deprecated in ESP-IDF V3.1
2019-09-13 09:44:07 +10:00
Angus Gratton d63181b5e9 esp_wifi: Remove deprecated auto connect API
Deprecated in ESP-IDF V3.1
2019-09-13 09:44:07 +10:00
Angus Gratton bdeaf138c4 esp32/esp_common: Remove deprecated system_* APIs
Mostly deprecated before ESP-IDF V1.0 & V2.0
2019-09-13 09:44:07 +10:00
zhangyanjiao d885df946a fix the bug that ESP32 sends broadcast to phone after smartconfig done 2019-09-11 10:42:16 +08:00
zhangyanjiao 45c72dd372 fix the bug that STA fails to connect WPA_WPA2_PSK Apple AP 2019-09-05 20:20:42 +08:00
Xia Xiaotian f9aaaa6c3a esp_wifi: synchronize WiFi header file with WiFi library 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng) eb158e9a22 ci: disable UTs for esp32s2beta without runners 2019-09-04 10:53:25 +10:00
Michael (XIAO Xufeng) 9baa7826be fix unit test and examples for s2beta 2019-09-04 10:53:25 +10:00
Tian Hao 3af18c0422 fix some coex bugs
1. fix the bug that bb reset lock unhandled may cause assert in vPortCPUReleaseMutexIntsDisabledInternal
2. fix wifi mac reset may blocking then cause wdt timeout
3. fix bug wifi mac reset before coex init
2019-08-30 22:06:29 +08:00
suda-morris a36cc962a3 smartconfig: move smartconfig_ack to esp_wifi conponent 2019-08-29 10:39:30 +08:00
zhangyanjiao ff96965a91 wifi: fix the bug for softAP set authmode 2019-08-23 14:37:08 +08:00
Xia Xiaotian 80f1c13fd7 esp_wifi: update WiFi library to support esp32s2beta 2019-08-21 10:45:07 +10:00
liu zhifu 003a9872b7 esp_wifi: wifi support new event mechanism
1. WiFi support new event mechanism
2. Update examples to use new event mechanism
2019-08-20 09:39:51 +00:00
Angus Gratton 0a0bb09585 Merge 'master' into feature/esp32s2beta_update 2019-08-20 13:55:23 +10:00
Nachiket Kukade 9ec363a25d wpa_supplicant: Make internally used crypto headers private
A lot of internally used crypto headers are publicly includeable
in user projects. This leads to bug reports when these headers
are incorrectly used or the API's are not used as intended.

Move all crypto headers into private crypto src folder, also move
crypto_ops into Supplicant to remove dependecy on crypto headers.

Closes IDF-476
2019-08-17 11:48:37 +00:00
Xia Xiaotian bcff8afbba esp_wifi: update esp32s2beta WiFi library 2019-08-13 17:14:16 +10:00
Angus Gratton 2f56116db2 Cleanup of previous merge commit 2019-08-12 16:57:40 +10:00
Sagar Bijwe b1f657fc65 wifi: Avoid recalculating PMK when esp_wifi_set_config is not called
Scenarios where this fix is applicable.
1) Every time the system is powered-on/restarted without calling
   esp_wifi_set_config.
2) esp_wifi_init()/connect()/stop()/deinit() is called multiple
   times without esp_wifi_set_config.

Closes IDFGH-1520
2019-08-09 16:28:33 +05:30
Angus Gratton 04ae56806c Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 15:26:58 +10:00
Angus Gratton 24d26fccde Merge branch 'master' into feature/esp32s2beta_update 2019-08-08 13:44:24 +10:00
Jiang Jiang Jian 2d36e42b5f Merge branch 'bugfix/fix_wifi_bugs_for_authmode_and_multi_ssid' into 'master'
wifi: fix wifi bugs for authmode and multi ssid

Closes WIFI-558, WIFI-560, WIFI-449, WIFI-567, and WIFI-597

See merge request espressif/esp-idf!5387
2019-08-05 21:18:27 +08:00
Angus Gratton b23718995a Merge branch 'bugfix/strict_prototypes' into 'master'
Enable strict prototypes checks

Closes IDFGH-757

See merge request espressif/esp-idf!4546
2019-08-05 09:38:39 +08:00
zhangyanjiao 9f9d876799 wifi: fix wifi bugs for authmode and multi ssid 2019-08-02 10:22:20 +08:00
zhangyanjiao 017a60a69d fix the wrong comment in esp_wifi_types.h 2019-08-01 12:24:08 +00:00
Anton Maklakov afbaf74007 tools: Mass fixing of empty prototypes (for -Wstrict-prototypes) 2019-08-01 16:28:56 +07:00
zhangyanjiao 62bb107b31 docs: fix the bug in wifi doc 2019-07-29 14:55:17 +08:00
Jiang Jiang Jian b0456cc926 Merge branch 'bugfix/mesh_scan_done_crash' into 'master'
Bugfix: mesh scan done crash caused by uint8_t overflow

See merge request espressif/esp-idf!5590
2019-07-25 18:01:47 +08:00
xiehang dd26caf779 esp_wifi: ESP32_WIFI_RX_BA_WIN should be less than ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM 2019-07-24 18:03:33 +08:00
chenyudong a7ddb03274 mesh: fix scan done crash caused by uint8_t overflow 2019-07-24 15:54:50 +08:00
chenyudong 18df3dd5ed test: move wifi library check to esp32-wifi-lib ci 2019-07-19 13:12:57 +08:00
liu zhifu f3f08fa713 esp_wifi/supplicant: fix some supplicant bugs
Closes IDFGH-1455
Closes IDF-774
2019-07-18 17:36:19 +08:00
zhangyanjiao 69504bd9c5 phy change for WiFi scan BLE scan watchdog 2019-07-18 11:00:18 +08:00
chenyudong 4dd75184e4 mesh: fix esp_mesh_stop not return 2019-07-17 11:02:21 +08:00
liu zhifu 45dd6175cd esp_wifi: optimize wifi rx 2019-07-16 17:59:04 +08:00
liu zhifu b7d6aa74dd esp_wifi: fix WiFi stop bug
Fix the bug that WiFi stop causes esp_wifi_internal_reg_rxcb() fails.
2019-07-16 14:09:47 +08:00
liu zhifu 034440b85d esp_wifi: fix smartconfig crash when no AP is found
Fix the bug that smartconfig crashes when no AP is found during smartconfig scan.
2019-07-15 12:44:03 +08:00
xiehang 8f2d13d9db WiFi: Modify the wifi_country struct in VNC to keep it consistent with IDF.
1, Modfy wifi_country struct
    2, Add md5 check esp_wifi_types.h
    3, Add md5 check esp_wifi.h
2019-07-14 15:10:11 +08:00
zhangyanjiao d1bf08d4ad coexist: fix the watchdog bug during WiFi scan and BLE scan 2019-07-12 20:23:59 +08:00
Nachiket Kukade 900df44546 wpa_supplicant: Cleanup fast_xxx modules that use duplicate code
wpa_supplicant is using MbedTLS API's for crypto algorithms. For
calling them a duplicate set of modules is maintained prepended
with 'fast_'. Remove these and use flag USE_MBEDTLS_CRYPTO
instead to separate modules calling MbedTLS API's from native
implementation.
2019-07-10 14:53:20 +05:30
Michael (XIAO Xufeng) 25ab8380c8 ci: support to build esp32s2beta simple examples 2019-07-08 09:16:06 +08:00
qiyuexia a272e7204d mesh: use new event library 2019-07-05 21:14:30 +08:00
qiyuexia c516819ba6 mesh: bugfix
1. resend eb which are pending in g_ic.tx_buf due to channel switch.
2. add lock for mgmg/xon/bcast to protect send from user flush.
3. softap: add check if secondary offset is correct when start softap.
4. softap: in inactive timer handler, add check if child bss is removed to avoid removing it again.
5. disable A-MPDU for non-root.
6. fix reusing a freed eb.
7. fix when node becomes root, it does not record assoc value to nvs.
8. discard unnecessary forwarded group packets.
9. fix toDS state is not updated in time.
10. fix s_sta_cnx_times is not cleared when deinit causes root sends ADD annoucement.
11. root: increase beacon timeout time from 6 seconds to 15 seconds to delay initiation of reconnection.
12. add esp_mesh_get_tsf_time to return TSF time.
13. send the whole routing table multi-times.
14. clear candidate settings if not receive candidate beacon within 8 seconds.
2019-07-05 13:17:43 +08:00
XiaXiaotian 29d1d2bd38 esp_wifi: refactor smartconfig callback to use esp event 2019-07-04 18:00:04 +08:00
Deng Xin c139683024 supplicant/esp_wifi: move supplicant to idf
Move supplicant to idf and do following refactoring:
1. Make the folder structure consitent with supplicant upstream
2. Remove duplicated header files and minimize the public header files
3. Refactor for WiFi/supplicant interfaces
2019-06-29 22:46:52 +08:00
Angus Gratton 265d7dc4e5 Merge branch 'bugfix/fix_secure_boot_support' into 'master'
Fixes to secure boot support in CMake

See merge request idf/esp-idf!4977
2019-06-28 15:38:59 +08:00
Xia Xiaotian 99ef587a05 run WiFi on ESP32SBETA 2019-06-28 11:34:49 +08:00
Renz Christian Bagaporo 179259f195 components: restore dependency of extra bins on flash target 2019-06-28 10:50:52 +08:00
liu zhifu 5d855fcdef esp_wifi: add limitation for setting maximum WiFi TX power
Limit the WiFi TX power range to 10dBm ~ 20.5 dBm
2019-06-27 17:28:59 +08:00
Renz Christian Bagaporo 9b350f9ecc cmake: some formatting fixes
Do not include bootloader in flash target when secure boot is enabled.
Emit signing warning on all cases where signed apps are enabled (secure
boot and signed images)
Follow convention of capital letters for SECURE_BOOT_SIGNING_KEY
variable, since it is
relevant to other components, not just bootloader.
Pass signing key and verification key via config, not requiring
bootloader to know parent app dir.
Misc. variables name corrections
2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo 6771eead80 examples: use new component registration api 2019-06-21 19:53:29 +08:00