ESP8266_ArtNetNode_v2 icon indicating copy to clipboard operation
ESP8266_ArtNetNode_v2 copied to clipboard

WDT Resets

Open mtongnz opened this issue 7 years ago • 27 comments

There seems to be an issue with the watch dog timer causing resets about 10 minutes into operation. I haven't been able to track it down and it takes ages to fault find when I've gotta wait for it to happen.

If you are watching in DMX Workshop, you'll see this show up in the status field when the device resets. The output will also freeze for about 10 seconds.

Anyone experiencing these, please post your settings and the counter from status in DMX Workshop so I can see if there is a pattern.

mtongnz avatar Feb 28 '17 07:02 mtongnz

Does it happen always or only using leds?

p-sodmann avatar Sep 15 '17 09:09 p-sodmann

Could you please try my code, I don't get WDT resets. The lights stop working after a while, a reset from the web interface fixes it. https://github.com/ammuller/ESP8266_ArtNetNode_v2

ammuller avatar Sep 26 '17 08:09 ammuller

I'm using your really great software with Ws2812b Pixels on Port A and Port B. (about 900 pixels in total)

After a certain time (about 20-30 Minutes) my Pixels freeze. Wifi connection is still there, I can load the web interface. I found out, that the only way to get back to normal mode is powercycling to times or rebooting via web interface two times. It's interesting that powercycling or rebooting only one time doesn't help.

I also noticed that the period of time until freeze is in hotspot mode much shorter than in Wifi-Mode.

Hope, this experiences will help solving the problem. I like your software very much and would appreciate any solution of this problem.

OT - Perhaps this can help someone: I made the following workaround for running a show without annoying hang-up. I use a script on my computer which opens the browser, calls the web interface and presses reboot (one time) every twenty minutes (that means before stalling occurs). The reboot breaks are very short and much better than a complete hang-up. I tested this for many hours and all worked fine. Btw: The easiest way to create a script is using a macro recorder like "Pulover's Macro Creator" e.g.

ElToberino avatar Dec 03 '17 19:12 ElToberino

Hi, I have the same issue. I am using the Adafruit HUZZAH ESP8266 Breakout. Thanks for your attention.

De: ElToberino [mailto:[email protected]] Enviado el: domingo, 03 de diciembre de 2017 01:01 p.m. Para: mtongnz/ESP8266_ArtNetNode_v2 [email protected] CC: Subscribed [email protected] Asunto: Re: [mtongnz/ESP8266_ArtNetNode_v2] WDT Resets (#41)

I'm using your really great software with Ws2812b Pixels on Port A and Port B. (about 900 pixels in total)

After a certain time (about 20-30 Minutes) my Pixels freeze. Wifi connection is still there, I can load the web interface. I found out, that the only way to get back to normal mode is powercycling to times or resetting via web interface two times. It's interesting that powercycling or resetting only one time doesn't help.

I also noticed that the period of time until freeze is in hotspot mode much shorter than in Wifi-Mode.

Hope, this experiences will help solving the problem. I like your software very much and would appreciate any solition of this problem.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/mtongnz/ESP8266_ArtNetNode_v2/issues/41#issuecomment-348805785, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AdWfz3MXQX7fJwgxWJjIb0bgbHsdL0hAks5s8vAIgaJpZM4MOCp6.

rsototec avatar Dec 04 '17 15:12 rsototec

Hi bro, this solutions fix the problem for me (firmware 1.2) test 4 times for 4hour every time: In ESP8266_ArtNetNode_DMX.ino:

  • Add ESP.wdtFeed() at void loop() start
  • Add a delay(15) after webServer.handleClient() I found also another bug in library that inibite the dmx "strobo funcion" Please tell me if this work for you

dddaniele avatar Mar 05 '18 15:03 dddaniele

Damn, overlook the most obvious thing. Read about the watchdog-features some hours ago, but then forgot about it. Seems to be logical that we have to feed the watchdog here. :) Will give this a try tomorrow.

bombcheck avatar Mar 05 '18 21:03 bombcheck

OK, adding the delay(15) after webServer.handleClient() causes some timing issues: The last quarter of my matrix (22x22 / 484 pixel) is not updating correctly anymore. Trying only with ESP.wdtFeed() now: Runs smooth and stable so far. Lets see how long... :)

bombcheck avatar Mar 06 '18 08:03 bombcheck

I already tried only with ESP.wdtFeed() only but wdt reset comes back. I also tried a delay 10 and the problem persists. Setting instead ESP.wdtFeed() and delay(15) i have not encountered problems with my par LEDs and moving heads.

Try to comment those lines on espDMX.cpp (in the library folder) (this cause stobo function and wdt reset issues)

// Output full universe (512 channels) once every x seconds //if (millis() > dmx->full_uni_time + DMX_FULL_UNI_TIMING) { // dmx->full_uni_time = millis(); // dmx->state = DMX_FULL_UNI;

//  // Status LED
//  if (dmx->ledPin != DMX_NO_LED) {
//    if (dmx->led_timer++ >= 2) {
//      analogWrite(dmx->ledPin, dmx->ledIntensity);
//      dmx->led_timer = 0;
//    }else
//      analogWrite(dmx->ledPin, 0);
//  }
//} else

dddaniele avatar Mar 06 '18 10:03 dddaniele

espDMX.cpp? Did not find this file in the libraries. And can not find the mentioned lines anywhere in the project.

bombcheck avatar Mar 06 '18 10:03 bombcheck

Adding a delay of 15 ruins timing at the end of my strip. Reducing the value and trying some other modifications. But the issue seems to persist. It just lasts longer then before prior to crash...

bombcheck avatar Mar 06 '18 14:03 bombcheck

i'm running SP8266_ArtNetNode_DMX firmware 1.2

dddaniele avatar Mar 06 '18 14:03 dddaniele

Ahhhh I see. But here we are discussing the "new" v2 firmware which has these issues too. :)

delay (5) seems to work for me: No updating issues. Keeps reseting sometimes, but I catch the reset reason and doing a ESP.restart if the watchdog or an exeption occured.

bombcheck avatar Mar 06 '18 15:03 bombcheck

It keeps crashing from time to time. Sometimes after minutes, sometimes after hours. I THINK it may be from some bad packets received or something and not from the WDT...

bombcheck avatar Mar 07 '18 12:03 bombcheck

Does the WDT/freeze issue also occur with the old version ArtNetNode v1.2.0? I just want to set up a simple node, without pixel support, RDM etc. So v1.2.0 would be perfect for me, if there wasn't this problem.

ElToberino avatar Mar 28 '18 18:03 ElToberino

Has anyone found a solution? I noticed that the esp resets every 15 minutes and freeze the pixels after some time

PixelLights avatar Apr 20 '18 05:04 PixelLights

Have you given my fork a try? It should fix some/most of the existing problems. The current git version runs stable for a few hours in most cases, however there's still the issue of heap fragmentation. I will make another push soon which switches the lib over to umm_malloc to counter this.

scamiv avatar Apr 20 '18 11:04 scamiv

@scamiv I will check out your fork. Can you summarize what are the main changes, and for how long did you run the node without any reset/frozen outputs?

idtres avatar Jun 17 '18 09:06 idtres

scamiv.. does this fix the LED freeze and rebooting issues?

jamesgbahr avatar Jul 09 '18 17:07 jamesgbahr

i tried scamiv fork of this code in my case it only last 15 mins and hard freezes requiring a power cycle to get it up and running again.

codehackr avatar Jul 15 '18 12:07 codehackr

I have done extensive research on this issue and tested code many many different ways and setups. Its 100% the wifi services getting slammed with data.. the wifi lifetime timer does not renew when data is being sent. If i stop data send the timer renews

jamesgbahr avatar Jul 17 '18 19:07 jamesgbahr

Hi all! I don't know if the bug was resolved from someone. I've try to add thi solution: https://community.blynk.cc/t/solved-esp8266-nodemc... And for me it seems work!

So I add in setup() ESP.wdtDisable(); ESP.wdtEnable(WDTO_8S);

and in and in loop()

ESP.wdtFeed();

I'm building with NodeMCU esp8266 esp-12e

parechiotto avatar Nov 27 '18 10:11 parechiotto

Sounds good; I'll give it a try and will report.

Your link is not working. I guess you meant this: https://community.blynk.cc/t/solved-esp8266-nodemcu-v1-0-and-wdt-resets/7047

ElToberino avatar Nov 28 '18 09:11 ElToberino

Hi all! I don't know if the bug was resolved from someone. I've try to add thi solution: https://community.blynk.cc/t/solved-esp8266-nodemc... And for me it seems work!

So I add in setup() ESP.wdtDisable(); ESP.wdtEnable(WDTO_8S);

and in and in loop()

ESP.wdtFeed();

I'm building with NodeMCU esp8266 esp-12e

Not work for me

dddaniele avatar Nov 28 '18 16:11 dddaniele

Here it doesn't work, too. Tested it with pixels on port A. Function is worse than it was before, without these changes.

Edit: If someone is interested in an alternative software: I tested "Esppixelstick" (http://forkineye.com/espixelstick/) by forkineye. It can handle four universes. It's only the half of mtongnz' number of univereses - but it runs stable. I'm really satisfied with it!

I like mtongnz' nodes very much; I'm using v1, which run's absolutely stable, for my DMX projects - it's great. But v2 is too unstable for my purposes.

For my large pixel matrix I switched to a wired controller designed by Ulrich Radig. (for example: https://www.ulrichradig.de/home/index.php/dmx/art-net-pixel-con-neu). I found out that wireless can cause problems with special effects (scrolling text ,e.g.).

ElToberino avatar Nov 28 '18 18:11 ElToberino

How much I got tired of this program, I'm a beginner and I thought I was doing something wrong. Meanwhile, after installing the "Esppixelstick" all problems have disappeared - I highly recommend.

krupaw2 avatar Dec 10 '18 07:12 krupaw2

Hi Matthew,

The issue is not a software glitch, i've discovered your project today. I use a esp8266 (WeMos D1 R1) with 300 leds W2812s, i have a 20 ampere power supply for the 5 volts. After 10 mn, the esp8266 seems to freeze and between 3 and 10 mn, lights start again the animation.

Since i've connected the esp8266 also on my powered usb port on my pc, i don't have any problems. It works very well even with a lot of effect in Jinx!.

We must add a capacitor to protect cpu i think, i will check this week.

Thanks for you great work !!

Furbean avatar Jun 14 '20 21:06 Furbean

Hi Furbean,

do this, paste into setup ()

ESP.wdtDisable(); ESP.wdtEnable(WDTO_8S);

and in loop()

ESP.wdtFeed ();

and the problem should be resolved. At least it works for me.

And a 1000µF / 16V capacitor comes between ground and + in the power supply of the LEDs

Igor1976-light avatar Jun 14 '20 23:06 Igor1976-light