Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Troubleshooting
  3. [SOLVED] Ethernet MQTT Gateway Slow to connect

[SOLVED] Ethernet MQTT Gateway Slow to connect

Scheduled Pinned Locked Moved Troubleshooting
11 Posts 5 Posters 1.5k Views 5 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • electrikE Offline
    electrikE Offline
    electrik
    wrote on last edited by
    #2

    I'm not using a wired connection, but had many connection issues also. It took long time before the gateway was up, MQTT connections dropped.

    Then I replaced my router (the one delivered by the cable supplier) and I have no issues anymore. So that could be worth a try.

    G 1 Reply Last reply
    1
    • G Guillermo Schimmel

      Hi guys.

      I'm using an Arduino Uno + 5100 based MQTT Gateway.

      It's working great with sensors and mqtt but I have a couple if issues that may be related.

      1. It is very slow to connect to the ethernet switch

      2. won't send registration nor info about local sensors.

      Power supply is ok, external regulated 5V + 3v3 reg for nrf. All OK's on the radio front.

      Take a look at the startup log:

       MCO:BGN:INIT GW,CP=RNNGA---,REL=255,VER=2.3.1
      4 TSM:INIT
      5 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
      580 GWT:TPC:IP=192.168.1.200
      1583 MCO:BGN:STP
      1585 MCO:BGN:INIT OK,TSP=1
      1587 GWT:TPC:IP=192.168.1.200
      2590 GWT:RMQ:MQTT RECONNECT
      3594 TSM:READY:NWD REQ
      3631 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
      3638 TSF:MSG:READ,11-11-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
      3645 GWT:TPC:IP=192.168.1.200
      4647 GWT:RMQ:MQTT RECONNECT
      5652 TSF:MSG:READ,0-11-255,s=255,c=3,t=20,pt=0,l=0,sg=0:
      5657 TSF:MSG:BC
      5659 TSF:MSG:READ,2-2-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
      5664 TSF:MSG:READ,0-2-255,s=255,c=3,t=20,pt=0,l=0,sg=0:
      5669 TSF:MSG:BC
      5671 GWT:TPC:IP=192.168.1.200
      6674 GWT:RMQ:MQTT RECONNECT
      7678 GWT:TPC:IP=192.168.1.200
      8681 GWT:RMQ:MQTT RECONNECT
      9687 GWT:TPC:IP=192.168.1.200
      10690 GWT:RMQ:MQTT RECONNECT
      11695 GWT:TPC:IP=192.168.1.200
      12697 GWT:RMQ:MQTT RECONNECT
      13702 GWT:TPC:IP=192.168.1.200
      14704 GWT:RMQ:MQTT RECONNECT
      15710 GWT:TPC:IP=192.168.1.200
      16713 GWT:RMQ:MQTT RECONNECT
      17717 GWT:TPC:IP=192.168.1.200
      18720 GWT:RMQ:MQTT RECONNECT
      19725 GWT:TPC:IP=192.168.1.200
      20727 GWT:RMQ:MQTT RECONNECT
      21733 GWT:TPC:IP=192.168.1.200
      22736 GWT:RMQ:MQTT RECONNECT
      23741 GWT:TPC:IP=192.168.1.200
      24743 GWT:RMQ:MQTT RECONNECT
      25749 GWT:TPC:IP=192.168.1.200
      26752 GWT:RMQ:MQTT RECONNECT
      27758 GWT:TPC:IP=192.168.1.200
      28762 GWT:RMQ:MQTT RECONNECT
      29767 GWT:TPC:IP=192.168.1.200
      30770 GWT:RMQ:MQTT RECONNECT
      30777 GWT:RMQ:MQTT CONNECTED
      

      Only then, it starts working ok.

      When in that MQTT Reconnect, it is not responding any pings. As soon as it gets the ethernet connection running, it connects to the broker at the first attempt.

      It is directly connected to a Cisco switch. I tried everything, auto/auto, 10/full, 100/full. Any ethernet combo it's the same.

      This is the complete sketch:

      // Enable debug prints to serial monitor
      #define MY_DEBUG
      
      // Enables and select radio type (if attached)
      #define MY_RADIO_RF24
      #define MY_RF24_CHANNEL 110
      // modulo con amplificador, por ahi recomiendan bajarle la potencia (?)
      #define MY_RF24_PA_LEVEL RF24_PA_LOW
      
      #define MY_GATEWAY_MQTT_CLIENT
      
      // Set this node's subscribe and publish topic prefix
      #define MY_MQTT_PUBLISH_TOPIC_PREFIX "mygateway1-out"
      #define MY_MQTT_SUBSCRIBE_TOPIC_PREFIX "mygateway1-in"
      
      // Set MQTT client id
      #define MY_MQTT_CLIENT_ID "mysensors-1"
      
      // W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal)
      // descomentó guille
      //#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 these if your MQTT broker requires username/password
      //#define MY_MQTT_USER "username"
      //#define MY_MQTT_PASSWORD "password"
      
      // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP)
      #define MY_IP_ADDRESS 192,168,1,200
      
      // If using static ip you can define Gateway and Subnet address as well
      #define MY_IP_GATEWAY_ADDRESS 192,168,1,1
      #define MY_IP_SUBNET_ADDRESS 255,255,255,0
      
      // MQTT broker ip address or url. Define one or the other.
      //#define MY_CONTROLLER_URL_ADDRESS "m20.cloudmqtt.com"
      #define MY_CONTROLLER_IP_ADDRESS 192, 168, 1,2
      
      // The MQTT broker port to to open
      #define MY_PORT 8884
      
      /*
        // 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 16  // Error led pin
        //#define MY_DEFAULT_RX_LED_PIN  16  // Receive led pin
        //#define MY_DEFAULT_TX_LED_PIN  16  // the PCB, on board LED
      */
      
      #include <Ethernet.h>
      #include <MySensors.h>
      
      // Temperatura
      #include <SPI.h>
      #include <DallasTemperature.h>
      #include <OneWire.h>
      #define COMPARE_TEMP 1 // Send temperature only if changed? 1 = Yes 0 = No
      
      #define ONE_WIRE_BUS 2 // Pin where dallase sensor is connected 
      #define MAX_ATTACHED_DS18B20 16
      OneWire oneWire(ONE_WIRE_BUS); // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
      DallasTemperature sensors(&oneWire); // Pass the oneWire reference to Dallas Temperature. 
      float lastTemperature[MAX_ATTACHED_DS18B20];
      int numSensors=0;
      // Initialize temperature message
      MyMessage msg(0,V_TEMP);
      
      //
      
      
      void setup()
      {
        // Setup locally attached sensors
        // temperatura
          sensors.setWaitForConversion(false);
      
      }
      
      void presentation()
      {
          // Present locally attached sensors here
          sendSketchInfo("Gateway node with temp", "1.0");
      
         // Fetch the number of attached temperature sensors  
        numSensors = sensors.getDeviceCount();
           present(1, S_TEMP);
      
      }
      
      void loop()
      {
        // Send locally attached sensors data here
      
      // Fetch temperatures from Dallas sensors
        sensors.requestTemperatures();
      
        // query conversion time and sleep until conversion completed
        int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
        // sleep() call can be replaced by wait() call if node need to process incoming messages (or if node is repeater)
        wait(conversionTime);
      
        // Read temperatures and send them to controller 
        for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) {
      
          // Fetch and round temperature to one decimal
          float temperature = static_cast<float>(static_cast<int>((getControllerConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.;
      
      
        Serial.println(temperature);
      
          // Only send data if temperature has changed and no error
          #if COMPARE_TEMP == 1
          if (lastTemperature[i] != temperature && temperature != -127.00 && temperature != 85.00) {
          #else
          if (temperature != -127.00 && temperature != 85.00) {
          #endif
      
            // Send in the new temperature
            send(msg.setSensor(i).set(temperature,1));
            // Save new temperatures for next compare
            lastTemperature[i]=temperature;
          }
        }
      
      // Estudiar un poco esto. Le pongo algo para que no esté midiendo
      // permanentemente
        wait(1000);
        
      }
      

      I'm on 2.3.1

      The main issue here is the failure to use local sensors, but a faster startup time would also be great.

      Thanks in advance for any tip.

      Guillermo

      YveauxY Offline
      YveauxY Offline
      Yveaux
      Mod
      wrote on last edited by
      #3

      @guillermo-schimmel shot in the dark: make sure your Mac ID is unique on your network, or switches will get very confused

      http://yveaux.blogspot.nl

      G 1 Reply Last reply
      1
      • electrikE electrik

        I'm not using a wired connection, but had many connection issues also. It took long time before the gateway was up, MQTT connections dropped.

        Then I replaced my router (the one delivered by the cable supplier) and I have no issues anymore. So that could be worth a try.

        G Offline
        G Offline
        Guillermo Schimmel
        wrote on last edited by
        #4

        @electrik said in Ethernet MQTT Gateway Slow to connect:

        I'm not using a wired connection, but had many connection issues also. It took long time before the gateway was up, MQTT connections dropped.

        Then I replaced my router (the one delivered by the cable supplier) and I have no issues anymore. So that could be worth a try.

        Thanks for the help. I'm on a wired connection. And the network element are of great quality. I think there is a delay in ethernet.connect() but can't find it.

        mfalkviddM 1 Reply Last reply
        0
        • G Guillermo Schimmel

          @electrik said in Ethernet MQTT Gateway Slow to connect:

          I'm not using a wired connection, but had many connection issues also. It took long time before the gateway was up, MQTT connections dropped.

          Then I replaced my router (the one delivered by the cable supplier) and I have no issues anymore. So that could be worth a try.

          Thanks for the help. I'm on a wired connection. And the network element are of great quality. I think there is a delay in ethernet.connect() but can't find it.

          mfalkviddM Offline
          mfalkviddM Offline
          mfalkvidd
          Mod
          wrote on last edited by
          #5

          @guillermo-schimmel wouldn't it be a bit surprising if there is a delay that is only active on your system?

          G 1 Reply Last reply
          0
          • YveauxY Yveaux

            @guillermo-schimmel shot in the dark: make sure your Mac ID is unique on your network, or switches will get very confused

            G Offline
            G Offline
            Guillermo Schimmel
            wrote on last edited by
            #6

            @yveaux said in Ethernet MQTT Gateway Slow to connect:

            @guillermo-schimmel shot in the dark: make sure your Mac ID is unique on your network, or switches will get very confused

            Thank you for the suggestion. This is one of the lines I'm investigating.

              192.168.1.200         de-ad-be-ef-fe-ed     dynamic
            

            At the moment it seems to be some standard arduino joke, but at least is unique in the network.

            1 Reply Last reply
            0
            • mfalkviddM mfalkvidd

              @guillermo-schimmel wouldn't it be a bit surprising if there is a delay that is only active on your system?

              G Offline
              G Offline
              Guillermo Schimmel
              wrote on last edited by
              #7

              @mfalkvidd said in Ethernet MQTT Gateway Slow to connect:

              @guillermo-schimmel wouldn't it be a bit surprising if there is a delay that is only active on your system?

              Sure. I'm not meaning that. Sometimes not being an english speaker is tough.

              I mean that some combination of settings that I may have done (wrongly?) perhaps generated that delay.

              mfalkviddM 1 Reply Last reply
              1
              • G Guillermo Schimmel

                @mfalkvidd said in Ethernet MQTT Gateway Slow to connect:

                @guillermo-schimmel wouldn't it be a bit surprising if there is a delay that is only active on your system?

                Sure. I'm not meaning that. Sometimes not being an english speaker is tough.

                I mean that some combination of settings that I may have done (wrongly?) perhaps generated that delay.

                mfalkviddM Offline
                mfalkviddM Offline
                mfalkvidd
                Mod
                wrote on last edited by
                #8

                @guillermo-schimmel I see. Thanks for explaining.

                Which ethernet implementation are you using? (depends on which libraries are installed in your IDE)
                To check, turn on "Show verbose output" in Arduino IDE preferences. Then compile the sketch. At the end, something like this will be shown:

                Using library Ethernet at version 2.0.0 in folder: C:\Program Files (x86)\Arduino\libraries\Ethernet 
                Using library MySensors at version 2.3.2-alpha in folder: R:\Documents\Arduino\libraries\MySensors 
                Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI 
                

                In my implementation, there is a 560ms delay at init, in src/utility/w5100.cpp. It should only happen once though, so it should not be responsible for a 30 second delay. You could uncomment the Serial.println to verify.

                // Many Ethernet shields have a CAT811 or similar reset chip
                // connected to W5100 or W5200 chips.  The W5200 will not work at
                // all, and may even drive its MISO pin, until given an active low
                // reset pulse!  The CAT811 has a 240 ms typical pulse length, and
                // a 400 ms worst case maximum pulse length.  MAX811 has a worst
                // case maximum 560 ms pulse length.  This delay is meant to wait
                // until the reset pulse is ended.  If your hardware has a shorter
                // reset time, this can be edited or removed.
                delay(560);
                //Serial.println("w5100 init");
                

                There are quite a few Serial.println in this file. Activating them all for debugging purposes might be useful.

                There are 50ms delays in src/Dhcp.cpp and src/Dns.cpp but since you're using fixed IP and no domain names, they should not be used. You could add Serial.println statements before/after them to verify.

                G 1 Reply Last reply
                0
                • mfalkviddM mfalkvidd

                  @guillermo-schimmel I see. Thanks for explaining.

                  Which ethernet implementation are you using? (depends on which libraries are installed in your IDE)
                  To check, turn on "Show verbose output" in Arduino IDE preferences. Then compile the sketch. At the end, something like this will be shown:

                  Using library Ethernet at version 2.0.0 in folder: C:\Program Files (x86)\Arduino\libraries\Ethernet 
                  Using library MySensors at version 2.3.2-alpha in folder: R:\Documents\Arduino\libraries\MySensors 
                  Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI 
                  

                  In my implementation, there is a 560ms delay at init, in src/utility/w5100.cpp. It should only happen once though, so it should not be responsible for a 30 second delay. You could uncomment the Serial.println to verify.

                  // Many Ethernet shields have a CAT811 or similar reset chip
                  // connected to W5100 or W5200 chips.  The W5200 will not work at
                  // all, and may even drive its MISO pin, until given an active low
                  // reset pulse!  The CAT811 has a 240 ms typical pulse length, and
                  // a 400 ms worst case maximum pulse length.  MAX811 has a worst
                  // case maximum 560 ms pulse length.  This delay is meant to wait
                  // until the reset pulse is ended.  If your hardware has a shorter
                  // reset time, this can be edited or removed.
                  delay(560);
                  //Serial.println("w5100 init");
                  

                  There are quite a few Serial.println in this file. Activating them all for debugging purposes might be useful.

                  There are 50ms delays in src/Dhcp.cpp and src/Dns.cpp but since you're using fixed IP and no domain names, they should not be used. You could add Serial.println statements before/after them to verify.

                  G Offline
                  G Offline
                  Guillermo Schimmel
                  wrote on last edited by
                  #9

                  @mfalkvidd Thanks for the tips

                  I did all that

                  0 MCO:BGN:INIT GW,CP=RNNGA---,REL=255,VER=2.3.1
                  4 TSM:INIT
                  5 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
                  w5100 init
                  w5100.cpp: detect W5200 chip
                  Wiznet soft reset
                  mr=0
                  w5100.cpp: detect W5500 chip
                  Wiznet soft reset
                  mr=0
                  w5100.cpp: detect W5100 chip
                  Wiznet soft reset
                  mr=0
                  chip is W5100
                  590 GWT:TPC:IP=192.168.1.200
                  1598 MCO:BGN:STP
                  1600 MCO:BGN:INIT OK,TSP=1
                  1603 GWT:TPC:IP=192.168.1.200
                  2606 GWT:RMQ:MQTT RECONNECT
                  3610 TSM:READY:NWD REQ
                  3647 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
                  3656 GWT:TPC:IP=192.168.1.200
                  4660 GWT:RMQ:MQTT RECONNECT
                  5664 TSF:MSG:READ,2-2-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
                  5669 TSF:MSG:READ,0-2-255,s=255,c=3,t=20,pt=0,l=0,sg=0:
                  5675 TSF:MSG:BC
                  5677 TSF:MSG:READ,11-11-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
                  New temp:
                  29.19
                  5709 GWT:TPC:IP=192.168.1.200
                  6713 GWT:RMQ:MQTT RECONNECT
                  7717 TSF:MSG:READ,10-2-0,s=1,c=1,t=13,pt=2,l=2,sg=0:48
                  7723 GWT:TPC:IP=192.168.1.200
                  8726 GWT:RMQ:MQTT RECONNECT
                  9732 GWT:TPC:IP=192.168.1.200
                  10735 GWT:RMQ:MQTT RECONNECT
                  11766 GWT:TPC:IP=192.168.1.200
                  12769 GWT:RMQ:MQTT RECONNECT
                  13774 GWT:TPC:IP=192.168.1.200
                  14777 GWT:RMQ:MQTT RECONNECT
                  15783 GWT:TPC:IP=192.168.1.200
                  16786 GWT:RMQ:MQTT RECONNECT
                  17819 GWT:TPC:IP=192.168.1.200
                  18822 GWT:RMQ:MQTT RECONNECT
                  19827 TSF:MSG:READ,10-2-0,s=1,c=1,t=13,pt=2,l=2,sg=0:47
                  19832 TSF:MSG:READ,10-2-0,s=2,c=1,t=0,pt=7,l=5,sg=0:27.62
                  19837 GWT:TPC:IP=192.168.1.200
                  20841 GWT:RMQ:MQTT RECONNECT
                  21849 GWT:TPC:IP=192.168.1.200
                  22851 GWT:RMQ:MQTT RECONNECT
                  23882 GWT:TPC:IP=192.168.1.200
                  24885 GWT:RMQ:MQTT RECONNECT
                  25890 GWT:TPC:IP=192.168.1.200
                  26894 GWT:RMQ:MQTT RECONNECT
                  27901 GWT:TPC:IP=192.168.1.200
                  28904 GWT:RMQ:MQTT RECONNECT
                  29910 TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:62.6
                  29941 GWT:TPC:IP=192.168.1.200
                  30945 GWT:RMQ:MQTT RECONNECT
                  31160 GWT:RMQ:MQTT CONNECTED
                  

                  It seems to detect quickly the w5100 and then the delay is elsewhere.

                  I will try to do the same on some other modules. Perhaps the speed and duplex negotiation.

                  G 1 Reply Last reply
                  0
                  • G Guillermo Schimmel

                    @mfalkvidd Thanks for the tips

                    I did all that

                    0 MCO:BGN:INIT GW,CP=RNNGA---,REL=255,VER=2.3.1
                    4 TSM:INIT
                    5 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
                    w5100 init
                    w5100.cpp: detect W5200 chip
                    Wiznet soft reset
                    mr=0
                    w5100.cpp: detect W5500 chip
                    Wiznet soft reset
                    mr=0
                    w5100.cpp: detect W5100 chip
                    Wiznet soft reset
                    mr=0
                    chip is W5100
                    590 GWT:TPC:IP=192.168.1.200
                    1598 MCO:BGN:STP
                    1600 MCO:BGN:INIT OK,TSP=1
                    1603 GWT:TPC:IP=192.168.1.200
                    2606 GWT:RMQ:MQTT RECONNECT
                    3610 TSM:READY:NWD REQ
                    3647 TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=20,pt=0,l=0,sg=0,ft=0,st=OK:
                    3656 GWT:TPC:IP=192.168.1.200
                    4660 GWT:RMQ:MQTT RECONNECT
                    5664 TSF:MSG:READ,2-2-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
                    5669 TSF:MSG:READ,0-2-255,s=255,c=3,t=20,pt=0,l=0,sg=0:
                    5675 TSF:MSG:BC
                    5677 TSF:MSG:READ,11-11-0,s=255,c=3,t=21,pt=1,l=1,sg=0:0
                    New temp:
                    29.19
                    5709 GWT:TPC:IP=192.168.1.200
                    6713 GWT:RMQ:MQTT RECONNECT
                    7717 TSF:MSG:READ,10-2-0,s=1,c=1,t=13,pt=2,l=2,sg=0:48
                    7723 GWT:TPC:IP=192.168.1.200
                    8726 GWT:RMQ:MQTT RECONNECT
                    9732 GWT:TPC:IP=192.168.1.200
                    10735 GWT:RMQ:MQTT RECONNECT
                    11766 GWT:TPC:IP=192.168.1.200
                    12769 GWT:RMQ:MQTT RECONNECT
                    13774 GWT:TPC:IP=192.168.1.200
                    14777 GWT:RMQ:MQTT RECONNECT
                    15783 GWT:TPC:IP=192.168.1.200
                    16786 GWT:RMQ:MQTT RECONNECT
                    17819 GWT:TPC:IP=192.168.1.200
                    18822 GWT:RMQ:MQTT RECONNECT
                    19827 TSF:MSG:READ,10-2-0,s=1,c=1,t=13,pt=2,l=2,sg=0:47
                    19832 TSF:MSG:READ,10-2-0,s=2,c=1,t=0,pt=7,l=5,sg=0:27.62
                    19837 GWT:TPC:IP=192.168.1.200
                    20841 GWT:RMQ:MQTT RECONNECT
                    21849 GWT:TPC:IP=192.168.1.200
                    22851 GWT:RMQ:MQTT RECONNECT
                    23882 GWT:TPC:IP=192.168.1.200
                    24885 GWT:RMQ:MQTT RECONNECT
                    25890 GWT:TPC:IP=192.168.1.200
                    26894 GWT:RMQ:MQTT RECONNECT
                    27901 GWT:TPC:IP=192.168.1.200
                    28904 GWT:RMQ:MQTT RECONNECT
                    29910 TSF:MSG:READ,1-1-0,s=1,c=1,t=1,pt=7,l=5,sg=0:62.6
                    29941 GWT:TPC:IP=192.168.1.200
                    30945 GWT:RMQ:MQTT RECONNECT
                    31160 GWT:RMQ:MQTT CONNECTED
                    

                    It seems to detect quickly the w5100 and then the delay is elsewhere.

                    I will try to do the same on some other modules. Perhaps the speed and duplex negotiation.

                    G Offline
                    G Offline
                    Guillermo Schimmel
                    wrote on last edited by
                    #10

                    @guillermo-schimmel Well, solved.

                    Good brands not means good quality.

                    Replaced my Cisco switch for a unbranded one:

                    0 MCO:BGN:INIT GW,CP=RNNGA---,REL=255,VER=2.3.1
                    4 TSM:INIT
                    5 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
                    w5100 init
                    w5100.cpp: detect W5200 chip
                    Wiznet soft reset
                    mr=0
                    w5100.cpp: detect W5500 chip
                    Wiznet soft reset
                    mr=0
                    w5100.cpp: detect W5100 chip
                    Wiznet soft reset
                    mr=0
                    chip is W5100
                    590 GWT:TPC:IP=192.168.1.200
                    1598 MCO:BGN:STP
                    1600 MCO:BGN:INIT OK,TSP=1
                    1603 GWT:TPC:IP=192.168.1.200
                    2606 GWT:RMQ:MQTT RECONNECT
                    2615 GWT:RMQ:MQTT CONNECTED
                    

                    Connected at the first attempt.

                    Thank you guys a lot for your time.

                    1 Reply Last reply
                    1
                    • L Offline
                      L Offline
                      linkinpio
                      wrote on last edited by
                      #11

                      Hi @Guillermo-Schimmel,
                      I know it's closed but just noticed this issue, you most probably had STP (Spanning Tree Protocol) enabled on that port, which is normal for ent switch, and while it waits for a loop it blocks trafic from that port.
                      Disabling that feature should solve this problem.

                      1 Reply Last reply
                      1
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      14

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.1k

                      Posts


                      Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • MySensors
                      • OpenHardware.io
                      • Categories
                      • Recent
                      • Tags
                      • Popular