1. 26 4月, 2022 1 次提交
  2. 15 3月, 2022 1 次提交
    • J
      Added another overloaded WiFiSTAClass::begin() function that provides… (#6398) · d977359e
      John P. Swensen 提交于
      Summary
      
      The examples demonstrate how to create a WPA2 Enterprise connection, but it requires using various direct esp_idf functions. This patch is intended to create another overloaded version of the WiFi.begin() function that allows a user to create a WPA2 Enterprise connection in much the same way as different kinds of connections.
      
      My only question for the core maintainers is whether I should leave those #ifdef's in there. I added them so that it was easy to disable all the code I added via defines from my platformio.ini file, but they technically aren't necessary.
      
      Impact
      
      This should make it easier for novice users to create WPA2 Enterprise connections. For my university, I didn't need a root certificate or the client certificate or client key, so I haven't been able to debug those scenarios, but I built the begin functions to allow any one of those to be used, if needed.
      
      I can confirm that eduroam-style WPA2 Enterprise networks that only require authentication with a username and password works as expected.
      d977359e
  3. 02 3月, 2022 3 次提交
  4. 28 2月, 2022 1 次提交
  5. 16 2月, 2022 2 次提交
  6. 04 2月, 2022 1 次提交
  7. 17 1月, 2022 1 次提交
    • S
      Proposed fix for #2501 (#6113) · 41d97256
      Shawn A 提交于
      Reliability fix for autoReconnect when assoc_fail, autoReconnect did not work before for these failures.
      
      Changes behavior of WIFI_REASON_ASSOC_FAIL event when autoReconnect is set, removes WIFI_REASON_ASSOC_FAIL/WL_CONNECT_FAILED so retry waitforconnectresult loop stays active for the retry, was not working before.
      41d97256
  8. 20 12月, 2021 1 次提交
  9. 15 12月, 2021 1 次提交
  10. 14 12月, 2021 1 次提交
    • O
      Use WIFI_FAST_SCAN if a specific channel was used (#5975) · f5b04b91
      obaterspok 提交于
      1.0.6 changed scanning method to always scan all available channels during connect. This results in results in connect taking about ~3 seconds instead of ~1. This patch changes the behavior to use WIFI_FAST_SCAN if client used a specific channel.
      f5b04b91
  11. 04 11月, 2021 2 次提交
    • B
      Solving *"wifi:channel=0 is invalid"* when using FTM example code (#5809) · 4b9dc614
      Benjamin Staar 提交于
      When using the FTM examples I got an error in the FTM_Initiator.ino:
      
      *"wifi:channel=0 is invalid"*
      
      I solved it for myself by simply passing the channel argument to be 1 in *WiFi.initiateFTM*. However, a better fix would be to directly change the default channel here.
      4b9dc614
    • P
      [Examples] WiFi and Ethernet examples organization (#5830) · a2d7c0dc
      Pedro Minatel 提交于
      * examples: WiFi and Ethernet examples organization
      
      * examples: Change on CI scripts to include new folder
      
      * Library name reverted to WiFi
      
      * examples: WiFi and Ethernet examples organization in a new folder
      
      * examples: Eth files moved from WiFi to Ethernet lib and CMakeLists updated
      a2d7c0dc
  12. 23 10月, 2021 1 次提交
  13. 22 10月, 2021 1 次提交
    • R
      Allows spiram malloc with wifi dynamic buffers - better free heap (#5791) · 67c99142
      Rodrigo Garcia 提交于
      Summary
      
      Modifies WiFi lib to allow dynamic buffer allocation along with SPIRAM MALLOC enabled
      This gives more heap space to the users
      
      Related PR in Arduino Lib Builder: espressif/esp32-arduino-lib-builder#47
      
      Impact
      
      WiFi will work the same as it was in version 1.0.6, restoring free heap.
      
      close #5630
      close #5474
      close #5699
      close #5697
      67c99142
  14. 01 10月, 2021 1 次提交
    • L
      only use ksz8081 for idf versions later than 4.3 (this fixes compile as... · e4acfbc5
      liebman 提交于
      only use ksz8081 for idf versions later than 4.3 (this fixes compile as component for idf 4.3) (#5599)
      
      esp_eth_phy_new_ksz8081 was added in IDF after version 4.3 and generates a compilation error with IDF-4.3. This change will only use esp_eth_phy_new_ksz8081 for IDF versions after 4.3
      e4acfbc5
  15. 23 8月, 2021 1 次提交
    • T
      Fix issue #5507 "Constructor WebServer::WebServer(IPAddress addr, int… (#5509) · 29455a04
      Tim 提交于
      * Fix issue #5507 "Constructor WebServer::WebServer(IPAddress addr, int port) produces an unexpected result"
      
      "The class Webserver is declared with two explicit constructors, one with signature:
      WebServer::WebServer(IPAddress addr, int port)
      Using this results in a server listening on the port number obtained by converting the value of the IPAddress addr argument (in host byte order) to a uint32_t and then to a uint16_t, which is manifestly not the result that would be expected.
      ...
      As for a fix, we can assume from these results that this constructor is not being used and therefore could simply be deleted."
      
      * Issue 5507
      Reverse changes in commit bee1e7088cef913391155f096b42cd4bb89c5c6f after discussion.
      Alternative fix to be done.
      
      * Fix issue #5507 "Constructor WebServer::WebServer(IPAddress addr, int port) produces an unexpected result"
      
      This change adds support for multi-homed servers to libraries/WiFi.  It was assumed to be there already by libraries/WebServer, but was not.
      This led to unexpected results when the IP address-specific constructor of class WebServer was used (see issue 5507).
      
      This change was tested using three concurrent instances of WebServer, one bound to the WiFi station address, one bound to the WiFi soft AP address,
      and one bound to INADDR_ANY.  See libraries/WebServer/examples/MultiHomedServers for the test method.
      
      * Fix issue #5507 "Constructor WebServer::WebServer(IPAddress addr, int port) produces an unexpected result" (cont.)
      This fixes what I think might be the cause of CI failures on GitHub for the previous commit, namely the absence of an include file
      in examples/MultiHomedServers.
      
      * Fix issue #5507 "Constructor WebServer::WebServer(IPAddress addr, int port) produces an unexpected result" (cont.)
      
      Change port numbers in examples/MultiHomedServers per pull-request comment from me-no-dev ...
      "for this test to be valid, both servers should be on the same port. That is how you can make sure that the functionality works."
      29455a04
  16. 11 8月, 2021 1 次提交
  17. 02 8月, 2021 2 次提交
    • K
      [WiFiClient] Default connection timeout, when no timeout provided (#5487) · be84c821
      Krzysiek S 提交于
      ## The problem
      WiFiClient's connect method variant where no timeout is passed can block esp32 MCU and may then cause watchdog to kick in and reset the device. This behavior is different from that, what is in arduino-esp8266 core.
      
      ## Summary
      Some cross-esp libraries (working both on esp32 and 8266), like PubSubClient simply call connect method on WiFiClient, to get connected to remote server. However, connect behavior varies betwen esp arduino 8266 and esp arduino 32 cores. This pull request tries introduce same behavior - to make connect method non-blocking on esp32, like it is with 8266 arduino core.
      
      ## Proposed solution
      Introduce default fixed timeout that can be changed by #define - by default set to 3 seconds.
      
      ### Affected components: 
      WiFiClient
      
      ### Affected methods:
      ```c++ 
      int connect(IPAddress ip, uint16_t port);
      int connect(const char *host, uint16_t port);
      ```
      
      ### Impact
      May impact projects or libraries using connect method variant without specified timeout, where:
      - remote is located far away or
      - connection is heavily limited, or
      - remote is slow, when it comes to accept the connection
      be84c821
    • M
      4365a454
  18. 17 7月, 2021 2 次提交
    • M
      IDF master d93887f9f (#5336) · 16f4b0f5
      Me No Dev 提交于
      * Update toolchain
      
      * Update package_esp32_index.template.json
      
      * add optional component dependencies after Kconfig options are known (#5404)
      
      Until this commit, Kconfig options (e.g. CONFIG_TINYUSB_ENABLED) were
      used in conditions preceding idf_component_register to determine which
      components need to be added to `arduino` component requirements.
      However the Kconfig options aren't known at the early expansion stage,
      when the component CMakeLists.txt files are expanded the first time
      and requirements are evaluated. So all the conditions evaluated as if
      the options were not set.
      This commit changes the logic to only add these components as
      dependencies when the Kconfig options are known. Dependencies become
      "weak", which means that if one of the components isn't included into
      the build for some reason, it is not added as a dependency.
      This may happen, for example, if the component is not present in the
      `components` directory or is excluded by setting `COMPONENTS` variable
      in the project CMakeLists.txt file.
      This also ensures that if the component is not present, it will not be
      added as a dependency, and this will allow the build to proceed.
      
      Follow-up to https://github.com/espressif/arduino-esp32/pull/5391.
      Closes https://github.com/espressif/arduino-esp32/issues/5319.
      
      * IDF master d93887f9f
      
      * PlatformIO updates for CI (#5387)
      
      * Update PlatformIO CI build script
      
      - Switch to the latest toolchains 8.4.0 for ESP32, ESP32S2, ESP32C3
      - Use PlatformIO from master branch for better robustness
      
      * Update package.json for PlatformIO
      Co-authored-by: NIvan Grokhotkov <ivan@espressif.com>
      Co-authored-by: NValerii Koval <valeros@users.noreply.github.com>
      16f4b0f5
    • R
      Remove undocumented and uncontrollable WiFI RSSI filter. (#5393) · 780588dc
      rtrbt 提交于
      Commit d15e1b0e [1] in the 2.0.0 pull request #4996 introduced a filter
      to connect only to WiFi networks with a RSSI of -75 or better. This
      results in strage behaviour, as a scan still shows networks, that can't
      be connected to, even though with older versions, connecting to those
      networks was possible and the connection (albeit slow) was stable.
      
      Remove the RSSI filter for now by setting the threshold to -127, i.e.
      the lowest possible value. Maybe in the future the filter threshold
      could be exposed to users, to allow filtering out nearly unreachable
      networks.
      
      [1] github.com/espressif/arduino-esp32/pull/4996/commits/d15e1b0e
      780588dc
  19. 16 7月, 2021 1 次提交
  20. 17 6月, 2021 2 次提交
  21. 10 6月, 2021 3 次提交
  22. 09 6月, 2021 1 次提交
    • P
      Fix crash in WiFiClient when read() called after stop() (#5197) · cb7aef1e
      Paolo Messina 提交于
      Thi may happen if read() gets called repeatedly (such as in HttpClient to parse response headers) and the connection is closed unexpectedly or the remote peer may have unexpected behavior that causes the underlying socket to report an error. In that case read() itself calls stop(), which invalidates the receive buffer object. Then when read() is called again without checking, such as inside readStringUntil(), the _rxBuffer is null and ESP32 crashes.
      cb7aef1e
  23. 18 5月, 2021 1 次提交
  24. 15 4月, 2021 1 次提交
    • R
      Add KSZ8081 support. (#5061) · e6ba8c7a
      rtrbt 提交于
      This adds support for the KSZ8081 ethernet phy.
      Only the IDF 4+ specific code is modified, as the phy support was only
      added recently:
      espressif/esp-idf@aecfbf96
      e6ba8c7a
  25. 14 4月, 2021 1 次提交
  26. 05 4月, 2021 1 次提交
  27. 23 3月, 2021 1 次提交
  28. 18 3月, 2021 1 次提交
  29. 15 3月, 2021 2 次提交
    • J
      added scan_method = WIFI_ALL_CHANNEL_SCAN into wifi config in WiFi.begin() to... · 3253de87
      Jiri Drozd 提交于
      added scan_method = WIFI_ALL_CHANNEL_SCAN into wifi config in WiFi.begin() to let the scan choose the nearest / strongest AP in case that there are multiple APs with the same SSID (#4947)
      
      In case you have multiple APs with the same SSID/password and WiFi.begin(ssid, pwd) is called, ESP32 defaults to connect to THE FIRST AP FOUND matching ssid - according to:
      https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/network/esp_wifi.html#_CPPv418wifi_scan_method_t
      
      This can cause situations that ESP32 is trying to connect to AP which is far away from it (weak signal) even there is AP close to it, just as in my house - I have AP on channel 6 which is in the 1st floor (quite far from room where I do the programming) and AP on channel 13 in the same room I do the programming (which is in the 2nd floor) - result: ESP32 is trying to connect to the AP on channel 6 because it finds it first and never try the AP on channel 13 in the same room, result of this is very unreliable WiFi connection.
      
      When scan_method is set to WIFI_ALL_CHANNEL_SCAN, ESP32 scans all channels and choose the nearest / strongest AP (matching the ssid of course) as expected - result is no connection problems at all.
      
      Therefore I propose adding this parameter into WiFi.begin, connection problems as described above are quite confusing (especially for beginners), I can imagine that for example Schools there are usually using mutliple APs and this can cause intermittent connection problems without obvious reason.
      3253de87
    • H
      adds esp8266-style hostname setting (#4938) · 35643bdd
      Holger Lembke 提交于
      a little step to make esp8266 code compile without changes under esp32
      35643bdd
  30. 10 3月, 2021 1 次提交