Ethernet Gateway with Nano - Invalid message length, 0 (actual) != 7 (expected)
-
Hi Guys,
back again with another problem; i m trying to build Ethernet gateway, it starts ok, gets ip but then it goes into some loop with this message on serial port:0;255;3;0;9;TSF:MSG:READ,0-0-0,s=0,c=0,t=0,pt=0,l=0,sg=0: 0;255;3;0;9;!TSF:MSG:LEN,0!=7
Gateway Startup
⸮⸮⸮⸮=⸮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 0;255;3;0;9;TSF:MSG:READ,0-0-0,s=0,c=0,t=0,pt=0,l=0,sg=0: 0;255;3;0;9;!TSF:MSG:LEN,0!=7 0;255;3;0;9;TSF:MSG:READ,0-0-0,s=0,c=0,t=0,pt=0,l=0,sg=0: 0;255;3;0;9;!TSF:MSG:LEN,0!=7 0;255;3;0;9;TSF:MSG:READ,0-0-0,s=0,c=0,t=0,pt=0,l=0,sg=0: 0;255;3;0;9;!TSF:MSG:LEN,0!=7 0;255;3;0;9;TSF:MSG:READ,0-0-0,s=0,c=0,t=0,pt=0,l=0,sg=0: 0;255;3;0;9;!TSF:MSG:LEN,0!=7 0;255;3;0;9;TSF:MSG:READ,0-0-0,s=0,c=0,t=0,pt=0,l=0,sg=0: 0;255;3;0;9;!TSF:MSG:LEN,0!=7 IP: 192.168.99.7 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,0-0-0,s=0,c=0,t=0,pt=0,l=0,sg=0: 0;255;3;0;9;!TSF:MSG:LEN,0!=7``` No Major change in code, ```/** * 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 received. In inclusion mode will blink fast only on presentation received * - TX (yellow) - blink fast on radio message transmitted. In inclusion mode will blink slowly * - ERR (red) - fast blink on error during transmission error or receive 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 #define MY_RF24_PA_LEVEL RF24_PA_MAX //#define MY_DEBUG_VERBOSE_RF24 // RF channel for the sensor net, 0-127 #define RF24_CHANNEL 125 //RF24_250KBPS for 250kbs, RF24_1MBPS for 1Mbps, or RF24_2MBPS for 2Mbps #define RF24_DATARATE RF24_250KBPS // 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,99,166 // If using static ip you can define Gateway and Subnet address as well //#define MY_IP_GATEWAY_ADDRESS 192,168,99,1 //#define MY_IP_SUBNET_ADDRESS 255,255,255,0 // Renewal period if using DHCP //#define MY_IP_RENEWAL_INTERVAL 600 // 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 Arduino examples use "DEAD BEEF FEED" for the MAC address. #define MY_MAC_ADDRESS 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED // 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 }```
-
@pihome said in Ethernet Gateway with Nano - Invalid message length, 0 (actual) != 7 (expected):
0;255;3;0;9;TSF:MSG:READ,0-0-0,s=0,c=0,t=0,pt=0,l=0,sg=0:
0;255;3;0;9;!TSF:MSG:LEN,0!=7As you can see the gateway is only receiving zeroes, probably due to a radio communication problem.
See this thread for some suggestions on how to solve it.
-
@Yveaux
yes it looks like power issue, haven't fixed it yet but for future if some one stumbled upon this posts: gateway starts ok, but as soon as some message arrives gateway reset and controller lost connection with gateway (serial output below), i dont have inductor available to test suggested solution.
PS: i have tried supplying power from separate source to W5100, changed cap on nrf from 10uf to 100uf but no luck.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.99.7 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,26-18-0,s=1,c=1,t=38,pt=7,l=5,sg=0:3.36 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.99.7 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,27-27-0,s=1,c=1,t=38,pt=7,l=5,sg=0:1.61 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.99.7 0;255;3;0;9;MCO:BGN:STP 0;255;3;0;9;MCO:BGN:INIT OK,TSP=1```
-
@pihome well, it sounds like this issue : https://www.google.nl/url?sa=t&source=web&rct=j&url=https://forum.mysensors.org/topic/4680/mysensors-2-0-ethernet-gateway-atmega-w5100-restart-all-time&ved=2ahUKEwiWhI_V07ncAhWPKVAKHRTzDh4QFjABegQIBhAB&usg=AOvVaw3McbF-Z_smHD4YYBNx5udV
-
@Yveaux
thank you for help, downgrading to the 1.16.11 version fixed the disconnection issue. now back to power problem, i have order inductors to test this but it need another 4 weeksHow to Change to version 1.116.11
172pilot: "Tools, Board, and at the top of the list, choose board manager, click in the window for "Arduino AVR Boards" and it will give you a pull-down for 'version' in the bottom left. Choose your 1.16.11 version, and click install.."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.99.5 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,25-25-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=25 0;255;3;0;9;TSF:CKU:OK,FCTRL 0;255;3;0;9;TSF:MSG:GWL OK 0;255;3;0;9;TSF:MSG:SEND,0-0-25-25,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,25-25-255,s=255,c=3,t=7,pt=0,l=0,sg=0: 0;255;3;0;9;!TSF:MSG:LEN,0!=7 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100 0;255;3;0;9;!TSF:MSG:SEND,0-0-25-25,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=NACK:0100 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=255,c=3,t=11,pt=0,l=18,sg=0:Temperature Sensor 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=255,c=3,t=12,pt=0,l=4,sg=0:1.35 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=0,c=0,t=6,pt=0,l=0,sg=0: 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2 0;255;3;0;9;TSF:MSG:SEND,0-0-25-25,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=1,c=1,t=38,pt=7,l=5,sg=0:1.47 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=255,c=3,t=0,pt=1,l=1,sg=0:34 0;255;3;0;9;TSF:MSG:READ,25-27-0,s=0,c=1,t=0,pt=7,l=5,sg=0:29.5 0;255;3;0;9;TSF:MSG:READ,26-26-0,s=1,c=5,t=46,pt=7,l=5,sg=0:6.53 0;255;3;0;9;TSF:MSG:READ,26-26-0,s=255,c=3,t=0,pt=1,l=1,sg=0:77 0;255;3;0;9;TSF:MSG:READ,26-26-0,s=0,c=1,t=0,pt=7,l=5,sg=0:28.7 0;255;3;0;9;TSF:MSG:READ,21-21-0,s=0,c=1,t=0,pt=7,l=5,sg=0:24.1 0;255;3;0;9;TSF:MSG:READ,20-20-0,s=0,c=1,t=0,pt=7,l=5,sg=0:22.8 0;255;3;0;9;TSF:MSG:READ,0-0-255,s=255,c=3,t=20,pt=0,l=0,sg=0: 0;255;3;0;9;TSF:MSG:BC 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=1,c=1,t=38,pt=7,l=5,sg=0:0.38 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=255,c=3,t=0,pt=3,l=1,sg=0:37899 0;255;3;0;9;!TSF:MSG:LEN,9!=8 0;255;3;0;9;TSF:MSG:READ,26-26-0,s=255,c=3,t=0,pt=1,l=1,sg=0:77 0;255;3;0;9;TSF:MSG:READ,25-25-0,s=0,c=1,t=0,pt=7,l=5,sg=0:29.2```
-
Hi Guys,
while troubleshooting Ethernet gateway, i discover my arduino nano voltage on different pin as i wasn't sure from where to feed power to W51000 module just decided to check voltage on these three different pins and to my surprise all three gives different values . i can not find any decent schematic to check reason for these different voltage. can some shed some light please... i always thought 5v is straight from usb connector without any regulator etc...voltage at USB connector 5.11v
VIN Pin 4.33v
5v Pin 4.76v
-
@pihome according to the arduino nano schematic 5v is connected through a diode to vusb; you'll see the voltage drop.
Vin is meant as input for the nano's voltage regulator. You should only feed power to it, not sink from it.
-
@Yveaux
thank you for reply, found something similar for 5v, just in case some one stumble upon this.+5V Output or Input +5V Output (From On-board Regulator) or +5V (Input from External Power Supply
ref: http://www.circuitstoday.com/arduino-nano-tutorial-pinout-schematics