esphome / issues

Issue Tracker for ESPHome
https://esphome.io/
291 stars 34 forks source link

WiFi WPA Enterprise compile fails on framework arduino after update 2024.6.1 #5933

Closed gnsbglora closed 2 days ago

gnsbglora commented 2 weeks ago

The problem

After the update 2024.6.1 Wifi WPA Enterprise doesn't compile on framework arduino anymore. On framework esp-idf it's working. The parameter ttls_phase_2: mschapv2 is accepted on esp-idf only.

Which version of ESPHome has the issue?

2024.6.1

What type of installation are you using?

Home Assistant Add-on

Which version of Home Assistant has the issue?

2024.6.3

What platform are you using?

ESP32

Board

esp32dev

Component causing the issue

wifi wpa enterprise

Example YAML snippet

esp32:
  board: esp32dev
  framework:
    type: arduino

wifi:
  domain: .domain.net
  networks:
  - ssid: ssid
    eap:
      username: !secret wifi_username
      identity: !secret wifi_identity
      password: !secret wifi_eap_pwd
      #ttls_phase_2: mschapv2
  - ssid: ssid
    eap:
      identity: !secret wifi_identity
      certificate_authority: /ssl/cacert.pem

Anything in the logs that might be useful for us?

> INFO ESPHome 2024.6.1
> INFO Reading configuration /config/esphome/esp32-pool.yaml...
> WARNING GPIO2 is a strapping PIN and should only be used for I/O with care.
> Attaching external pullup/down resistors to strapping pins can cause unexpected failures.
> See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins
> INFO Generating C++ source...
> INFO Compiling app...
> Processing esp32-pool (board: esp32dev; framework: arduino; platform: platformio/espressif32@5.4.0)

> --------------------------------------------------------------------------------
> Removing unused dependencies...
> HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
>  - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5
> Dependency Graph
> |-- WiFi @ 2.0.0
> |-- ESPmDNS @ 2.0.0
> |-- Update @ 2.0.0
> |-- noise-c @ 0.1.4
> |-- Wire @ 2.0.0
> Compiling .pioenvs/esp32-pool/src/esphome/components/ads1115/ads1115.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/ads1115/sensor/ads1115_sensor.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/api_connection.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/api_frame_helper.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/api_pb2.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/api_pb2_service.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/api_server.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/list_entities.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/proto.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/subscribe_state.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/api/user_services.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/button/button.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/debug/debug_component.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/debug/debug_esp32.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/debug/debug_esp8266.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/debug/debug_host.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/debug/debug_libretiny.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/debug/debug_rp2040.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/esp32/core.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/esp32/gpio.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/esp32/preferences.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/esp32_hall/esp32_hall.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/esphome/ota/ota_esphome.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/gpio/switch/gpio_switch.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/homeassistant/text_sensor/homeassistant_text_sensor.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/i2c/i2c.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/i2c/i2c_bus_arduino.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/i2c/i2c_bus_esp_idf.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/internal_temperature/internal_temperature.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/addressable_light.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/automation.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/esp_color_correction.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/esp_hsv_color.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/esp_range_view.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/light_call.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/light_json_schema.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/light_output.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/light/light_state.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/logger/logger.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/logger/logger_esp32.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/logger/logger_esp8266.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/logger/logger_host.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/logger/logger_libretiny.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/logger/logger_rp2040.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/md5/md5.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/mdns/mdns_component.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/mdns/mdns_esp32.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/mdns/mdns_esp8266.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/mdns/mdns_host.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/mdns/mdns_libretiny.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/mdns/mdns_rp2040.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/ota/ota_backend.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/network/util.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/ota/ota_backend_arduino_libretiny.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/ota/ota_backend_arduino_rp2040.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/output/automation.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/output/float_output.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/restart/button/restart_button.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/safe_mode/safe_mode.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/sensor/automation.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/sensor/filter.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/sensor/sensor.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/sntp/sntp_component.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/socket/bsd_sockets_impl.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/socket/lwip_sockets_impl.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/socket/socket.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/status_led/light/status_led_light.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/switch/automation.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/switch/switch.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/template/text_sensor/template_text_sensor.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/text_sensor/filter.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/text_sensor/text_sensor.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/time/automation.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/time/real_time_clock.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/wifi/wifi_component.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/wifi/wifi_component_libretiny.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/components/wifi/wifi_component_pico_w.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/application.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/color.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/component.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/component_iterator.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/controller.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/entity_base.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/helpers.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/log.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/ring_buffer.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/scheduler.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/string_ref.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/time.cpp.o
> Compiling .pioenvs/esp32-pool/src/esphome/core/util.cpp.o
> Compiling .pioenvs/esp32-pool/src/main.cpp.o
> Building .pioenvs/esp32-pool/bootloader.bin
> Creating esp32 image...
> Successfully created esp32 image.
> Generating partitions .pioenvs/esp32-pool/partitions.bin
> Compiling .pioenvs/esp32-pool/lib64d/WiFi/WiFi.cpp.o
> Compiling .pioenvs/esp32-pool/lib64d/WiFi/WiFiAP.cpp.o
> Compiling .pioenvs/esp32-pool/lib64d/WiFi/WiFiClient.cpp.o
> src/main.cpp: In function 'void setup()':
> src/main.cpp:141:23: error: 'ESP_EAP_TTLS_PHASE2_MSCHAPV2' was not declared in this scope
>        .ttls_phase_2 = ESP_EAP_TTLS_PHASE2_MSCHAPV2,
>                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> Compiling .pioenvs/esp32-pool/lib64d/WiFi/WiFiGeneric.cpp.o
> src/main.cpp:142:3: error: 'esphome::wifi::EAPAuth' has no non-static data member named 'ttls_phase_2'
>    });
>    ^
> src/main.cpp:156:23: error: 'ESP_EAP_TTLS_PHASE2_MSCHAPV2' was not declared in this scope
>        .ttls_phase_2 = ESP_EAP_TTLS_PHASE2_MSCHAPV2,
>                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> src/main.cpp:157:3: error: 'esphome::wifi::EAPAuth' has no non-static data member named 'ttls_phase_2'
>    });
>    ^
> Compiling .pioenvs/esp32-pool/lib64d/WiFi/WiFiMulti.cpp.o
> *** [.pioenvs/esp32-pool/src/main.cpp.o] Error 1
> ========================== [FAILED] Took 8.94 seconds ==========================

Additional information

No response

Dark-Sarmat commented 2 weeks ago

I have exactly the same problem. I'm waiting for the fix

kc2zgu commented 1 week ago

I also ran into this; seems to be introduced in 2024.6.0. On a ESP32C3 XIAO board I could compile with esp-idf but then nothing would actually run. It appeared to just reboot every 10 seconds with some log messages being sent to the serial port. Had to roll back to 2024.5.5.

ziolelle commented 6 days ago

same here

nanctil commented 3 days ago

ditto

Pack3tL0ss commented 2 days ago

Same here, all eap-tls devices fail to compile now

jesserockz commented 2 days ago

Looks this was an oversight of https://github.com/esphome/esphome/pull/6436 that set the default to mschapv2 for all configs. Ill try put out a fix today

jesserockz commented 2 days ago
external_components:
  - source: github://pr#7033
    components: wifi

This above snippet should fix the issue for you until 2024.6.5 is released.