diff --git a/Troubleshooting.md b/Troubleshooting.md index 7e82ad69..f24bcb49 100644 --- a/Troubleshooting.md +++ b/Troubleshooting.md @@ -34,21 +34,16 @@ All you can really do is check the solder joints, move them around (try hooking ## Wi-Fi Does Not Connect If your device does not connect to your Wi-Fi, its mostly causing by special chars or white spaces in your SSID or Password of your Wi-Fi. Remove them and try again. -(Dont forget to change the CFG_HOLDER => [CFG_HOLDER explained](#cfg_holder-explained) ) +(Don't forget to change the CFG_HOLDER => [CFG_HOLDER explained](#cfg_holder-explained) ) With some Wi-Fi routers (i.e. Linksys with DD-WRT), you may have conflicts with the 5GHz radio. Don't choose _"Mixed"_ option. Select _"AC/N-Mixed"_ instead. Moreover, you probably should disconnect 5GHz radio during the configuration process. -DD-WRT also has WMM enabled by default. Disabling WMM can resolve connectivity issues. +DD-WRT also has Wi-Fi Multi-Media (WMM) enabled by default. Disabling WMM can resolve connectivity issues. **LAMP DEVICES (Log in Failure on WLAN after Flash Procedure)** - -The SSID must be correct in Device Seetings and Router Settings - -Configure an old Router WITHOUT Encrytion or Authentication and activate DHCP. - -Work on Fritz Box Fon und WLAN 7112 - -That's it +* The SSID must be correct in Device Settings and Router Settings. +* Configure a mobile phone or an old router WITHOUT Encryption or Authentication and activate DHCP. +* Works on Fritzbox Fon and WLAN 7112 ## Wi-Fi Issues, Arduino Core Versions and Espressif SDK @@ -83,7 +78,7 @@ That's it Arduino Core (open source) are the core libraries for ESP8266/ESP8285 chips to make them Arduino Framework Compatible. This Core is programmed on top of the Espressif SDK (closed source). -You can see the Arduino Core Version and the Expressif SDK Version on the Tasmota WebUI under the Information Menu entry. +You can see the Arduino Core Version and the Espressif SDK Version on the Tasmota WebUI under the Information Menu entry. Example: Core-/SDK-Version: **2_3_0**/1.5.3(aec24ac9) * 2.3.0 @@ -134,7 +129,7 @@ Example: Core-/SDK-Version: **2_3_0**/1.5.3(aec24ac9) ### How To Change Core in Atom & PlatformIO -Locate the platformio.ini file in the project directory of TASMOTA and delete the ; in front of the core you want and add ; to the rest of core options +Locate the platformio.ini file in the project directory of TASMOTA and delete the `';'` in front of the core you want and add `';'` to the rest of core options ``` [core_active] @@ -160,7 +155,7 @@ For example, you can't load the module configuration page. The only fix for this is to recompile the firmware and disable features you don't need. -Known large features are webserver and TLS, but other things to consider disabling if you don't need them are emulation support, domoticz support, ws8212 support +Known large features are web server and TLS, but other things to consider disabling if you don't need them are emulation support, Domoticz support, WS8212 support A 512K firmware binary size is a good "target" and rule of thumb for allowing future OTA firmware updates. Flashing over the air (OTA) requires that there is enough free program memory available to upload the new firmware along with the existing copy before the old copy is deleted. If your firmware binary is larger than the available free program memory, you can replace the existing firmware with a minimal functionality version of Tasmota (roughly 375K). This leaves enough free in the 1024K program memory for the final copy of the firmware (i.e., larger than 512K). @@ -187,9 +182,8 @@ There are multiple ways to force the config to what's set in my_user_config to r 3. change the value of CFG_HOLDER in my_user_config and re-flash the device (CFG_HOLDER is a 0xYYYYDDMM setup. Just change it to today. Any future updates should not be hindered by that). ### CFG_HOLDER explained -**In short**: The CFG_HOLDER is the place where the config is stored on your device. -The Device checks if a config is saved in this CFG_HOLDER (value from the my_user_config.h and always loads this if exists. -=> wont load new applied configs in your my_user_config.h +**In short**: The CFG_HOLDER is the place where the config is stored on your device. The device checks if a config is saved in this CFG_HOLDER (value from the my_user_config.h) and always loads this if exists. +=> won't load new applied configs in your my_user_config.h To get the new config on your device, you need to change the CFG_HOLDER. BUT: You should always try to stay on the default CFG_HOLDER, to reach this, you need to flash two times @@ -202,15 +196,15 @@ BUT: You should always try to stay on the default CFG_HOLDER, to reach this, you After this, your new config is saved in the default CFG_HOLDER on your device. -This is necessery to avoid loosing your config if you update to a new firmware by using the pre-build images or if you forget to change the CFG_HOLDER to your custom one if you build the firmware yourself. +This is necessary to avoid losing your config if you update to a new firmware by using the pre-build images or if you forget to change the CFG_HOLDER to your custom one if you build the firmware yourself. **How CFG_HOLDER works**: The config of your Tasmota is stored in an area of the flash memory (flash config area or _FCA_). Using a new device (where Tasmota firmware runs the first time) the FCA does not contain a Tasmota configuration so on the very first start of Tasmota it uses your settings from _my_user_config.h_ or _user_config_override.h_ and copy this into the FCA. To prevent that the following Tasmota starts will overwrite your FCA settings again (e.g. because you has changed some things using commands) the FCA will be marked by a header value to indicate not copy the values from _my_user_config.h_/_user_config_override.h_ again. This header becomes the value from CFG_HOLDER. -On every start the device compares the header of FCA with the CFG_HOLDER from your source code and only if this header value is not identical, Tasmotat will copy the data from my_user_config.h/user_config_override.h to flash settings area - this is normaly only the case on a fresh device or if you has changed the CFG_HOLDER value. +On every start the device compares the header of FCA with the CFG_HOLDER from your source code and only if this header value is not identical, Tasmotat will copy the data from my_user_config.h/user_config_override.h to flash settings area - this is normally only the case on a fresh device or if you has changed the CFG_HOLDER value. -**Summarize**: To force Tasmota to overwrite current (valid or invalid) settings in FCA with your settings from _my_user_config.h_/_user_config_override.h_ you can -- change CFG_HOLDER value once, compile, reflash device (as described above). To avoid overwriting settings by new versions don't forget etiher +**Summary**: To force Tasmota to overwrite current (valid or invalid) settings in FCA with your settings from _my_user_config.h_/_user_config_override.h_ you can +- change CFG_HOLDER value once, compile, reflash device (as described above). To avoid overwriting settings by new versions don't forget either - repeat the step above using original CFG_HOLDER value - or never forget to change CFG_HOLDER value for even all upcoming version to your value - or use the [Management](https://github.com/arendst/Sonoff-Tasmota/wiki/Commands#management) command `Reset 1` or `Reset 2` after changes in your _my_user_config.h_/_user_config_override.h_ without the need to double reflash your device and/or double change your CFG_HOLDER value: @@ -225,16 +219,16 @@ If you try to update the Tasmota FW over the WebUI and get the message > Upload Failed > Upload buffer miscompare -you forgot to upload a minimal version first. This is necessery because there is no free space on the flash chip for the new firmware +You forgot to upload a minimal version first. This is necessary because there is no free space on the flash chip for the new firmware - Upload a minimal firmware first - Upload the new firmware Read this: -- [Functionality vs Firmware size vs OTA](https://github.com/arendst/Sonoff-Tasmota/wiki/Upgrade#functionality-vs-firmware-size-vs-ota) -- [OtaMagic](https://github.com/arendst/Sonoff-Tasmota/wiki/What%27s-New#otamagic) -- [#2660](https://github.com/arendst/Sonoff-Tasmota/issues/2660) +- [Functionality vs Firmware size vs OTA](Upgrade#functionality-vs-firmware-size-vs-ota) +- [OtaMagic](What%27s-New#otamagic) +- [#2660](../issues/2660) ## Flashing Issues @@ -255,7 +249,7 @@ Try other cable you keep getting connection errors or check the cables for conne Most of them are made cheap in China and it happens quite often that those cables does not have good connection because of bad crimping or broken copper lines in them. Be sure to use a USB DATA Cable and not a cheap loading cable for mobile phones for the connection from the FTDI to your computer. If you are unsure, just try another USB Cable. -The Data Cables are often thickier than the normal loading cables. +The Data Cables are often thicker than the normal loading cables. Another problem can be the connection of GPIO0 and GND. Be sure to press the Button ( not all devices have a button for GPIO0 -> GND ) correctly, you must "feel" a click. If your device does not have a button, be sure to get a save GND connection. You can also use a ground Pin on your FTDI Flasher, it doesn't matter where you get the GND from. @@ -303,7 +297,7 @@ TX->TX RX->RX this then allowed me to upload the sketch. Maybe because of: https://vilimpoc.org/blog/2016/05/03/esptool-ck-esp8266-and-ftdi-bug-hunting/ ## esptool usage -Erasing flash can also solve issues with unbootable instable systems. +Erasing flash can also solve issues with unbootable unstable systems. Using the latest esptool supported by espressif makes this process "rather" easy. 1. Go to https://github.com/espressif/esptool and read the README.md regarding installing esptool which comes down to @@ -354,7 +348,7 @@ Then you have more than one device connected with the same client_ID. Its import ## Device keeps restarting ( after changing Config over MQTT ) -If you changed the config (device configuration) over MQTT, the command can fail and due a bug in the HA the comand is repeatly sended, causing the device to restart. +If you changed the config (device configuration) over MQTT, the command can fail and due a bug in the HA the command is repeatedly sent, causing the device to restart. Hint: The restart is normal if you change something at the device configuration. @@ -394,5 +388,5 @@ The sonoff dual uses the serial port to control the relays, so serial logging in Through either a terminal program or the android serial monitor, set the baud rate to 115200 and disable hardware flow control and you will see the logs ### Crashdumps -If the ESP-8266 crashes, it frequently dumps information about the crash out the serial port, so the process listed above to see serial logs can provide extremely useful information +If the ESP8266 crashes, it frequently dumps information about the crash out the serial port, so the process listed above to see serial logs can provide extremely useful information These show up on the web console (http://device/cs)