OpenSprinkler Forums Hardware Questions OpenSprinkler Restart when i read the log

This topic contains 5 replies, has 3 voices, and was last updated by  Ray 2 weeks, 2 days ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #47390

    Fabien Naudy
    Participant

    Hello,

    I’m Fabien from Toulouse (France).
    I speak English bad, then i will try to explain my problem “thank you https://translate.google.fr :)”

    So,
    I have intalled my Opensprinkler v3 last month, whitout problem.
    It works good, but a few weeks ago, when I read the journal log (Android App or web application), the blue led (beside wifi module) flashes once, and the system restart by himself.
    I have reset the system, after backup my configuration, and the log working again.
    The last week, same problem. Read Log > the blue led flashes once > Restart by himself.

    Apart form this problem, the system works great (programs, preview programs, run manually, etc…)

    Do you know this problem and how to solve it ?

    Thank you.
    Fabien

    #47729

    Ray
    Keymaster

    We are aware of the issue as a few other users reported similar problem. Because it’s not a common problem, we haven’t been able to reproduce the issue but I suspect it has something to do with reported access to the flash memory in a short amount of time. While we are investigating this issue, a temporary work-around is to delete the log when this happens. Below are the details:

    The API to delete all log data is:
    http://x.x.x.x/dl?pw=xxx&day=all
    where x.x.x.x is your device’s IP, pw= gives the password (in MD5 checksum form). To obtain the MD5 checksum, you can use any online MD5 checksum calculator, such as this one:
    http://onlinemd5.com/
    type in your password as a string at the bottom, and compute it. The MD5 password is generally a 32-byte string (for example, it may look like ABCDE12354…..)

    You can also manually obtain the log data in raw format by using the following API:
    http://x.x.x.x/jl?pw=xxx&hist=7
    which requests the log data of the past 7 days. In the cases reported, it seems manually obtain the log data in raw format works fine. You can verify it by using the above API.

    #47810

    jnissen
    Participant

    It’s very possible the SPI FLASH memory chip inside the ESP8266 is not behaving well. I have done a number of ESP8266 IOT device developments the last year and can confirm that it’s very hit or miss on how well the SPI memory chip behaves. I see were using the file system library to use a portion of the FLASH as storage space. This in theory should work but obviously the quality of the flash is really the thing were all dependent upon.

    In earlier systems with an SDCARD you could remove it and reflash. The above API helps to clear the space but if the bit cells inside are marginal then there is not much you can do. That is a fundamental issue with these low cost WiFi systems. The quality of the components under the hood. I have a new AC 3.0 system and I have been playing with the logging as well. It works for me but I am not convinced it will continue to do so based on my earlier experience. ESP8266’s are great hobbyist systems but they have their limitations IMHO.

    I have the system sitting on a desk and will let it run for a couple of weeks before I try to rely upon it to run my system. Yeah I’d a bit pessimistic but like I said early on – I have a bit of experience with the ESP8266 ecosystem.

    #47954

    Ray
    Keymaster

    One thing we can improve on is the number of reads of the log data on each ‘view log’ request. Currently every time you click on ‘view log’ it makes 3 requests, one for the regular log data, one for watering level data (wl) and one for flow data (fl). This was done to make it easy for the UI to calculate average watering level and so on. But the downside is that reading the log three times in a roll incurs a lot of overhead, and I suspect it’s also relevant to the rebooting issue reported.

    While I agree there may be some quality control issue with ESP8266, I think its reliability can be improved in software. Also, the fact that it’s extremely inexpensive make it easy to replace if any problem occurs. OS3.0 uses separate top-bottom layer design, so if the top layer (containing ESP8266) has any problem, it’s pretty easy to toss it out and replace it.

    #48110

    Fabien Naudy
    Participant

    Thank you for your replies.

    However, you have no solution to this problem. Okay, I can call your API with parameters, but it’s a workaround and I can’t easily access my log.
    Do you think that replacing the ESP8266 chip will solve the problem? How to ? Is it simple?
    Do you think to release a new version of your firmware?

    Fortunately, the other features work well even if I sometimes have delays to connect to the interface or to send commands.

    Thank you

    #48398

    Ray
    Keymaster

    It turns out this has to do with a bug in the firmware — when the log data you are trying to display exceeds 4KB (this generally only happens if the controller generates a lot of log records per day), it results in buffer overflow error, triggering reboot. Because the app by default retrieves the past 7 days of log data, it’s more likely to trigger this problem compared to if it only displays 1 day of log data. But in any case, if you don’t check log (or use a custom script to retrieve log data one day at a time), it shouldn’t trigger this problem at all.

    We have internally fixed this issue, just haven’t pushed it to an official firmware yet. Sorry about that, but will hopefully get the new firmware released soon.

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.

OpenSprinkler Forums Hardware Questions OpenSprinkler Restart when i read the log