issues icon indicating copy to clipboard operation
issues copied to clipboard

SONOFF BASIC - Not stable above core 2.3.0 Will not connect to WiFi

Open user897943 opened this issue 2 years ago • 20 comments

The problem

This is a widespread issue, any version of core above 2.3.0 causes sonoff basic to stop working on many WiFi configs, for example notoriously on Ubiquiti APs.

See discussion: https://github.com/esphome/issues/issues/145

I understand the maintainer said huge pain to backport but come on, sonoff basic switches are extremely popular so this is not a niche use case.

Right now I am unable to get two sonoff basic switches to join my network so for the 8th time (yes!!!) I will have to dismantle, solder serial cable, and manually reset and flash. Extremely bad user experience.

Which version of ESPHome has the issue?

latest as of 10/24/2021

What type of installation are you using?

Docker

Which version of Home Assistant has the issue?

No response

What platform are you using?

ESP8266

Board

sonoff basic

Component causing the issue

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

user897943 avatar Oct 24 '21 14:10 user897943

Also see https://github.com/arendst/Tasmota/issues/5469#issuecomment-473045876

user897943 avatar Oct 24 '21 14:10 user897943

We can't be stuck on ancient framework versions, most importantly from a security perspective. There have been some CVEs for older frameworks in the past, and using those versions is just asking for trouble.

Note also this is particular to a specific hardware setup (specific esp chips and specific wlan routers needed)

This is a widespread issue, any version of core above 2.3.0 causes sonoff basic to stop working on many WiFi configs

Which ones have you tried exactly? I've heard there have been improvements in that area and maybe 3.0.2 has it fixed. https://github.com/esp8266/Arduino/releases/tag/3.0.2

OttoWinter avatar Oct 24 '21 17:10 OttoWinter

We can't be stuck on ancient framework versions, most importantly from a security perspective. There have been some CVEs for older frameworks in the past, and using those versions is just asking for trouble.

Note also this is particular to a specific hardware setup (specific esp chips and specific wlan routers needed)

This is a widespread issue, any version of core above 2.3.0 causes sonoff basic to stop working on many WiFi configs

Which ones have you tried exactly? I've heard there have been improvements in that area and maybe 3.0.2 has it fixed. https://github.com/esp8266/Arduino/releases/tag/3.0.2

I completely agree with you there. We shouldn't have to stay behind on versions. I am very very diligent on keeping everything in my network up to date. However this issue has been occurring on this end, can hardly blame Ubiquiti if the core was update and then the issue started!? Ubiquiti and Fritz routers are affected, mainly. In many areas where LibertyGlobal provide broadband the router is often FritzBox so this is probably not as niche as you think. Also, many home users who are into IoT use Ubiquiti, wasn't balloob actually hired by Ubiquiti for a while, because they wanted their equipment to have better interoperability with IoT? So honestly, this problem isn't on the router, it's here, we need to fix it... Sonoff Basic is also not a niche product, many people use it.

Right now all of my Sonoff Basic devices cannot be used.

What do you suggest me to put on the ESPhome config?

Sample config for one of my basic switchees (just the top part):

esphome:
  name: aquarium

esp8266:
  board: esp8285

user897943 avatar Oct 24 '21 18:10 user897943

I amended my config, framework version is now "latest", as below:

esp8266:
  board: sonoff_basic
  framework:
    version: latest

getting errors like these when compiling:

In file included from src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.h:5,
                 from src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp:1:
src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp: In member function 'virtual void esphome::gpio::GPIOBinarySensor::dump_config()':
src/esphome/components/binary_sensor/binary_sensor.h:13:3: warning: 'nonnull' argument 'this' compared to NULL [-Wnonnull-compare]
   13 |   if ((obj) != nullptr) { \
      |   ^~
src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp:15:3: note: in expansion of macro 'LOG_BINARY_SENSOR'
   15 |   LOG_BINARY_SENSOR("", "GPIO Binary Sensor", this);

Full build log:

INFO Reading configuration /config/Backyard String Lights.yaml...
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
WARNING The selected Arduino framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
INFO Generating C++ source...
INFO Compiling app...
Processing stringlights (board: sonoff_basic; framework: arduino; platform: platformio/espressif8266 @ 3.2.0)
--------------------------------------------------------------------------------
HARDWARE: ESP8266 80MHz, 80KB RAM, 1MB Flash
Dependency Graph
|-- <ESP8266WiFi> 1.0
|-- <ESP8266mDNS> 1.2
|   |-- <ESP8266WiFi> 1.0
|-- <noise-c> 0.1.4
|   |-- <libsodium> 1.10018.1
Compiling .pioenvs/stringlights/src/esphome/components/api/api_connection.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/api_frame_helper.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/api_pb2.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/api_pb2_service.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/api_server.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/list_entities.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/proto.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/subscribe_state.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/user_services.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/api/util.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/binary_sensor/automation.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/binary_sensor/binary_sensor.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/binary_sensor/filter.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/esp8266/core.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/esp8266/gpio.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/esp8266/preferences.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/gpio/output/gpio_binary_output.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/light/addressable_light.cpp.o
In file included from src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.h:5,
                 from src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp:1:
src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp: In member function 'virtual void esphome::gpio::GPIOBinarySensor::dump_config()':
src/esphome/components/binary_sensor/binary_sensor.h:13:3: warning: 'nonnull' argument 'this' compared to NULL [-Wnonnull-compare]
   13 |   if ((obj) != nullptr) { \
      |   ^~
src/esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp:15:3: note: in expansion of macro 'LOG_BINARY_SENSOR'
   15 |   LOG_BINARY_SENSOR("", "GPIO Binary Sensor", this);
      |   ^~~~~~~~~~~~~~~~~
Compiling .pioenvs/stringlights/src/esphome/components/light/automation.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/light/esp_color_correction.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/light/esp_hsv_color.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/light/esp_range_view.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/light/light_call.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/light/light_json_schema.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/light/light_output.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/light/light_state.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/logger/logger.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/md5/md5.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/mdns/mdns_component.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/mdns/mdns_esp32_arduino.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/mdns/mdns_esp8266.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/mdns/mdns_esp_idf.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/network/util.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/ota/ota_backend_arduino_esp32.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/ota/ota_backend_arduino_esp8266.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/ota/ota_backend_esp_idf.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/ota/ota_component.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/output/automation.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/output/float_output.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/sensor/automation.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/sensor/filter.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/sensor/sensor.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/socket/bsd_sockets_impl.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/socket/lwip_raw_tcp_impl.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/status_led/status_led.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/text_sensor/filter.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/text_sensor/text_sensor.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/uptime/uptime_sensor.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/version/version_text_sensor.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/wifi/wifi_component.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/wifi/wifi_component_esp32_arduino.cpp.o
In file included from src/esphome/components/uptime/uptime_sensor.h:4,
                 from src/esphome/components/uptime/uptime_sensor.cpp:1:
src/esphome/components/uptime/uptime_sensor.cpp: In member function 'virtual void esphome::uptime::UptimeSensor::dump_config()':
src/esphome/components/sensor/sensor.h:13:3: warning: 'nonnull' argument 'this' compared to NULL [-Wnonnull-compare]
   13 |   if ((obj) != nullptr) { \
      |   ^~
src/esphome/components/uptime/uptime_sensor.cpp:31:36: note: in expansion of macro 'LOG_SENSOR'
   31 | void UptimeSensor::dump_config() { LOG_SENSOR("", "Uptime Sensor", this); }
      |                                    ^~~~~~~~~~
Compiling .pioenvs/stringlights/src/esphome/components/wifi/wifi_component_esp8266.cpp.o
In file included from src/esphome/components/version/version_text_sensor.h:4,
                 from src/esphome/components/version/version_text_sensor.cpp:1:
src/esphome/components/version/version_text_sensor.cpp: In member function 'virtual void esphome::version::VersionTextSensor::dump_config()':
src/esphome/components/text_sensor/text_sensor.h:12:3: warning: 'nonnull' argument 'this' compared to NULL [-Wnonnull-compare]
   12 |   if ((obj) != nullptr) { \
      |   ^~
src/esphome/components/version/version_text_sensor.cpp:21:41: note: in expansion of macro 'LOG_TEXT_SENSOR'
   21 | void VersionTextSensor::dump_config() { LOG_TEXT_SENSOR("", "Version Text Sensor", this); }
      |                                         ^~~~~~~~~~~~~~~
Compiling .pioenvs/stringlights/src/esphome/components/wifi/wifi_component_esp_idf.cpp.o
Compiling .pioenvs/stringlights/src/esphome/components/wifi_signal/wifi_signal_sensor.cpp.o
Compiling .pioenvs/stringlights/src/esphome/core/application.cpp.o
Compiling .pioenvs/stringlights/src/esphome/core/color.cpp.o
In file included from src/esphome/components/wifi_signal/wifi_signal_sensor.h:5,
                 from src/esphome/components/wifi_signal/wifi_signal_sensor.cpp:1:
src/esphome/components/wifi_signal/wifi_signal_sensor.cpp: In member function 'virtual void esphome::wifi_signal::WiFiSignalSensor::dump_config()':
src/esphome/components/sensor/sensor.h:13:3: warning: 'nonnull' argument 'this' compared to NULL [-Wnonnull-compare]
   13 |   if ((obj) != nullptr) { \
      |   ^~
src/esphome/components/wifi_signal/wifi_signal_sensor.cpp:9:40: note: in expansion of macro 'LOG_SENSOR'
    9 | void WiFiSignalSensor::dump_config() { LOG_SENSOR("", "WiFi Signal", this); }
      |                                        ^~~~~~~~~~
Compiling .pioenvs/stringlights/src/esphome/core/component.cpp.o
Compiling .pioenvs/stringlights/src/esphome/core/controller.cpp.o
Compiling .pioenvs/stringlights/src/esphome/core/entity_base.cpp.o
Compiling .pioenvs/stringlights/src/esphome/core/helpers.cpp.o
Compiling .pioenvs/stringlights/src/esphome/core/log.cpp.o
Compiling .pioenvs/stringlights/src/esphome/core/scheduler.cpp.o
Compiling .pioenvs/stringlights/src/esphome/core/util.cpp.o
Compiling .pioenvs/stringlights/src/main.cpp.o
Generating LD script .pioenvs/stringlights/ld/local.eagle.app.v6.common.ld
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/BearSSLHelpers.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/CertStoreBearSSL.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/ESP8266WiFi.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/ESP8266WiFiAP.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/ESP8266WiFiGeneric.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/ESP8266WiFiGratuitous.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/ESP8266WiFiMulti.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/ESP8266WiFiSTA-WPS.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/ESP8266WiFiSTA.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/ESP8266WiFiScan.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/WiFiClient.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/WiFiClientSecureBearSSL.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/WiFiServer.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/WiFiServerSecureBearSSL.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/WiFiUdp.cpp.o
Compiling .pioenvs/stringlights/libfb1/ESP8266WiFi/enable_wifi_at_boot_time.cpp.o
Compiling .pioenvs/stringlights/libfb2/ESP8266mDNS/ESP8266mDNS.cpp.o
Compiling .pioenvs/stringlights/libfb2/ESP8266mDNS/LEAmDNS.cpp.o
Compiling .pioenvs/stringlights/libfb2/ESP8266mDNS/LEAmDNS_Control.cpp.o
Archiving .pioenvs/stringlights/libfb1/libESP8266WiFi.a
Compiling .pioenvs/stringlights/libfb2/ESP8266mDNS/LEAmDNS_Helpers.cpp.o
Compiling .pioenvs/stringlights/libfb2/ESP8266mDNS/LEAmDNS_Structs.cpp.o
Compiling .pioenvs/stringlights/libfb2/ESP8266mDNS/LEAmDNS_Transfer.cpp.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_aead/chacha20poly1305/sodium/aead_chacha20poly1305.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_core/ed25519/core_ed25519.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_core/ed25519/core_ristretto255.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_hash/crypto_hash.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_hash/sha256/cp/hash_sha256_cp.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_hash/sha256/hash_sha256.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_onetimeauth/crypto_onetimeauth.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_scalarmult/crypto_scalarmult.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_stream/chacha20/stream_chacha20.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_stream/crypto_stream.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/crypto_verify/sodium/verify.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/sodium/codecs.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/sodium/core.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/sodium/runtime.c.o
Compiling .pioenvs/stringlights/libfb8/libsodium/sodium/utils.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/openssl/cipher-aesgcm.c.o
Archiving .pioenvs/stringlights/libfb2/libESP8266mDNS.a
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/ref/cipher-aesgcm.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/ref/cipher-chachapoly.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/ref/dh-curve25519.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/ref/hash-blake2b.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/ref/hash-blake2s.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/ref/hash-sha256.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/sodium/cipher-aesgcm.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/sodium/cipher-chachapoly.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/sodium/dh-curve25519.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/sodium/hash-blake2b.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/backend/sodium/hash-sha256.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/aes/rijndael-alg-fst.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/blake2/blake2b.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/blake2/blake2s.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/chacha/chacha.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/donna/curve25519-donna-c64.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/donna/curve25519-donna.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/donna/poly1305-donna.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/sha2/sha256.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/sha2/sha512.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/crypto/x25519/x25519.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/cipherstate.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/dhstate.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/errors.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/handshakestate.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/hashstate.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/internal.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/names.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/patterns.c.o
Archiving .pioenvs/stringlights/libfb8/libsodium.a
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/rand_os.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/rand_sodium.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/randstate.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/signstate.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/symmetricstate.c.o
Compiling .pioenvs/stringlights/lib85b/noise-c/protocol/util.c.o
Archiving .pioenvs/stringlights/libFrameworkArduinoVariant.a
Compiling .pioenvs/stringlights/FrameworkArduino/Crypto.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/Esp-frag.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/Esp-version.cpp.o
Archiving .pioenvs/stringlights/lib85b/libnoise-c.a
Compiling .pioenvs/stringlights/FrameworkArduino/Esp.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/FS.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/FSnoop.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/IPAddress.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/LwipDhcpServer-NonOS.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/LwipDhcpServer.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/LwipIntf.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/LwipIntfCB.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/MD5Builder.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/Print.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/Schedule.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/StackThunk.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/Stream.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/StreamSend.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/Tone.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/TypeConversion.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/Updater.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/WMath.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/WString.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/abi.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/aes_unwrap.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/base64.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/cbuf.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/cont.S.o
Compiling .pioenvs/stringlights/FrameworkArduino/cont_util.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_app_entry_noextra4k.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_eboot_command.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_features.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_flash_quirks.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_flash_utils.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_i2s.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_main.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_non32xfer.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_noniso.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_phy.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_postmortem.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_si2c.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_sigma_delta.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_spi_utils.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_timer.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_vm.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_waveform_phase.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_waveform_pwm.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_wiring.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_wiring_analog.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_wiring_digital.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_wiring_pulse.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_wiring_pwm.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/core_esp8266_wiring_shift.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/crc32.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/debug.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/exc-c-wrapper-handler.S.o
Compiling .pioenvs/stringlights/FrameworkArduino/exc-sethandler.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/flash_hal.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/gdb_hooks.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/heap.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/hwdt_app_entry.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/libb64/cdecode.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/libb64/cencode.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/libc_replacements.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/mmu_iram.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/reboot_uart_dwnld.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/spiffs/spiffs_cache.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/spiffs/spiffs_check.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/spiffs/spiffs_gc.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/spiffs/spiffs_hydrogen.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/spiffs/spiffs_nucleus.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/spiffs_api.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/sqrt32.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/stdlib_noniso.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/time.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/uart.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/umm_malloc/umm_info.c.o
Compiling .pioenvs/stringlights/FrameworkArduino/umm_malloc/umm_integrity.c.o
Compiling .pioenvs/stringlights/FrameworkArduino/umm_malloc/umm_local.c.o
Compiling .pioenvs/stringlights/FrameworkArduino/umm_malloc/umm_malloc.cpp.o
Compiling .pioenvs/stringlights/FrameworkArduino/umm_malloc/umm_poison.c.o
Archiving .pioenvs/stringlights/libFrameworkArduino.a
Linking .pioenvs/stringlights/firmware.elf
RAM:   [====      ]  38.0% (used 31108 bytes from 81920 bytes)
Flash: [====      ]  38.0% (used 389429 bytes from 1023984 bytes)
Building .pioenvs/stringlights/firmware.bin

user897943 avatar Oct 24 '21 21:10 user897943

This Sonoff is actually connected. I will test further and see if it sticks. Using Ubiquiti UAP-AC-HD and UAP-NANO-HD, latest Network Application (formerly known as controller) version 6.5.45.

user897943 avatar Oct 24 '21 21:10 user897943

Restarted my whole network, the device setup as such has come back online immediately:

esp8266:
  board: sonoff_basic
  framework:
    version: latest

However the other device setup as such, continues to refuse to join the network:

esp8266:
  board: esp8285
  framework:
    version: recommended

This means the latest framework hopefully fixes the issue for Sonoff Basic but the compiling errors need looking into.

Ps. regarding the device that's not joining, it does not matter if I change the board_type to sonoff_basic, it refuses to join regardless.

user897943 avatar Oct 24 '21 21:10 user897943

I've updated from 1.20.4 to 2021.10.2 and my "Sonoff Basic" is unable to join the network now. My Wemos D1 Mini node is unstable and drops out once per day (and cannot re-join without removing the power for some seconds). Did the core change between 1.20.4 and 2021.10.2? Could somebody give me a hint how to compare the dependencies of both builds?

syssi avatar Oct 25 '21 06:10 syssi

I've updated from 1.20.4 to 2021.10.2 and my "Sonoff Basic" is unable to join the network now. My Wemos D1 Mini node is unstable and drops out once per day (and cannot re-join without removing the power for some seconds). Did the core change between 1.20.4 and 2021.10.2? Could somebody give me a hint how to compare the dependencies of both builds?

I documented in detail above a potential solution, did you try? Instead of using the recommended framework version, use "latest" in your build yaml. You'll have to amend it and test.

user897943 avatar Oct 25 '21 08:10 user897943

I've flashed both devices now using your suggestion:

esp8266:
  board: sonoff_basic # d1_mini
  framework:
    version: latest

The Sonoff Basic joins the WiFi network of the AVM Fritzbox again. OTA is working too.

syssi avatar Oct 25 '21 08:10 syssi

Glad to hear I'm not the only one who got it working with "latest". So this issue could be closed if @OttoWinter updated the code to use the latest version instead of "recommended" when it's a sonoff_basic board. Or make the recommended whatever the "latest" is as of today.

user897943 avatar Oct 25 '21 08:10 user897943

Great to hear, and thanks for testing.

There's already a PR open to change it here: https://github.com/esphome/esphome/pull/2606

But we'll need more testing to move it to recommended. The past has shown that while some regressions are fixed regarding connectivity, other regressions may come up. To move it to recommended we need to test it on many hardware configurations to check there are no serious regressions.

getting errors like these when compiling:

Those are just compilation warnings, and can safely be ignored. We'll just need to add compiler flags to have it ignore that type of error.

OttoWinter avatar Oct 25 '21 20:10 OttoWinter

The latest framework version did fix my wifi issue but the device is pretty unstable. It doesn't survive a whole day without reboot. The same applies to my Yeelights (ESP32 based devices) since 2021.10.2. So I assume it's another issue and shouldn't be discussed here. I will go back to 1.20.4 for now. This version is rock solid (uptimes > 120 days).

syssi avatar Oct 27 '21 06:10 syssi

I faced the same issue on sonoff basic. It was flashed previously on 18.2, but after flash to 2021.10 and soft reboot - it didn't come back to wi-fi on Unifi AC Pro.

Spirituss avatar Nov 09 '21 08:11 Spirituss

esp8266:
  board: sonoff_basic
  framework:
    version: latest

doesn't work anymore. My sonoff basic is unable to find networks now:

esp8266:
  board: sonoff_basic
  framework:
    version: latest

If I pick the dev version it's fine again.

syssi avatar Dec 29 '21 19:12 syssi

None of this seems to work for me, my sonoff mini just will not connect to my wifi with esphome.

cnf avatar Jan 09 '22 12:01 cnf

Then throw it away, it's defective. I had one like that. These things are flimsy, they can break.

On Sun, Jan 9, 2022, 12:35 PM Frank Rosquin @.***> wrote:

None of this seems to work for me, my sonoff mini just will not connect to my wifi with esphome.

— Reply to this email directly, view it on GitHub https://github.com/esphome/issues/issues/2625#issuecomment-1008289456, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABM6JFNGKO3OWQRAVUOUTLLUVF6H3ANCNFSM5GTQSEXA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

user897943 avatar Jan 09 '22 12:01 user897943

after update the wifi is not working in sonoff. the sama issue is in https://github.com/esphome/issues/issues/2912

arko36 avatar Jul 20 '22 16:07 arko36

Removing the status_led did improve the situation on my side oddly enough. In the meantime I've removed all (3) sonoff basics from my setup because of this strange behavior.

syssi avatar Jul 20 '22 17:07 syssi

Check the link I left, just short RX/TX !!

On Wed, Jul 20, 2022 at 7:21 PM Sebastian Muszynski < @.***> wrote:

Removing the status_led did improve the situation on my side oddly enough. In the meantime I've removed all (3) sonoff basics from my setup because of this strange behavior.

— Reply to this email directly, view it on GitHub https://github.com/esphome/issues/issues/2625#issuecomment-1190549011, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACRQHSAZPT2TTVGHHA4Q6C3VVAYQ7ANCNFSM5GTQSEXA . You are receiving this because you commented.Message ID: @.***>

arko36 avatar Oct 11 '22 08:10 arko36

[Possible solution] Fighting with this problem today at work. We have a network Ubiqiti access points 2.4/5g. My first Sonoff basis R1 works fine, but a new Sonoff R3 has its problems keeping connection to the wifi. So bad that it was impossible to gain access to the webinterface. Playing around, trying to make a ssid with only 2.4g etc. My final solution which seems to work at the moment is forcing a AP to only use 2.4g signal at "HT40". This has been stable for some hours now. So worth a try.

thomasvjohansen avatar Oct 13 '22 08:10 thomasvjohansen