Strange behaviour - Check Wires and Version Mismatch


  • Mod

    Hi,

    I have two strange things going on.

    1. When running the serial monitor I randomly see a message "Check Wires". Really randomly but always immediately after uploading a sketch. Any idea?

    2. I can't seem to get a child id anymore. The id is sent but below is what I see (coming in) in the serial monitor. Any idea what could be going on.

    I update to the latest git version of 1.4 this morning and updated the gateway, repeater and sensors.

    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    sensor started, id 255
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    read: 0-0-0 s=0,c=0,t=0,pt=0,l=0:
    version mismatch
    Sensor status ON
    1
    req node id
    send: 255-255-1-0 s=255,c=3,t=3,pt=0,l=0,st=ok:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:
    read: 255-255-0 s=255,c=3,t=3,pt=0,l=0:

  • Contest Winner

    @marceltrapman Is it a serial or an ethernet GW? I have received both "Check Wires" and "Version Mismatch" with W5100 Ethernet module. The problem was "war" on the SPI bus (which the W5100 abuses).
    If it is indeed an Ethernet GW, check this.
    If it is a serial GW, have a look at the supply voltages. In my experience, the onboard 3.3V regulator on an Nano (assuming you use a Nano for GW) simply does not cut it for the RF module. I have thrown in an external LE33 regulator and soldered a 4.7uF cap directly on my RF modules across GND and Vcc. This together with my patch for W5100 sorted my GW out (but it is now torn apart to be re-incarnated into something more "awesome" (forum post will cover my build) once I got things running again).


  • Admin

    I was a bit worried that I had broken something because I did a RF24 update (the one in util-folder) a couple of days ago to get SOFTSPI functionality for the scene controller example.
    But everything still seems to work fine here when I did a quick verification.

    What does your sensor output?


  • Mod

    @Anticimex it is the sensor reporting it (not the gateway) and the NRF24 is fed by a battery/converter combo and not the Pro Mini. I also use a cap.

    @Hek Do you mean the type of sensor? Or do you want to see what is received on the controller end?


  • Mod

    @hek here is the output on the controller side. This is going on for like 2-3 minutes now 😞

    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;send: 0-0-1-255 s=255,c=3,t=4,pt=0,l=1,st=ok:4
    MySensors Debug                 receive raw 0;0;3;0;9;read: 0-1-255 s=255,c=3,t=4,pt=0,l=1:4
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-255-255 s=255,c=3,t=7,pt=0,l=0:
    MySensors Debug                 receive raw 0;0;3;0;9;send: 0-0-255-255 s=255,c=3,t=8,pt=1,l=1,st=fail:0
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;send: 0-0-1-255 s=255,c=3,t=4,pt=0,l=1,st=ok:4
    MySensors Debug                 receive raw 0;0;3;0;9;read: 0-1-255 s=255,c=3,t=4,pt=0,l=1:4
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request 
    MySensors Debug                 receive raw 0;0;3;0;9;read: 255-1-0 s=255,c=3,t=3,pt=0,l=0:
    MySensors Debug                 receive raw 255;255;3;0;3;
    MySensors Debug                 get device N255C255
    MySensors Debug                 get device N255C255
    MySensors Debug                 command 255;255;3;0;4;4
    MySensors                       sent '255:255' ID response  4 
    MySensors                       received '255:255' ID request

  • Admin

    @marceltrapman said:

    receive raw 0;0;3;0;9;send: 0-0-1-255 s=255,c=3,t=4,pt=0,l=1,st=ok:4

    Strange.. Looks like id sending succeeds from gateway.


  • Mod

    @hek I agree but the sensor does not do anything with the result.
    I will clear the memory tomorrow and see what happens.


  • Mod

    @hek Even stranger, the sensor did register itself with a repeater (parent id = 1) but that was it.

    What procedure do you suggest to find out what is really going on?


  • Admin

    What happens if you move the sensor close to the gateway while fetching id. When it has been received move sensor back to the final location.

    I vaguely remember a discussion I had with @Yveaux where we concluded that the temporary id 255 would cause problems during initial id handover if a relay node was involved during this process.

    The solution would be to choose some other id (254) during this handshake.

    Just making a mental note from out discussion here:
    "So a node takes on temp ID 254, broadcasts a parent-node request and selects the best incoming parent by distance (all sent to 254). Then it requests (still with ID 254) its node ID, which is forwarded to the gateway and each relay stores the route to 254 in its routing table. The gateway assigns one, and routes it back to 254, which then takes on its new node ID. Sounds good!"


  • Mod

    @hek Apologies for the late reply.
    I have walked around with the sensor but without any luck.
    The id is requested and the id is sent but that is it.
    No further debug info either.
    Attached is a screenshot of the arduino output (left) and the controller/gateway output (right).

    Screen Shot 2014-10-25 at 14.17.11.png


  • Admin

    Hmm.. where did the id-payload (4) go?
    Type should also be 4 (I_ID_RESPONSE) but it seems to be 3...


  • Mod

    @hek said:

    Hmm.. where did the id-payload (4) go?
    Type should also be 4 (I_ID_RESPONSE) but it seems to be 3...

    Honestly I don't know what is happening here.
    The controller seems to do its work well.
    The gateway, as far as I can see, also.

    The sensor is a black hole to me right now.

    Below is the eeprom dump:

    NODE_ID          :255
    PARENT_NODE_ID   :2
    DISTANCE         :2
    ROUTES           :255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255
    CONTROLLER_CONFIG:255255255255255255255255255255255255255255255255255255255255255255255255
    FIRMWARE_TYPE    :255255
    FIRMWARE_VERSION :255255
    FIRMWARE_BLOCKS  :255255
    FIRMWARE_CRC     :255255
    LOCAL_CONFIG     :255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255255
    

    Repeater id is indeed 2.
    Don't know what the distance value represents.


  • Admin

    what happens if you hard-code parent to 0 in begin() while fetching id?


  • Mod

    @hek said:

    what happens if you hard-code parent to 0 in begin() while fetching id?

    Even stranger. This is what I do:

    //board.begin(msgCallback, nodeId, repeaterMode, parentNodeId, paLevel, channel, dataRate);
    board.begin(NULL, NULL, false, 0);
    

    This is now the result:

    NODE_ID          :0
    PARENT_NODE_ID   :2
    DISTANCE         :2
    

    Do you want me to write the node id and parent id direct into the eeprom?


  • Admin

    setting the parent in constructor won't update the eeprom. It just uses the specified parent and never searches for a new one.

    And you'll have to specify AUTO for id


  • Mod

    @hek So, how do I 'suddenly' have id = 0 then?

    I will clear the eeprom again and see what happens...


  • Mod

    @marceltrapman Stupid fail with that AUTO setting 😊

    But the good news is that my sensor now has ID 4...

    So the bad news, I guess, is that the repeater seems to fail...


  • Admin

    As I mentioned earlier fetching id THROUGH a repeater need some additional love.


  • Mod

    @hek said:

    As I mentioned earlier fetching id THROUGH a repeater need some additional love.

    Hmm, so I fail that love 😞

    How can we get this thing going?
    The thing is don't want to walk down to my gateway each time I want to test something out.
    And, I also prefer not to use a fixed id because that would make testing the controller plugin a b****.


  • Hero Member

    Hey @marceltrapman - I just upgraded one of my sketches from 1.3 to 1.4 ( im finally moving to 1.4 in "production!!)

    Anyway, i had the same issue with version mismatch error and spewing out

    version mismatch
    read: 255-255-255 s=255,c=7,t=255,pt=7,l=31:NAN
    version mismatch
    read: 255-255-255 s=255,c=7,t=255,pt=7,l=31:NAN
    version mismatch
    read: 255-255-255 s=255,c=7,t=255,pt=7,l=31:NAN
    version mismatch
    read: 255-255-255 s=255,c=7,t=255,pt=7,l=31:NAN
    

    wondering wtf was going on, i disconnected the relays board connected to VCC... the messages stopped and everything worked correctly- other than the relays actuating...
    figured it could be a power issue, i connected proper power source as the issue occured with just a USB 5v from my PC....and reconnecting relay all worked properly..including now the relay.

    So, check your powersupply!

    HTH..


  • Mod

    @gregl said:

    So, check your powersupply!

    I don't see the version mismatch thing anymore luckily but it would have surprised me if it was power. Not only did I check it but I also use a power converter in this case to supply constant 3.3v (I use pro mini 3.3v).

    Anyway, thanks for the tip 🙂



  • Same here. I had to go up to 5V to power my Arduino Pro Mini 3.3V sufficiently.


Log in to reply
 

Suggested Topics

0
Online

11.2k
Users

11.1k
Topics

112.5k
Posts