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. Development
  3. MYSBootloader 1.3pre2 testing

MYSBootloader 1.3pre2 testing

Scheduled Pinned Locked Moved Development
otamyscontrollermysbootloader
73 Posts 25 Posters 30.6k Views 31 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.
  • JCLBJ JCLB

    @pku if your keys are in the sketch everything will work for signing.
    #define MY_SOFT_HMAC_KEY XXX... //signing key
    #define MY_AES_KEY XXX... // if you use encryption
    Of course if you want to use whitelisting then you need to compile each node sketch separately with it's serial.

    @NiklasO
    Personally I set the node ID manually to avoid this
    #define MY_NODE_ID 30 // Sets a static id for a node
    And I group tens so all my 3X nodes are in kitchen, 4X in office, 11X in bedroom 1 and so on.

    I would love to see a proxy mode in MYSController, in order to interface between a controller that doesn't support OTA and an Ethernet gateway :heart_eyes:

    Let say your LAN is the following:

    • MySensors gateway 192.168.0.1
    • controller (raspberry + Domoticz or else) 192.168.0.2
    • PC with MYSController 192.168.0.3

    Whenever you need to update a node, you launch MYSController but don't connect to the gateway, then you tells Domoticz .2 to connect to MYSController .3 instead of the gateway .1, at this point MYSController starts relaying everything between Domoticz and the gateway + provides you the ability to update a node.

    When you want to get back to normal operations, you set back 192.168.0.1 on Domoticz, MYSController receives a TCP reset and ends it's session with Domoticz and stop the session with the gateway.

    We would get a minimum downtime and can could use MYSController to update nodes and debug traffic while letting the normal controller...controlling

    AndurilA Offline
    AndurilA Offline
    Anduril
    wrote on last edited by
    #33

    @JCLB said:

    @pku if your keys are in the sketch everything will work for signing.
    #define MY_SOFT_HMAC_KEY XXX... //signing key
    #define MY_AES_KEY XXX... // if you use encryption
    Of course if you want to use whitelisting then you need to compile each node sketch separately with it's serial.

    but that would give a listener your full MY_SOFT_HMAC_KEY and signing would be useless in future. Therefor it is better to write the key in eeprom with cable and later only update firmware without key via OTA.

    pkuP 1 Reply Last reply
    0
    • AndurilA Anduril

      @JCLB said:

      @pku if your keys are in the sketch everything will work for signing.
      #define MY_SOFT_HMAC_KEY XXX... //signing key
      #define MY_AES_KEY XXX... // if you use encryption
      Of course if you want to use whitelisting then you need to compile each node sketch separately with it's serial.

      but that would give a listener your full MY_SOFT_HMAC_KEY and signing would be useless in future. Therefor it is better to write the key in eeprom with cable and later only update firmware without key via OTA.

      pkuP Offline
      pkuP Offline
      pku
      wrote on last edited by
      #34

      @Anduril

      1. I agree, keys located in sketch can be used as workaround only, because the security is broken.
      2. But I'm interesting in key located in EEPROM. How it is work during flashing? If Clear EEPROM fuse is not set then everybody can take my outside node, put his own firmware and it will work with keys from EEPROM. It is again a security issue (of course he must have physical access to my node).
        I thing it should work with this scenario:
      • reguest for new firmware
      • copy key, serial and rsa into RAM
      • flash new firmware (with fuse clear EEPROM)
      • copy key, serial and rsa back into EEPROM

      What do you thing?

      1 Reply Last reply
      0
      • AndurilA Offline
        AndurilA Offline
        Anduril
        wrote on last edited by
        #35

        For a node that is physically accessable it is realy hard. First: does this node needs signing? For sensor data you don't need in most cases. Maybe you should use the hardware chip, there you can't read out the key and if it was locked you also can't change it.
        If you still need to use softsigning you could use whitelisting and revoke the whitelist-entry in case of corruption.

        1 Reply Last reply
        0
        • jmkhaelJ Offline
          jmkhaelJ Offline
          jmkhael
          wrote on last edited by jmkhael
          #36

          Hello,

          I am trying to use MYSController with MYSBootloader 1.3pre2 to reassign a node's ID, and I cannot make it work.
          I've tried to check/uncheck the Auto ID toggle/tried to use the MYSBootloader CMDs/Assign ID and setting a new one to no avail.

          After that, when it reboots, the node reask for it's firmware, and MYSController re-uploads it, but the node keeps the old ID from the EEProm. (note that the sketch don't hardcode the node's ID).

          I'd like to keep the ID management free (i.e. do not hardcode all my node's IDs of course)

          How can I do that?

           [2016-10-21 13:41:33.318 Info] CLICK	Reassign ID from 1 to 20
           [2016-10-21 13:41:33.319 Info] TX	1;0;3;0;13;0
           [2016-10-21 13:41:33.364 Info] RX	0;255;3;0;9;!TSP:MSG:SEND 0-0-1-1 s=0,c=3,t=13,pt=0,l=1,sg=0,ft=0,st=fail:0
           [2016-10-21 13:41:37.886 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155561124
           [2016-10-21 13:41:37.886 Info] RX	4;255;3;0;22;155561124
           [2016-10-21 13:41:42.855 Info] RX	0;255;3;0;9;TSP:MSG:READ 2-2-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
           [2016-10-21 13:41:42.857 Info] RX	2;1;1;0;16;0
           [2016-10-21 13:41:46.623 Info] RX	0;255;3;0;9;TSP:MSG:READ 8-5-0 s=2,c=1,t=16,pt=0,l=1,sg=0:0
           [2016-10-21 13:41:46.625 Info] RX	8;2;1;0;16;0
           [2016-10-21 13:41:47.899 Info] RX	0;255;3;0;9;TSP:MSG:READ 8-5-0 s=3,c=1,t=23,pt=2,l=2,sg=0:80
           [2016-10-21 13:41:47.901 Info] RX	8;3;1;0;23;80
           [2016-10-21 13:41:50.491 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=1,c=1,t=0,pt=7,l=5,sg=0:22.0
           [2016-10-21 13:41:50.494 Info] RX	0;255;3;0;9;TSP:MSG:ACK msg
           [2016-10-21 13:41:50.540 Info] RX	0;255;3;0;9;!TSP:MSG:SEND 0-0-4-4 s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=fail:22.0
           [2016-10-21 13:41:50.540 Info] RX	4;1;1;0;0;22.0
           [2016-10-21 13:41:50.570 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155562401
           [2016-10-21 13:41:50.570 Info] RX	4;255;3;0;22;155562401
           [2016-10-21 13:41:57.014 Info] RX	0;255;3;0;9;TSP:SANCHK:OK
           [2016-10-21 13:42:02.832 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155563404
           [2016-10-21 13:42:02.832 Info] RX	4;255;3;0;22;155563404
           [2016-10-21 13:42:20.453 Info] RX	0;255;3;0;9;TSP:MSG:READ 1-1-0 s=255,c=3,t=22,pt=5,l=4,sg=0:4712
           [2016-10-21 13:42:20.453 Info] RX	1;255;3;0;22;4712
           [2016-10-21 13:42:20.453 Info] CHILD	New child discovered, node id=1, child id=internal
           [2016-10-21 13:42:20.951 Info] RX	0;255;3;0;9;TSP:MSG:READ 1-1-0 s=2,c=1,t=16,pt=0,l=1,sg=0:0
           [2016-10-21 13:42:20.953 Info] RX	1;2;1;0;16;0
           [2016-10-21 13:42:20.953 Info] CHILD	New child discovered, node id=1, child id=2
           [2016-10-21 13:42:21.954 Info] RX	0;255;3;0;9;TSP:MSG:READ 1-1-0 s=3,c=1,t=23,pt=2,l=2,sg=0:42
           [2016-10-21 13:42:21.956 Info] RX	1;3;1;0;23;42
           [2016-10-21 13:42:21.956 Info] CHILD	New child discovered, node id=1, child id=3
           [2016-10-21 13:42:27.773 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155565680
           [2016-10-21 13:42:27.774 Info] RX	4;255;3;0;22;155565680
           [2016-10-21 13:42:40.382 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155566954
           [2016-10-21 13:42:40.382 Info] RX	4;255;3;0;22;155566954
          
          Starting sensor (RNNNA-, 2.0.0)
          TSM:INIT
          TSM:RADIO:OK
          TSP:ASSIGNID:OK (ID=1)
          TSM:FPAR
          TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
          TSP:MSG:READ 5-5-1 s=255,c=3,t=8,pt=1,l=1,sg=0:1
          TSP:MSG:FPAR RES (ID=5, dist=1)
          TSP:MSG:PAR OK (ID=5, dist=2)
          TSP:MSG:READ 0-0-1 s=255,c=3,t=8,pt=1,l=1,sg=0:0
          TSP:MSG:FPAR RES (ID=0, dist=0)
          TSP:MSG:PAR OK (ID=0, dist=1)
          TSM:FPAR:OK
          TSM:ID
          TSM:CHKID:OK (ID=1)
          TSM:UPL
          TSP:PING:SEND (dest=0)
          TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1
          TSP:MSG:READ 0-0-1 s=255,c=3,t=25,pt=1,l=1,sg=0:1
          TSP:MSG:PONG RECV (hops=1)
          TSP:CHKUPL:OK
          TSM:UPL:OK
          TSM:READY
          TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
          TSP:MSG:SEND 1-1-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0
          TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0
          TSP:MSG:READ 0-0-1 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
          TSP:MSG:READ 0-0-1 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
          TSP:MSG:READ 0-0-1 s=255,c=3,t=6,pt=0,l=1,sg=0:M
          TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=ok:Multi Sensor
          TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=ok:1.0
          TSP:MSG:SEND 1-1-0-0 s=2,c=0,t=1,pt=0,l=0,sg=0,ft=0,st=ok:
          TSP:MSG:SEND 1-1-0-0 s=0,c=0,t=7,pt=0,l=0,sg=0,ft=0,st=ok:
          TSP:MSG:SEND 1-1-0-0 s=1,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok:
          TSP:MSG:SEND 1-1-0-0 s=3,c=0,t=16,pt=0,l=0,sg=0,ft=0,st=ok:
          Request registration...
          TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2
          TSP:MSG:READ 0-0-1 s=255,c=3,t=27,pt=1,l=1,sg=0:1
          Node registration=1
          Init complete, id=1, parent=0, distance=1, registration=1
          TSP:MSG:SEND 1-1-0-0 s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=ok:0
          TSP:MSG:SEND 1-1-0-0 s=3,c=1,t=23,pt=2,l=2,sg=0,ft=0,st=ok:54
          
          tekkaT 1 Reply Last reply
          0
          • JamesT42J Offline
            JamesT42J Offline
            JamesT42
            wrote on last edited by
            #37

            Hi! Great work!
            I have a small question: How does your Bootloader know which channel to listen on?

            pkuP tekkaT 2 Replies Last reply
            0
            • JamesT42J JamesT42

              Hi! Great work!
              I have a small question: How does your Bootloader know which channel to listen on?

              pkuP Offline
              pkuP Offline
              pku
              wrote on last edited by
              #38

              @JamesT42
              Hi, it is hardcoded within the bootloader: nRF24 (Channel 76, base address 0xA8A8E1FC00, data rate 250kbs)

              1 Reply Last reply
              0
              • jmkhaelJ jmkhael

                Hello,

                I am trying to use MYSController with MYSBootloader 1.3pre2 to reassign a node's ID, and I cannot make it work.
                I've tried to check/uncheck the Auto ID toggle/tried to use the MYSBootloader CMDs/Assign ID and setting a new one to no avail.

                After that, when it reboots, the node reask for it's firmware, and MYSController re-uploads it, but the node keeps the old ID from the EEProm. (note that the sketch don't hardcode the node's ID).

                I'd like to keep the ID management free (i.e. do not hardcode all my node's IDs of course)

                How can I do that?

                 [2016-10-21 13:41:33.318 Info] CLICK	Reassign ID from 1 to 20
                 [2016-10-21 13:41:33.319 Info] TX	1;0;3;0;13;0
                 [2016-10-21 13:41:33.364 Info] RX	0;255;3;0;9;!TSP:MSG:SEND 0-0-1-1 s=0,c=3,t=13,pt=0,l=1,sg=0,ft=0,st=fail:0
                 [2016-10-21 13:41:37.886 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155561124
                 [2016-10-21 13:41:37.886 Info] RX	4;255;3;0;22;155561124
                 [2016-10-21 13:41:42.855 Info] RX	0;255;3;0;9;TSP:MSG:READ 2-2-0 s=1,c=1,t=16,pt=0,l=1,sg=0:0
                 [2016-10-21 13:41:42.857 Info] RX	2;1;1;0;16;0
                 [2016-10-21 13:41:46.623 Info] RX	0;255;3;0;9;TSP:MSG:READ 8-5-0 s=2,c=1,t=16,pt=0,l=1,sg=0:0
                 [2016-10-21 13:41:46.625 Info] RX	8;2;1;0;16;0
                 [2016-10-21 13:41:47.899 Info] RX	0;255;3;0;9;TSP:MSG:READ 8-5-0 s=3,c=1,t=23,pt=2,l=2,sg=0:80
                 [2016-10-21 13:41:47.901 Info] RX	8;3;1;0;23;80
                 [2016-10-21 13:41:50.491 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=1,c=1,t=0,pt=7,l=5,sg=0:22.0
                 [2016-10-21 13:41:50.494 Info] RX	0;255;3;0;9;TSP:MSG:ACK msg
                 [2016-10-21 13:41:50.540 Info] RX	0;255;3;0;9;!TSP:MSG:SEND 0-0-4-4 s=1,c=1,t=0,pt=7,l=5,sg=0,ft=0,st=fail:22.0
                 [2016-10-21 13:41:50.540 Info] RX	4;1;1;0;0;22.0
                 [2016-10-21 13:41:50.570 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155562401
                 [2016-10-21 13:41:50.570 Info] RX	4;255;3;0;22;155562401
                 [2016-10-21 13:41:57.014 Info] RX	0;255;3;0;9;TSP:SANCHK:OK
                 [2016-10-21 13:42:02.832 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155563404
                 [2016-10-21 13:42:02.832 Info] RX	4;255;3;0;22;155563404
                 [2016-10-21 13:42:20.453 Info] RX	0;255;3;0;9;TSP:MSG:READ 1-1-0 s=255,c=3,t=22,pt=5,l=4,sg=0:4712
                 [2016-10-21 13:42:20.453 Info] RX	1;255;3;0;22;4712
                 [2016-10-21 13:42:20.453 Info] CHILD	New child discovered, node id=1, child id=internal
                 [2016-10-21 13:42:20.951 Info] RX	0;255;3;0;9;TSP:MSG:READ 1-1-0 s=2,c=1,t=16,pt=0,l=1,sg=0:0
                 [2016-10-21 13:42:20.953 Info] RX	1;2;1;0;16;0
                 [2016-10-21 13:42:20.953 Info] CHILD	New child discovered, node id=1, child id=2
                 [2016-10-21 13:42:21.954 Info] RX	0;255;3;0;9;TSP:MSG:READ 1-1-0 s=3,c=1,t=23,pt=2,l=2,sg=0:42
                 [2016-10-21 13:42:21.956 Info] RX	1;3;1;0;23;42
                 [2016-10-21 13:42:21.956 Info] CHILD	New child discovered, node id=1, child id=3
                 [2016-10-21 13:42:27.773 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155565680
                 [2016-10-21 13:42:27.774 Info] RX	4;255;3;0;22;155565680
                 [2016-10-21 13:42:40.382 Info] RX	0;255;3;0;9;TSP:MSG:READ 4-4-0 s=255,c=3,t=22,pt=5,l=4,sg=0:155566954
                 [2016-10-21 13:42:40.382 Info] RX	4;255;3;0;22;155566954
                
                Starting sensor (RNNNA-, 2.0.0)
                TSM:INIT
                TSM:RADIO:OK
                TSP:ASSIGNID:OK (ID=1)
                TSM:FPAR
                TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                TSP:MSG:READ 5-5-1 s=255,c=3,t=8,pt=1,l=1,sg=0:1
                TSP:MSG:FPAR RES (ID=5, dist=1)
                TSP:MSG:PAR OK (ID=5, dist=2)
                TSP:MSG:READ 0-0-1 s=255,c=3,t=8,pt=1,l=1,sg=0:0
                TSP:MSG:FPAR RES (ID=0, dist=0)
                TSP:MSG:PAR OK (ID=0, dist=1)
                TSM:FPAR:OK
                TSM:ID
                TSM:CHKID:OK (ID=1)
                TSM:UPL
                TSP:PING:SEND (dest=0)
                TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1
                TSP:MSG:READ 0-0-1 s=255,c=3,t=25,pt=1,l=1,sg=0:1
                TSP:MSG:PONG RECV (hops=1)
                TSP:CHKUPL:OK
                TSM:UPL:OK
                TSM:READY
                TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
                TSP:MSG:SEND 1-1-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0
                TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0
                TSP:MSG:READ 0-0-1 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                TSP:MSG:READ 0-0-1 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                TSP:MSG:READ 0-0-1 s=255,c=3,t=6,pt=0,l=1,sg=0:M
                TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=ok:Multi Sensor
                TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=ok:1.0
                TSP:MSG:SEND 1-1-0-0 s=2,c=0,t=1,pt=0,l=0,sg=0,ft=0,st=ok:
                TSP:MSG:SEND 1-1-0-0 s=0,c=0,t=7,pt=0,l=0,sg=0,ft=0,st=ok:
                TSP:MSG:SEND 1-1-0-0 s=1,c=0,t=6,pt=0,l=0,sg=0,ft=0,st=ok:
                TSP:MSG:SEND 1-1-0-0 s=3,c=0,t=16,pt=0,l=0,sg=0,ft=0,st=ok:
                Request registration...
                TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2
                TSP:MSG:READ 0-0-1 s=255,c=3,t=27,pt=1,l=1,sg=0:1
                Node registration=1
                Init complete, id=1, parent=0, distance=1, registration=1
                TSP:MSG:SEND 1-1-0-0 s=2,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=ok:0
                TSP:MSG:SEND 1-1-0-0 s=3,c=1,t=23,pt=2,l=2,sg=0,ft=0,st=ok:54
                
                tekkaT Offline
                tekkaT Offline
                tekka
                Admin
                wrote on last edited by tekka
                #39

                @jmkhael Bootloader commands have been removed due to size constraints (see initial post). If you want to change the node ID you can send a C_INTERNAL / I_ID_RESPONSE / <new ID> message to an actively listening node.

                1 Reply Last reply
                0
                • JamesT42J JamesT42

                  Hi! Great work!
                  I have a small question: How does your Bootloader know which channel to listen on?

                  tekkaT Offline
                  tekkaT Offline
                  tekka
                  Admin
                  wrote on last edited by
                  #40

                  @JamesT42 Thanks. As @pku pointed out, this is hardcoded. With the final release of MYSBootloader and its source code, everybody will be able to adjust settings and recompile the bootloader as needed.

                  1 Reply Last reply
                  1
                  • jmkhaelJ Offline
                    jmkhaelJ Offline
                    jmkhael
                    wrote on last edited by
                    #41

                    @tekka : fair enough, i should read better next time :)
                    i'll try the way you suggest. thank you.

                    1 Reply Last reply
                    0
                    • kleinerDracheK Offline
                      kleinerDracheK Offline
                      kleinerDrache
                      wrote on last edited by
                      #42

                      hi tekka
                      I had to change the channel of the NRF from 76 to 0 here because of massive disturbances . Unfortunately, no OTA works now. Is it possible to create a modified bootloader that works with 0 instead of 76? Sorry for the bad english it is translated with google.

                      1 Reply Last reply
                      0
                      • LorenzoL Offline
                        LorenzoL Offline
                        Lorenzo
                        wrote on last edited by
                        #43

                        Hi, thank for the great work.
                        I also use a different Channel, in fact I have 3 area with 3 differents Channels.
                        Do you have a plan about source code release date ?

                        1 Reply Last reply
                        0
                        • techRHT Offline
                          techRHT Offline
                          techRH
                          wrote on last edited by techRH
                          #44

                          Is there a way to debug the bootloader should it print debug information and how to see this?

                          1 Reply Last reply
                          0
                          • Suresh MaliS Offline
                            Suresh MaliS Offline
                            Suresh Mali
                            wrote on last edited by
                            #45
                            This post is deleted!
                            1 Reply Last reply
                            0
                            • TetnobicT Offline
                              TetnobicT Offline
                              Tetnobic
                              wrote on last edited by Tetnobic
                              #46

                              Hi,
                              I just start to test this bootloader...
                              I use an ATmega328p on breadboard with no external clock, with nRF24 and somes sensors.
                              Firmware Upload (by usbasp) and Run is ok, Send/Receive Data is ok too , but when I ask a reboot (with MYSController 1.0.0beta), my node enter in sort of strange start loop...
                              My Fuse settings :

                              bootloader.unlock_bits=0x3F
                              bootloader.lock_bits=0x0F
                              bootloader.low_fuses=0x62
                              bootloader.high_fuses=0xDA
                              bootloader.extended_fuses=0x07
                              

                              Node debug Trace :

                              .....
                              TSP:MSG:READ 0-0-4 s=2,c=1,t=0,pt=7,l=5,sg=0:28.18
                              TSP:MSG:READ 0-0-4 s=1,c=1,t=1,pt=7,l=5,sg=0:38.28
                              TSP:MSG:READ 0-0-4 s=0,c=3,t=13,pt=0,l=1,sg=0:0
                              StartiStartiStartiStartiþStartiþStartiþStartiStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþStartiþ
                              ....
                              

                              The "Startiþ" text is the first char of the first text printed by bootloader at start : "Starting sensor....."
                              Have you an idea ?

                              Thanks

                              1 Reply Last reply
                              0
                              • tekkaT Offline
                                tekkaT Offline
                                tekka
                                Admin
                                wrote on last edited by
                                #47

                                Please provide additional information such as library version, full debug log of your GW and node. Which bootloader/version are you using?

                                TetnobicT 1 Reply Last reply
                                0
                                • tekkaT tekka

                                  Please provide additional information such as library version, full debug log of your GW and node. Which bootloader/version are you using?

                                  TetnobicT Offline
                                  TetnobicT Offline
                                  Tetnobic
                                  wrote on last edited by
                                  #48

                                  @tekka Thanks for you response
                                  For gateway :
                                  Raspberrry PI Gateway in Ethernet mode
                                  Protocol version : 2.0.1-beta

                                  For Node :
                                  I use bootloader : MYSBL13pre_atmega328_1Mhz.hex
                                  Inital Sketch do nothing :) :

                                  #define MY_DEBUG
                                  #define MY_BAUD_RATE 9600
                                  #define MY_RADIO_NRF24
                                  #define MY_OTA_FIRMWARE_FEATURE
                                  #define MY_NODE_ID 1
                                  
                                  #include <MySensors.h>
                                  
                                  void presentation(){
                                    sendSketchInfo("MyFirstBoard", "0.0.2", true);
                                  }
                                  
                                  void setup() {
                                  }
                                  
                                  void loop() {
                                    wait(5000);
                                  }
                                  

                                  Test Case: Start Gateway, Connect MYSController 1.0.0beta, then start my sensor, after init complete, click reboot in MYSController
                                  Gateway Log :

                                  mysgw: Starting gateway...
                                  mysgw: Protocol version - 2.0.1-beta
                                  mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.0.1-beta
                                  mysgw: TSF:LRT:OK
                                  mysgw: TSM:INIT
                                  mysgw: TSM:INIT:TSP OK
                                  mysgw: TSM:INIT:GW MODE
                                  mysgw: TSM:READY
                                  mysgw: Listening for connections on 0.0.0.0:5003
                                  mysgw: MCO:REG:NOT NEEDED
                                  mysgw: MCO:BGN:STP
                                  mysgw: MCO:BGN:INIT OK,ID=0,PAR=0,DIS=0,REG=1
                                  
                                  mysgw: New connection from 10.31.10.59
                                  mysgw: Client 0 connected
                                  
                                  mysgw: TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
                                  mysgw: TSF:MSG:BC
                                  mysgw: TSF:MSG:FPAR REQ,ID=1
                                  mysgw: TSF:PNG:SEND,TO=0
                                  mysgw: TSF:CKU:OK
                                  mysgw: TSF:MSG:GWL OK
                                  mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
                                  mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
                                  mysgw: TSF:MSG:PINGED,ID=1,HP=1
                                  mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1
                                  mysgw: TSF:MSG:READ,1-1-0,s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFFFFF0300
                                  mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                                  mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
                                  mysgw: TSF:MSG:READ,1-1-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.0.0
                                  mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0
                                  mysgw: Client 0: 1;255;3;0;6;M
                                  mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M
                                  mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=11,pt=0,l=12,sg=0:MyFirstBoard
                                  mysgw: TSF:MSG:ACK REQ
                                  mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=OK:MyFirstBoard
                                  mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=12,pt=0,l=5,sg=0:0.0.2
                                  mysgw: TSF:MSG:ACK REQ
                                  mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=12,pt=0,l=5,sg=0,ft=0,st=OK:0.0.2
                                  mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
                                  mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1
                                  
                                  mysgw: Client 0: 1;0;3;0;13;0
                                  mysgw: TSF:MSG:SEND,0-0-1-1,s=0,c=3,t=13,pt=0,l=1,sg=0,ft=0,st=OK:0
                                  
                                  

                                  NodeLog :

                                  Starting sensor (RNONA-, 2.0.0)
                                  TSM:INIT
                                  TSM:RADIO:OK
                                  TSP:ASSIGNID:OK (ID=1)
                                  TSM:FPAR
                                  TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                  TSM:FPAR
                                  TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                  TSP:MSG:READ 0-0-1 s=255,c=3,t=8,pt=1,l=1,sg=0:0
                                  TSP:MSG:FPAR RES (ID=0, dist=0)
                                  TSP:MSG:PAR OK (ID=0, dist=1)
                                  TSM:FPAR:OK
                                  TSM:ID
                                  TSM:CHKID:OK (ID=1)
                                  TSM:UPL
                                  TSP:PING:SEND (dest=0)
                                  TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1
                                  TSP:MSG:READ 0-0-1 s=255,c=3,t=25,pt=1,l=1,sg=0:1
                                  TSP:MSG:PONG RECV (hops=1)
                                  TSP:CHKUPL:OK
                                  TSM:UPL:OK
                                  TSM:READY
                                  TSP:MSG:SEND 1-1-0-0 s=255,c=4,t=0,pt=6,l=10,sg=0,ft=0,st=ok:FFFFFFFFFFFFFFFF0300
                                  TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
                                  TSP:MSG:SEND 1-1-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0
                                  TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0
                                  TSP:MSG:READ 0-0-1 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                                  TSP:MSG:READ 0-0-1 s=255,c=3,t=6,pt=0,l=1,sg=0:M
                                  TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=ok:MyFirstBoard
                                  TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=12,pt=0,l=5,sg=0,ft=0,st=ok:0.0.2
                                  Request registration...
                                  TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2
                                  TSP:MSG:READ 0-0-1 s=255,c=3,t=11,pt=0,l=12,sg=0:MyFirstBoard
                                  TSP:MSG:READ 0-0-1 s=255,c=3,t=12,pt=0,l=5,sg=0:0.0.2
                                  TSP:MSG:READ 0-0-1 s=255,c=3,t=27,pt=1,l=1,sg=0:1
                                  Node registration=1
                                  Init complete, id=1, parent=0, distance=1, registration=1
                                  TSP:MSG:READ 0-0-1 s=0,c=3,t=13,pt=0,l=1,sg=0:0
                                  StartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiîStartiîStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiþStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStarti
                                  

                                  Need others infos ?
                                  Thanks for your time

                                  tekkaT 1 Reply Last reply
                                  0
                                  • TetnobicT Tetnobic

                                    @tekka Thanks for you response
                                    For gateway :
                                    Raspberrry PI Gateway in Ethernet mode
                                    Protocol version : 2.0.1-beta

                                    For Node :
                                    I use bootloader : MYSBL13pre_atmega328_1Mhz.hex
                                    Inital Sketch do nothing :) :

                                    #define MY_DEBUG
                                    #define MY_BAUD_RATE 9600
                                    #define MY_RADIO_NRF24
                                    #define MY_OTA_FIRMWARE_FEATURE
                                    #define MY_NODE_ID 1
                                    
                                    #include <MySensors.h>
                                    
                                    void presentation(){
                                      sendSketchInfo("MyFirstBoard", "0.0.2", true);
                                    }
                                    
                                    void setup() {
                                    }
                                    
                                    void loop() {
                                      wait(5000);
                                    }
                                    

                                    Test Case: Start Gateway, Connect MYSController 1.0.0beta, then start my sensor, after init complete, click reboot in MYSController
                                    Gateway Log :

                                    mysgw: Starting gateway...
                                    mysgw: Protocol version - 2.0.1-beta
                                    mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.0.1-beta
                                    mysgw: TSF:LRT:OK
                                    mysgw: TSM:INIT
                                    mysgw: TSM:INIT:TSP OK
                                    mysgw: TSM:INIT:GW MODE
                                    mysgw: TSM:READY
                                    mysgw: Listening for connections on 0.0.0.0:5003
                                    mysgw: MCO:REG:NOT NEEDED
                                    mysgw: MCO:BGN:STP
                                    mysgw: MCO:BGN:INIT OK,ID=0,PAR=0,DIS=0,REG=1
                                    
                                    mysgw: New connection from 10.31.10.59
                                    mysgw: Client 0 connected
                                    
                                    mysgw: TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
                                    mysgw: TSF:MSG:BC
                                    mysgw: TSF:MSG:FPAR REQ,ID=1
                                    mysgw: TSF:PNG:SEND,TO=0
                                    mysgw: TSF:CKU:OK
                                    mysgw: TSF:MSG:GWL OK
                                    mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
                                    mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
                                    mysgw: TSF:MSG:PINGED,ID=1,HP=1
                                    mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1
                                    mysgw: TSF:MSG:READ,1-1-0,s=255,c=4,t=0,pt=6,l=10,sg=0:FFFFFFFFFFFFFFFF0300
                                    mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                                    mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
                                    mysgw: TSF:MSG:READ,1-1-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.0.0
                                    mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0
                                    mysgw: Client 0: 1;255;3;0;6;M
                                    mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M
                                    mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=11,pt=0,l=12,sg=0:MyFirstBoard
                                    mysgw: TSF:MSG:ACK REQ
                                    mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=OK:MyFirstBoard
                                    mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=12,pt=0,l=5,sg=0:0.0.2
                                    mysgw: TSF:MSG:ACK REQ
                                    mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=12,pt=0,l=5,sg=0,ft=0,st=OK:0.0.2
                                    mysgw: TSF:MSG:READ,1-1-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
                                    mysgw: TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=OK:1
                                    
                                    mysgw: Client 0: 1;0;3;0;13;0
                                    mysgw: TSF:MSG:SEND,0-0-1-1,s=0,c=3,t=13,pt=0,l=1,sg=0,ft=0,st=OK:0
                                    
                                    

                                    NodeLog :

                                    Starting sensor (RNONA-, 2.0.0)
                                    TSM:INIT
                                    TSM:RADIO:OK
                                    TSP:ASSIGNID:OK (ID=1)
                                    TSM:FPAR
                                    TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                    TSM:FPAR
                                    TSP:MSG:SEND 1-1-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
                                    TSP:MSG:READ 0-0-1 s=255,c=3,t=8,pt=1,l=1,sg=0:0
                                    TSP:MSG:FPAR RES (ID=0, dist=0)
                                    TSP:MSG:PAR OK (ID=0, dist=1)
                                    TSM:FPAR:OK
                                    TSM:ID
                                    TSM:CHKID:OK (ID=1)
                                    TSM:UPL
                                    TSP:PING:SEND (dest=0)
                                    TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1
                                    TSP:MSG:READ 0-0-1 s=255,c=3,t=25,pt=1,l=1,sg=0:1
                                    TSP:MSG:PONG RECV (hops=1)
                                    TSP:CHKUPL:OK
                                    TSM:UPL:OK
                                    TSM:READY
                                    TSP:MSG:SEND 1-1-0-0 s=255,c=4,t=0,pt=6,l=10,sg=0,ft=0,st=ok:FFFFFFFFFFFFFFFF0300
                                    TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
                                    TSP:MSG:SEND 1-1-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0
                                    TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0
                                    TSP:MSG:READ 0-0-1 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                                    TSP:MSG:READ 0-0-1 s=255,c=3,t=6,pt=0,l=1,sg=0:M
                                    TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=11,pt=0,l=12,sg=0,ft=0,st=ok:MyFirstBoard
                                    TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=12,pt=0,l=5,sg=0,ft=0,st=ok:0.0.2
                                    Request registration...
                                    TSP:MSG:SEND 1-1-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2
                                    TSP:MSG:READ 0-0-1 s=255,c=3,t=11,pt=0,l=12,sg=0:MyFirstBoard
                                    TSP:MSG:READ 0-0-1 s=255,c=3,t=12,pt=0,l=5,sg=0:0.0.2
                                    TSP:MSG:READ 0-0-1 s=255,c=3,t=27,pt=1,l=1,sg=0:1
                                    Node registration=1
                                    Init complete, id=1, parent=0, distance=1, registration=1
                                    TSP:MSG:READ 0-0-1 s=0,c=3,t=13,pt=0,l=1,sg=0:0
                                    StartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiîStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiîStartiîStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiþStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStarti
                                    

                                    Need others infos ?
                                    Thanks for your time

                                    tekkaT Offline
                                    tekkaT Offline
                                    tekka
                                    Admin
                                    wrote on last edited by
                                    #49

                                    @Tetnobic

                                    Starting sensor (RNONA-, 2.0.0)
                                    

                                    Your node is running MySensors 2.0.0 (your GW is at 2.0.1, please consider updating), also, there is no sign of MYSBootloader in your GW log - please double-check if you followed the correct procedure.
                                    One more thing: the startup message indicates that you enabled OTA firmware features (RNONA-) - this is not required with MYSBootloader.

                                    Please have a look at @scalz's OTA guide for additional information.

                                    TetnobicT 1 Reply Last reply
                                    0
                                    • tekkaT tekka

                                      @Tetnobic

                                      Starting sensor (RNONA-, 2.0.0)
                                      

                                      Your node is running MySensors 2.0.0 (your GW is at 2.0.1, please consider updating), also, there is no sign of MYSBootloader in your GW log - please double-check if you followed the correct procedure.
                                      One more thing: the startup message indicates that you enabled OTA firmware features (RNONA-) - this is not required with MYSBootloader.

                                      Please have a look at @scalz's OTA guide for additional information.

                                      TetnobicT Offline
                                      TetnobicT Offline
                                      Tetnobic
                                      wrote on last edited by
                                      #50

                                      @tekka Thanks for your response
                                      What are the sign of MYSBootloader in GW log ?
                                      Can I also see any sign of MYSBootloader in Node Log ?

                                      I remove OTA firmware features, I now have :

                                      Starting sensor (RNNNA-, 2.0.0)
                                      

                                      but same problem, after receive reboot message I have a "StartiStartiStartiStartiS...." loop :(:(

                                      tekkaT 1 Reply Last reply
                                      0
                                      • TetnobicT Tetnobic

                                        @tekka Thanks for your response
                                        What are the sign of MYSBootloader in GW log ?
                                        Can I also see any sign of MYSBootloader in Node Log ?

                                        I remove OTA firmware features, I now have :

                                        Starting sensor (RNNNA-, 2.0.0)
                                        

                                        but same problem, after receive reboot message I have a "StartiStartiStartiStartiS...." loop :(:(

                                        tekkaT Offline
                                        tekkaT Offline
                                        tekka
                                        Admin
                                        wrote on last edited by
                                        #51

                                        @Tetnobic No, you won't see anything in the node log - but in the GW log you should see somehting like:

                                        
                                        1;255;4;0;0;64000200C803948D0105
                                        
                                        TetnobicT 1 Reply Last reply
                                        0
                                        • tekkaT tekka

                                          @Tetnobic No, you won't see anything in the node log - but in the GW log you should see somehting like:

                                          
                                          1;255;4;0;0;64000200C803948D0105
                                          
                                          TetnobicT Offline
                                          TetnobicT Offline
                                          Tetnobic
                                          wrote on last edited by
                                          #52

                                          @tekka Hi, I found my mistake ! You were absolutely right when you said there is no sign of MYSBootloader in my GW log...
                                          But now I know why :) :
                                          I use an USBasp Programmer with Arduino IDE for upload my bootloader and my sketch..., and I mistakenly thought that when I upload bootloader then sketch, it keep bootloader.....but NOT, it overwrite bootloader :(
                                          I fix it by uploading the xxx.with_bootloader.hex file generated by Arduino IDE when compile.

                                          Sorry for the inconvenience and thank you for your help

                                          AndurilA 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.0k

                                          Posts


                                          Copyright 2019 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