W5100 Gateway hangs /freezes after some time.

  • Thanx for your answer.

    That means, if I would use an raspberrypi as a gateway that could support devices?
    I would like to have only 1 gateway for each floor and I plan to have about 20 sensors connected to each gateway .


  • @webstor said in W5100 Gateway hangs /freezes after some time.:

    Thanx for your answer.

    That means, if I would use an raspberrypi as a gateway that could support devices?
    I would like to have only 1 gateway for each floor and I plan to have about 20 sensors connected to each gateway .


    Is there any benefit in using one GW for each floor? Imo it s best, to just have one MySensors network covering the entire building. To avoid problems wrt. to RF-coverage it is better to use some of the nodes also as repeater.

    As far as I understood, there is no limitation below 254 about the number of Nodes connected to one GW. Isn't the MAX_CLIENTS-definition targeting towards the maximum number of controllers to make use of the GW?

    Kind regards

  • yes there is. There is no signal getting through between the ground and the first floor.

  • OK, that's an argument.
    When starting with MySensors, I had similar problems, but using some caps and nrf+pa+lna-modules helped a lot. Keep in mind, you will also have some receiving problems if the distance on the same floor is to big...

  • Sorry but we are drifting away from the main problem.

  • Hero Member

    @webstor Are you confusing controllers with nodes ?

    comment out the line line


    and see if it still locks up.

    Your 20 nodes will still connect ok

  • Ok.
    I will try that when I come home from work.

  • Looks good. I will keep you up to date if the error appears again.


  • It stopped crashing.
    But the problems just switched.
    Only one device is communicating with the Gateway. The other devices aren't working anymore. My Relays and one temp and hum sensor are not communicating any more.

    And they are 5 meters away from the Gw.

  • Hero Member

    @webstor I am pretty sure that will be some other problem.

    as far as i am aware #define MY_GATEWAY_MAX_CLIENTS is not a setting for the number of nodes connected and is not needed in a standard Ethernet gateway with one controller, the default setting of 1 is all you need. I am running a w5100 gateway and am able to connect to multiple nodes without that line.

    If you un-comment it do your nodes then connect as per normal again?

    Maybe you could make a new post about #define MY_GATEWAY_MAX_CLIENTS and see if one of the MySensors devs can give a definite answer.

    Have you tried fitting a larger capacitor to the nrf power connections. When I updated to v2.1.1 I had two nodes that were usually very stable start to loose connection now and then. I replaced the 4.7uf with a 47uf and now they are working well again.

  • Hi,

    ok, starts to crash again. I replaced the whole hardware aswell.
    Yes if I uncomment them, the nodes connect normal.

    I'm not using v.2.1.1, my nodes and gateways are on v.2.0.0

    The next step will be to use an esp8266 as gateway instead of the arduino uno.


  • I upgraded to 2.1.1 and I keep testing.

  • Ok, running on 2.1.1 and commented out the following lines:




    is running now for three days and looks good that it will keep it that way.

    thanx guys.

  • Hi,
    I have the same issue, W5100 gateway freeze, seen my update to MySensor 2.1.1.
    I use a static IP otherway it's the same code as @webstor I did removed both line and still gateway freeze (one day max ). Unlike @websor if I reset, gateway doesn't come back. I have to unplug the usb power.

    I only have five sensor, with only one battery powered. I used IDE 1.8.2 and AVR 1.6.18. Everything was working well with MySensor 2.0.0, IDE 1.6.9 , AVR 1.6.15. Any idea what could I look at ?

  • Mod

    Try to restore previous versions of avr and mysensors one at a time and see if you see any changes. Did you check how much free memory it reports after you compiled?

  • when you say freezes: Do you mean it hangs totally, which means it isn't pingable @ all?
    Or just won't accept connections from the sensors?

  • Thank for the hint, I was able to invested the issue more. Here the result:


    Sketch uses 19560 bytes (60%) of program storage space. Maximum is 32256 bytes.
    Global variables use 981 bytes (47%) of dynamic memory, leaving 1067 bytes for local variables. Maximum is 2048 bytes.

    @webstor No it's pingable but their some timeout.

    Request timeout for icmp_seq 115
    Request timeout for icmp_seq 116
    64 bytes from icmp_seq=117 ttl=128 time=0.693 ms
    64 bytes from icmp_seq=118 ttl=128 time=0.694 ms
    64 bytes from icmp_seq=119 ttl=128 time=0.656 ms
    64 bytes from icmp_seq=120 ttl=128 time=3.135 ms
    64 bytes from icmp_seq=121 ttl=128 time=0.641 ms
    64 bytes from icmp_seq=122 ttl=128 time=0.618 ms
    64 bytes from icmp_seq=123 ttl=128 time=0.861 ms
    64 bytes from icmp_seq=124 ttl=128 time=3.536 ms
    Request timeout for icmp_seq 125
    Request timeout for icmp_seq 126
    Request timeout for icmp_seq 127
    Request timeout for icmp_seq 128
    64 bytes from icmp_seq=129 ttl=128 time=0.494 ms
    64 bytes from icmp_seq=130 ttl=128 time=0.563 ms
    64 bytes from icmp_seq=131 ttl=128 time=0.622 ms
    64 bytes from icmp_seq=132 ttl=128 time=0.643 ms
    Request timeout for icmp_seq 133
    Request timeout for icmp_seq 134
    Request timeout for icmp_seq 135
    Request timeout for icmp_seq 136
    Request timeout for icmp_seq 137
    64 bytes from icmp_seq=138 ttl=128 time=0.828 ms
    64 bytes from icmp_seq=139 ttl=128 time=0.570 ms
    64 bytes from icmp_seq=140 ttl=128 time=0.766 ms
    64 bytes from icmp_seq=141 ttl=128 time=0.673 ms
    64 bytes from icmp_seq=142 ttl=128 time=3.274 ms
    64 bytes from icmp_seq=143 ttl=128 time=0.662 ms
    64 bytes from icmp_seq=144 ttl=128 time=0.714 ms
    Request timeout for icmp_seq 145
    Request timeout for icmp_seq 146
    64 bytes from icmp_seq=147 ttl=128 time=0.663 ms
    64 bytes from icmp_seq=148 ttl=128 time=3.395 ms
    64 bytes from icmp_seq=149 ttl=128 time=0.660 ms
    64 bytes from icmp_seq=150 ttl=128 time=3.527 ms
    64 bytes from icmp_seq=151 ttl=128 time=0.650 ms
    64 bytes from icmp_seq=152 ttl=128 time=0.629 ms
    64 bytes from icmp_seq=153 ttl=128 time=0.565 ms
    64 bytes from icmp_seq=154 ttl=128 time=0.639 ms

    Same test after reset, GW keep dropping but this time with max of 2 drop per ten ping. Other devices (phone, bridge etc...) can be pinged without timeout and I'm on the same network.

    For the communication testing, I'm sending payload to my tv sensor, and I made a video showing the GW status led when he doesn't work:
    After reset

    Look like it's a reset on the first video?

    Next test, new sketch with debug on, sending same payload, GW always receive something like:

    0;255;3;0;9;Eth: 2;3;1;0;32;10

    Some time even when payload is received, TV doesn't turn on, also tested with a simple light sensor. GW and TV are in the same room.

    So look like GW is dropping some message, I'll try tomorrow to get back to previous AVR, if their no hint.

  • Hi guys, I may found the issue.

    GW was powered from the NAS (for month) and I switched for a wall adapter. Now I'm able to ping GW without timeout...sorry (I see you guys coming....obviously it's a power issue 😄 !). GW has been running for one days now.

    Note: I'm using AVR 1.6.16 now, but i'm pretty sure, power was the real issue.

Log in to reply





Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.