GW not working after upgrade 1.x -> 2.1



  • Hi!

    I've made a few nodes and a gateway, many years ago.
    Today i would like to add a function to one of the nodes, and upgrade the whole system to the release 2.1.
    Everything seems to work, but i've lost the connexion between the gateway and the Controller (Jeedom and MYScontroller).

    I can see the gateway and the node speaking together.
    I made a serial gateway, and the node appears in MYScontroller, then i think it's not a node's problem.
    I can ping the gateway...
    I can't point the mistake.

    Here is the debug's gateway :

    0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGA--,VER=2.1.1
    0;255;3;0;9;TSM:INIT
    0;255;3;0;9;TSF:WUR:MS=0
    0;255;3;0;9;TSM:INIT:TSP OK
    0;255;3;0;9;TSM:INIT:GW MODE
    0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0
    0;255;3;0;9;MCO:REG:NOT NEEDED
    IP: 192.168.xx.19
    0;255;3;0;9;MCO:BGN:STP
    0;255;3;0;9;MCO:BGN:INIT OK,TSP=1
    0;255;3;0;9;TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=1
    0;255;3;0;9;TSF:PNG:SEND,TO=0
    0;255;3;0;9;TSF:CKU:OK
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,1-1-0,s=255,c=2,t=6,pt=1,l=1,sg=0:0
    0;255;3;0;9;TSF:MSG:READ,1-1-0,s=255,c=3,t=12,pt=0,l=3,sg=0:2.0
    0;255;3;0;9;TSF:MSG:READ,1-1-0,s=4,c=2,t=40,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:READ,0-0-255,s=255,c=3,t=20,pt=0,l=0,sg=0:
    

    Thanks for your suggestions


  • Mod

    Have you tried the latest 2.2 version? You could also try to make an ethernet gateway to see if it makes any changes



  • Thanks for your reply.

    The release 2.2 is the development branch?
    I will try it.

    My question wasn't clear. I've built an ethernet gw which don't return the information to the controller (MYSc or Jeedom), but the information between the gw and the node appears in the serial console.
    I've built a serial gw, and the node's information works fine with MYS (my Jeedom box can't use serial gw). Then i concluded that's the ethernet gw is the problem, not the controller.


  • Mod

    try development branch first, then we continue from there



  • Ok, here is the serial monitor from the ethernet gateway with library 2.2

    0 MCO:BGN:INIT GW,CP=RNNGA---,VER=2.2.0-rc.1
    3 TSM:INIT
    4 TSF:WUR:MS=0
    11 TSM:INIT:TSP OK
    13 TSM:INIT:GW MODE
    15 TSM:READY:ID=0,PAR=0,DIS=0
    17 MCO:REG:NOT NEEDED
    IP: 192.168.xx.19
    1320 MCO:BGN:STP
    1323 MCO:BGN:INIT OK,TSP=1
    45763 TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    45768 TSF:MSG:BC
    45770 TSF:MSG:FPAR REQ,ID=1
    45772 TSF:PNG:SEND,TO=0
    45775 TSF:CKU:OK
    45776 TSF:MSG:GWL OK
    46502 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    47808 TSF:MSG:READ,1-1-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
    47813 TSF:MSG:PINGED,ID=1,HP=1
    47817 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1
    47831 TSF:MSG:READ,1-1-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    47838 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    47845 TSF:MSG:READ,1-1-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.1.1
    47853 TSF:MSG:READ,1-1-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0
    49857 TSF:MSG:READ,1-1-0,s=255,c=3,t=11,pt=0,l=11,sg=0:SmartLighgt
    49866 TSF:MSG:READ,1-1-0,s=255,c=3,t=12,pt=0,l=3,sg=0:2.0
    49873 TSF:MSG:READ,1-1-0,s=1,c=0,t=3,pt=0,l=0,sg=0:
    49882 TSF:MSG:READ,1-1-0,s=2,c=0,t=3,pt=0,l=0,sg=0:
    49889 TSF:MSG:READ,1-1-0,s=3,c=0,t=23,pt=0,l=0,sg=0:
    49897 TSF:MSG:READ,1-1-0,s=4,c=0,t=26,pt=0,l=0,sg=0:
    49913 TSF:MSG:READ,1-1-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
    49921 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1
    49938 TSF:MSG:READ,1-1-0,s=3,c=2,t=24,pt=0,l=0,sg=0:
    49946 TSF:MSG:READ,1-1-0,s=4,c=2,t=40,pt=0,l=0,sg=0:
    

    And the log from MYScontroller :

    
     [2017-11-22 09:57:40.352 Info] INFO	Connected to 192.168.xx.19:5003
     [2017-11-22 09:58:01.379 Info] ERROR	Error on connect: connection refused
    

    I've tried with and without UDP adress.
    About that, is it necessary for jeedom?


  • Mod

    It is refusing the connection, did you check if you have a firewall closing ports?

    What parameters did you set in the configure?



  • I've desactivated the firewall, same results.

    here is the parameters :
    1_1511347748212_Capture2.PNG 0_1511347748211_Capture1.PNG

    The source code of the ethernet gw :

    /**
     * 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 MY_DEFAULT_xxx_LED_PIN in the sketch below
     * - 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
    
    // Enable and select radio type attached
    #define MY_RADIO_NRF24
    //#define MY_RADIO_NRF5_ESB
    //#define MY_RADIO_RFM69
    //#define MY_RADIO_RFM95
    
    // Enable gateway ethernet module type
    #define MY_GATEWAY_W5100
    
    // 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.
    #if !defined(MY_W5100_SPI_EN) && !defined(ARDUINO_ARCH_SAMD)
    #define MY_SOFTSPI
    #define MY_SOFT_SPI_SCK_PIN 14
    #define MY_SOFT_SPI_MISO_PIN 16
    #define MY_SOFT_SPI_MOSI_PIN 15
    #endif
    
    // 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 UDP communication
    #define MY_USE_UDP  // If using UDP you need to set MY_CONTROLLER_IP_ADDRESS below
    
    // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
    #define MY_IP_ADDRESS 192,168,xx,19
    
    // If using static ip you can define Gateway and Subnet address as well
    //#define MY_IP_GATEWAY_ADDRESS 192,168,xx,254
    //#define MY_IP_SUBNET_ADDRESS 255,255,255,0
    
    // 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, xx, 149
    
    // 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 0xAE, 0xAD, 0xEB, 0xAF, 0xAE, 0xAD
    
    // 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
    
    // Set blinking period
    #define MY_DEFAULT_LED_BLINK_PERIOD 300
    
    // Flash leds on rx/tx/err
    // 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  // Transmit led pin
    
    #if defined(MY_USE_UDP)
    #include <EthernetUdp.h>
    #endif
    #include <Ethernet.h>
    #include <MySensors.h>
    
    void setup()
    {
        // Setup locally attached sensors
    }
    
    void presentation()
    {
        // Present locally attached sensors here
    }
    
    void loop()
    {
        // Send locally attached sensors data here
    }
    

  • Mod

    Are you sure the MY_USE_UDP and my controller ip address are needed?



  • not at all, that's why i try with or without these settings


  • Mod

    These are the only defines I set about the ethernet

    #define MY_GATEWAY_W5100
    #define MY_IP_RENEWAL_INTERVAL 60000
    #define MY_PORT 5003
    #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
    

    I am using DHCP reservation on my WiFi router.



  • Just trying to think outside the box. Did you try to ping the node? If you have access to nmap, scan the node to see if it shows the correct open port on your network. Since you are setting a static IP, you should make sure that the IP is not in your DHCP pool, otherwise it could get pushed to another device to where the two devices could fight on the network. If your router is capable of doing DHCP reservations, it may be better to set a reservation as @gohan did.



  • Everything went worse...
    I've tried to change the W5100 module, the arduino, the radio, erase eeprom, update the soft, change the ethernet calble, nothing...
    In the monitor, i see the ip displaying random value, actually 255.255.255.255.

    I tried DHCP, it can't obtain an IP.

    Before things get worst, i've pinged the gateway successfully. And it obtained an IP in DHCP.

    I've lost the day on it... Will try tomorrow from the beginning...

    I check the router, i can't se


  • Mod

    what ide version are you using? and what boards definitions are you using?



  • Once it randomly turn on an ip compatible with my network. I can connect with MYScontroller, and view the node.But the information returned has a bad encoding. Part of the message contained strange characters.

    The DHCP mode can't take an ip from the server. In my router, i've found a trace of the gw. The name of the node contains also invalid characters.

    I've install ubuntu on an other computer to test the environnement.
    Same results. The arduino return a random ip.

    I've tested with 1.6.7 and 1.8.5 IDE.
    What do you mean by board definition? I've tested with a nano 32, a uno and a mega.

    On both ubuntu and windows, i've an error in the console while transmitting the code to the board : "ATTENTION : Faux .mystools dossier dans la bibliothèque 'MySensors'" (Bad .mystools directory in the library MySensors)


  • Mod

    In Arduino ide, look in board manager and check what is the version of the arduino board version you are using.

    The warning you get is not an issue, I have it too, just ignore it.



  • Arduino AVR release 1.6.20, is it what you mean?


  • Mod

    Try installing the 1.6.11 or 1.6.13



  • nope... i've tested 1.6.11 .13 and .2

    thanks for your help. Do you have another idea?


  • Mod

    I'm running out of options...



  • Hi all,

    I. m facing similar problems. like you. I was working on upgrading my network to 2.1.1. I got stuck with strange behaviour of the GW. I programmed it with:
    IDE version: 1.8.4
    Arduino AVR release: 1.6.20
    The latest 2.1.1 downloaded libraries and the latest GW version.

    After connecting the GW to my network, i was perfectly able to ping it. MYScontroller could connect, however sending a command to the gateway rusults in an error (ERROR 10054).

    I've been fighting with it for a day, exchanging compontents, rebuilding SW, etc.

    Here is what solved it!
    Changed the AVR release to 1.6.11

    I know there are problems in AVR 1.6.X, but these should have been solved in 1.6.18 and higher. Apperantly that is not the case.

    I hope this helps!

    Ralph


Log in to reply
 

Suggested Topics

  • 3
  • 2
  • 3
  • 10
  • 2
  • 15

0
Online

11.2k
Users

11.1k
Topics

112.5k
Posts