-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WiFi reliability testing with Ubiquity APs #5469
Comments
Hi, Arduino core issues are outside the control of Tasmota. Searching in issues, other users with ubiquity have solved the unstable wifi using core 2.3.0. Please, try the precompiled bin with core 2.3.0 http://thehackbox.org/tasmota/020300/sonoff.bin The guys from arduino are migrating the sdk. Some other Tasmota users also have solved wifi issues using the stage core. For compiling with latest version of the stage core you have compile by youself. |
@ascillato I'm not expecting Tasmota to solve potential bugs in Arduino core, but I think the default settings with default binary should have working settings. As you can see from my test above:
|
Yes, that is explained in the wiki in troubleshooting. In some brands of routers core 2.4.2 and 2.5.0 have wifi issues, and core 2.3.0 have wifi issues with other brands of routers. So, we can't offer one version that works for everyone. That is why we offer Tasmota precompiled with the 3 available cores. In the troubleshooting article of the core we put also that sleep 0 in core 2.4.2 may solve this wifi issues. But, sleep 0 can render some sonoff basic of a known bad batch without wifi. So, for example Ubiquity and Fritzbox works better with core 2.3.0 and some mesh with latest stage. Tplink and mikrotik work fine with core 2.4.2 |
OK, but could Sonoff try to be a bit intelligent about the sleep setting, e.g. toggle the sleep setting if there are reconnects? Also, if the reason for making sleep default is a bad batch of Sonoff Basic, wouldn't it make sense to enable sleep by default only for Sonoff Basic? Edit: |
I totally understand you and your issue. But there isn't a core stable for everyone. What works in your case don't work for example in mine. Sleep 0 don't solve wifi issues for TP Link. |
The solution we have is offering the same last version of Tasmota compiled under the 3 cores so you can test which one works better for you |
@emontnemery |
@ascillato ah, so with the tplink APs you refer to it doesn't matter what sleep setting is used? I can do some tests with staging core and core 2.3.0 if you're interested in the statistics, if not interesting this issue can be closed. @DavinKD ? |
Yes, we are interested 👍 That is super useful. The actual stage core (with the new toolchain) works better than 2.5.0 but you have to copy all files and download the full toolchain as they explain in the core readme. You need to delete all files before copying because if you left some older files, it will not compile. We think that the next core (may be 2.5.1) will be much more stable due all the changes the arduino guys are doing. They are working really hard on that. In that case, we might have just one core for everyone. But for now, we have 3. From the statistics of the downloads, about the 5% of Tasmota users have issues with 2.4.2 and they move to core 2.3.0 or to core 2.5.0 in order to solve their wifi/mqtt issues. |
As a this wifi and mqtt reconnections issue is known by the arduino core guys and as they are working on that, and as depending on the brand of the router every user need to test which of the 3 cores works better (because depending on the brand, some works better with 2.3.0, others with 2.4.2 and others with 2.5.0), what is the best way you think this information/workaround can be transmitted to the users? Now we have this explanation in the wiki at https://github.com/arendst/Sonoff-Tasmota/wiki/Troubleshooting#Wi-Fi-issues-arduino-core-versions-and-expressif-sdk and also we have this link posted in the wifi/mqtt old github issues. |
Closing this issue as there isn't much we can do from Tasmota Software side as it is a known issue of the 2.4.2 core with ubiquity routers. Anyway, please, let's continue with the testings so as to add this information to the wiki. Which router brands works with different core versions. Thanks for all the testings. It is very appreciated. If any other idea or workaround shows up, please also share it. |
OK, I'll do tests with core 2.3.0 and the staging core during the next few days and update here. |
@emontnemery @ascillato |
@Jason2866 Tested now, it seems to be just as bad as 2.4.2, but I'll let it run a few more hours. Staging core with SDK 2.2.1 is absolutely terrible though. I updated the stats in the issue description. |
Core 2.3.0 will be interesting because the upcoming release 6.5.0 will be again build by default with. EDIT (26.03): With Compiler flag option |
OK, I interrupted the staging+2.2.2 test and changed to 2.3.0. |
@Jason2866 Core 2.3.0 seems to work fine with sleep enabled, I updated issue description. |
Two Ubiquiti AC LR access points here, single SSID of 2.4ghz for Tasmota devices, I also have setoption56 and 57 turned on to let them roam around like they are supposed to. I use core 2.3.0 on all my 40+ devices as well because 2.4.2 and 2.5.0 just had constant MQTT disconnect issues. 2.3.0 is super solid and I won't see any LWT disconnects at all. Default dynamic sleep of 50 is enabled on all of them. |
@digiblur Also for me, core 2.3.0 is the only stable version. |
From my understanding it will select the better AP eventually say from a rolling firmware AP upgrade that shakes things up. #4817 (comment) |
That's if you have defined two APs in Tasmota settings though, aren't you only defining a single one? |
Mhh, if i remember correct it switches AP too, if you use same SSID for all your APs (one AP in Tasmota configured). This is the usual setup in a WLAN with more AP. Devices can do a handover or are forced to (wlan ap steering). |
Thinking about AP Steering, maybe this is the reason for the behaviour with ubiquiti. |
@emontnemery SetOption 56 and 57 shouldnt be needed. Controller based steering of clients is much better than client side one... We have to fight with the buggy or incomplete wifi implementation from espressif (closed source) |
I have a Google WiFi mesh with two WiFi Points (i.e., two AP). Both broadcast the same SSID. My Tasmota devices connected to the first AP with the configured SSID that they found. I was having to play lots of games to get each device to connect to the AP with the best signal). That was, until |
Not using fast roaming myself, I can see the multiple MAC IDs when I do scan without issue on Tasmota. |
I updated the stats for core 2.3.0 after 10 days of testing (a total of 6500 hours of testing across the 27 devices), there are still 0 WIFI reconnects. |
Do know why there are MQTT reconnects? I'm experimenting with WiFi and MQTT stability on Asus AC68U where I have 2.4GHz band used only by 24 ESP8266 devices (mix of Shelly 1, Shelly 2, ESP12F,Nodemcu,Sonoff Basic, S26, 4CHPRO R2, POW R2 and RF Bridge). However, I observe reconnects even with core 2.3.0 and Dynamic 50ms sleep. The setup where I have no WiFi reconnects is Normal 0ms sleep. It is working for me with old core 2.3.0 but also with stage core (2.6.0-dev) using SDK 2.2.1 and SDK 2.2.2-dev. I've experimented with frequency 160MHz CPU/80MHz flash and 80MHz CPU/40MHz flash where there isn't any substantial effect. The only case where I need 160MHz is ESP8266 connected to MQTT over TLS (at the moment AxTLS) with software serial for GSM module, hardware serial for Paradox system and some DS18x20 sensors. With 80MHz clock I don't have stability on software serial on longer AT messages exchanged with GSM module. |
@sislakd The issues have dependencies with the used wifi hardware/software. Example
|
Hi, I have similar issue. I use two Meraki MR33 with the same SSIDs. I use client ip assigment as bridge (not L3 Roaming). I don't user band steering. I do not user webserver, I use BearSSL + MQTT. I do not use And every tasmota device (6.4.0.14 with Core 2.5.0) is reconnecting. This is event log from dashboard meraki for one of my sonoff basic.
And for sonoff SV
|
Core 2.5.0 and which SDK ? 3.0.0. dev is known to be faulty. |
Also have Ubiquiti unifi AC-LR, been using tasmota with pre 2.6 core since its the recommended, had some problems that i cannot tell if its the tasmota or the unifi AP (since i only had them a couple of days). |
For Tasmota do NOT hide SSID. Disable channel auto select in APs |
Awww mannnn :( lol was really enjoying not having SSID showing that no one has to know about :P |
For a long time, I have had exactly the same problems as the OP with all core versions except for 2.3.0. But a few weeks ago I started updating some of my Tasmota-Devices to "STAGE" instead of "2.3.0" and everything seems to be running as stable as with 2.3.0. Definitely much better than 2.4.2 and 2.5.0. Maybe the OP can run some more tests with the new versions? |
In core pre 2.6 are two big fixes since the tests made. Until now there are NO negative feedbacks. |
Wondering if this might help - https://github.com/arendst/Sonoff-Tasmota/wiki/FAQ#Weaker-Wi-Fi-signal-after-upgrade |
Thanks, will try it when i get home :) |
worked on one of them, the other stayed the same. will try another sonoff |
Sometimes, wifi issues are just solved when doing a full erase flash (recommended esptool.py) |
Ok, will try a another sonoff and do a full erase flash before uploading the FW. Thanks for the input :) |
Background
In my environment with Ubiquity APs, the only stable core version with sleep (50, dynamic) enabled, is Core 2.3.0
There are frequent reconnects to WIFI and MQTT server when sleep (50, dynamic) is enabled for the following core versions:
I'm testing on 26 devices (Sonoff T1 EU 1CH + Sonoff T1 EU 2CH + Sonoff S26)
WiFi APs are 2 x Ubiquitu. All Sonoffs are connected to same virtual WLAN where the clients may be handed over between the two APs.
Test 1 Core 2.4.2 - 46 hours:
In this test, sleep was disabled on most devices, purpose is to get a baseline for stability with sleep disabled.
Test 2 Core 2.4.2 - 37 hours:
In this test, sleep is enabled on around half of the devices, purpose is to get a baseline for stability with sleep enabled.
Test 3 Staging core - 7 hours:
Around half of the devices are upgraded to stage core with SDK 2.2.1 with sleep enabled.
Keep sleep disabled on half of devices to make sure no issue with WiFi.
This is clearly performing much worse than 2.4.2.
Maybe related to WiFi sleep always being disabled in 2.4.2?
Test 4 Staging Core + SDK 2.2.2 - 7 hours:
Around half of the devices are upgraded to stage core with SDK 2.2.2 with sleep enabled.
Keep sleep disabled on half of devices to make sure no issue with WiFi.
Test 5 Core 2.3.0 + SDK 1.5.3 - 9.5 hours:
Around half of the devices are downgraded to Core 2.3.0 with sleep enabled.
Keep sleep disabled on half of devices to make sure no issue with WiFi.
Test 6 Core 2.3.0 + SDK 1.5.3 - 240 hours (10 days):
All devices downgraded to Core 2.3.0 with sleep enabled.
SW & HW configuration:
The text was updated successfully, but these errors were encountered: