[Solved] MySensors 2.0 Ethernet gateway (ENC28J60) restart / IP issue
-
@intellium Issues with ENC: https://forum.arduino.cc/index.php?topic=398258.0
sounds pretty much the same...
-
@intellium Issues with ENC: https://forum.arduino.cc/index.php?topic=398258.0
sounds pretty much the same...
-
Just a little update:
I build a serial gateway and attached it to Domoticz. Been working ever since, even during the night. Guess this is the way to go for now.
-
@intellium Sounds good - fyi, I'm using both, W5100 and ESP8266-based GWs, w/o issues.
@tekka I've got a bunch of esp8266 modules laying around. Maybe I'll just search how to wire those up to my nano's and find some code to run it as a dedicated gateway / sensor node. I've noticed the site uses a NodeMCU board for this instead of an Arduino (Nano) ?
-
Having the exact issue as the OP, but then with a W5100 shield and a NRF24.
Reverting back to MySensors 1.5.4 solves the problem.
Now i was on a beta of 2.0 that i uploaded to the gateway quite some time ago, and this worked without issues
Something has changed in the final 2.0 release... and i want to revert that change ;) -
Having the exact issue as the OP, but then with a W5100 shield and a NRF24.
Reverting back to MySensors 1.5.4 solves the problem.
Now i was on a beta of 2.0 that i uploaded to the gateway quite some time ago, and this worked without issues
Something has changed in the final 2.0 release... and i want to revert that change ;) -
No, the Node is resetting itself with the messages in the first post.
If i disable debug, it is logging the IP Address over and over again (each second), connection is reset at that moment -
The sketch is 99,999% the same as 'GatewayW5100' except i changed:
#define MY_IP_ADDRESS 192,168,0,50The default Arduino ethernet server examples work perfectly
Thanks in advance !
-
@tekka said:
@GizMoCuz did you uncomment
#define MY_DEBUGas suggested above?
Yep, see three posts up (If i disable debug, it is logging the IP Address over and over again (each second), connection is reset at that moment)
And unfortunately does not explain why version 1.5 is running (but missing important features/fixes)
-
@tekka said:
@GizMoCuz did you uncomment
#define MY_DEBUGas suggested above?
Yep, see three posts up (If i disable debug, it is logging the IP Address over and over again (each second), connection is reset at that moment)
And unfortunately does not explain why version 1.5 is running (but missing important features/fixes)
-
I have the same problem:
Mega 2560+ w5100
Lib 1.5.4 all good
Lib 2.0 restart again and again -
@intellium Sounds good - fyi, I'm using both, W5100 and ESP8266-based GWs, w/o issues.
@tekka After my original report that the serial gateway worked through the night, I have had to reset it every ~24 hours. Somewhere around that timeframe, the serial gateway just doesn't respond anymore. Restarting the controller doesn't help. When I reset the serial gateway, it instantly works again and continues to do so for around 24 hours. So it seems that although the serial gateway works longer, it eventually also suffers the same issue.... Is this some kind of memory leak perhaps ?
-
@tekka After my original report that the serial gateway worked through the night, I have had to reset it every ~24 hours. Somewhere around that timeframe, the serial gateway just doesn't respond anymore. Restarting the controller doesn't help. When I reset the serial gateway, it instantly works again and continues to do so for around 24 hours. So it seems that although the serial gateway works longer, it eventually also suffers the same issue.... Is this some kind of memory leak perhaps ?
@intellium - as said before, I strongly as well suspect power issues. I would try out different power supplies and try changing out different parts in your setup.
-
@intellium - as said before, I strongly as well suspect power issues. I would try out different power supplies and try changing out different parts in your setup.
@sundberg84 I've tried different power supplies already with the same problem.
I'll source some more components from different shops and will build another gateway to test. Will report back once done.
-
@tekka After my original report that the serial gateway worked through the night, I have had to reset it every ~24 hours. Somewhere around that timeframe, the serial gateway just doesn't respond anymore. Restarting the controller doesn't help. When I reset the serial gateway, it instantly works again and continues to do so for around 24 hours. So it seems that although the serial gateway works longer, it eventually also suffers the same issue.... Is this some kind of memory leak perhaps ?
@intellium said:
seems that although the serial gateway works longer, it eventually also suffers the same issue
Getting into a 'reboot loop' and 'no longer responding' are probably two different things. We should be careful not to mix things up!
-
I have just found this thread and are having the exact same problem. Arduino nano and en enc28j60 shield.
I don't think its a supply problem.
I had to drive the radio with softspi to get that working only to get the "reboot" issue.
I put this in the setup section of the sketch to catch whats reseting the mcu:
Serial.println(MCUSR); MCUSR=0;This produces this result:
0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0) 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSM:RADIO:OK 0;255;3;0;9;TSM:GW MODE 0;255;3;0;9;TSM:READY IP: 192.168.0.72 2 <------------ this is when I push the reset button 0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0) 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSM:RADIO:OK 0;255;3;0;9;TSM:GW MODE 0;255;3;0;9;TSM:READY IP: 192.168.0.72 0 <------------ this is the cpu restarting the sketch because of something unknown 0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0) 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSM:RADIO:OK 0;255;3;0;9;TSM:GW MODE 0;255;3;0;9;TSM:READY IP: 192.168.0.72 0 0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0) 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSM:RADIO:OK 0;255;3;0;9;TSM:GW MODE 0;255;3;0;9;TSM:READY IP: 192.168.0.72 0So it seems its not the mcu thats resets. The mcu either executes the nops inte unused flash space and wraps around to adress $0000 and starts over again, or there is a bug in the mysensors or the uipethernet files.
Any thoughts on this?
This is the complete sketch,
/** * The MySensors Arduino library handles the wireless radio link and protocol * between your home built sensors/actuators and HA controller of choice. * The sensors forms a self healing radio network with optional repeaters. Each * repeater and gateway builds a routing tables in EEPROM which keeps track of the * network topology allowing messages to be routed to nodes. * * Created by Henrik Ekblad <henrik.ekblad@mysensors.org> * Copyright (C) 2013-2015 Sensnology AB * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors * * Documentation: http://www.mysensors.org * Support Forum: http://forum.mysensors.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. * ******************************* * * REVISION HISTORY * Version 1.0 - Henrik EKblad * Contribution by a-lurker and Anticimex, * Contribution by Norbert Truchsess <norbert.truchsess@t-online.de> * Contribution by Tomas Hozza <thozza@gmail.com> * * * DESCRIPTION * The EthernetGateway sends data received from sensors to the ethernet link. * The gateway also accepts input on ethernet interface, which is then sent out to the radio network. * * The GW code is designed for Arduino 328p / 16MHz. ATmega168 does not have enough memory to run this program. * * LED purposes: * - To use the feature, uncomment WITH_LEDS_BLINKING in MyConfig.h * - RX (green) - blink fast on radio message recieved. In inclusion mode will blink fast only on presentation recieved * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly * - ERR (red) - fast blink on error during transmission error or recieve crc error * * See http://www.mysensors.org/build/ethernet_gateway for wiring instructions. * */ // Enable debug prints to serial monitor #define MY_DEBUG #define MY_RF24_CHANNEL 1 // Enable and select radio type attached #define MY_RADIO_NRF24 //#define MY_RADIO_RFM69 // Enable gateway ethernet module type #define MY_GATEWAY_ENC28J60 // W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal) //#define MY_W5100_SPI_EN 4 // Enable Soft SPI for NRF radio (note different radio wiring is required) // The W5100 ethernet module seems to have a hard time co-operate with // radio on the same spi bus. #define MY_SOFTSPI #define MY_SOFT_SPI_SCK_PIN 7 #define MY_SOFT_SPI_MISO_PIN 8 #define MY_SOFT_SPI_MOSI_PIN 9 // When W5100 is connected we have to move CE/CSN pins for NRF radio #ifndef MY_RF24_CE_PIN #define MY_RF24_CE_PIN 5 #endif #ifndef MY_RF24_CS_PIN #define MY_RF24_CS_PIN 6 #endif // Enable to UDP //#define MY_USE_UDP #define MY_IP_ADDRESS 192,168,0,72 // If this is disabled, DHCP is used to retrieve address // Renewal period if using DHCP //#define MY_IP_RENEWAL_INTERVAL 60000 // The port to keep open on node server mode / or port to contact in client mode #define MY_PORT 5003 // Controller ip address. Enables client mode (default is "server" mode). // Also enable this if MY_USE_UDP is used and you want sensor data sent somewhere. //#define MY_CONTROLLER_IP_ADDRESS 192, 168, 178, 254 // The MAC address can be anything you want but should be unique on your network. // Newer boards have a MAC address printed on the underside of the PCB, which you can (optionally) use. // Note that most of the Ardunio examples use "DEAD BEEF FEED" for the MAC address. #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xDD // Flash leds on rx/tx/err //#define MY_LEDS_BLINKING_FEATURE // Set blinking period //#define MY_DEFAULT_LED_BLINK_PERIOD 300 // Enable inclusion mode //#define MY_INCLUSION_MODE_FEATURE // Enable Inclusion mode button on gateway //#define MY_INCLUSION_BUTTON_FEATURE // Set inclusion mode duration (in seconds) //#define MY_INCLUSION_MODE_DURATION 60 // Digital pin used for inclusion mode button //#define MY_INCLUSION_MODE_BUTTON_PIN 3 // Uncomment to override default HW configurations //#define MY_DEFAULT_ERR_LED_PIN 7 // Error led pin //#define MY_DEFAULT_RX_LED_PIN 8 // Receive led pin //#define MY_DEFAULT_TX_LED_PIN 9 // the PCB, on board LED #include <SPI.h> #if defined(MY_USE_UDP) #include <EthernetUdp.h> #endif //#include <Ethernet.h> #include <UIPEthernet.h> #include <MySensors.h> void setup() { Serial.println(MCUSR); MCUSR=0; } void loop() { }