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. [security] Introducing signing support to MySensors

[security] Introducing signing support to MySensors

Scheduled Pinned Locked Moved Development
security
491 Posts 48 Posters 334.4k Views 30 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.
  • magpernM magpern

    I cannot get my china USB to Serial device to work with the arduino boards, so I cannot program the board to run the personalization. As a work around a use a Arduino Uno board as the "USB to Serial" and now I can upload the sketch and the personalizer writes to serial output fine at 115200 baud.
    But, when it wants me to press SPACE, it responds with "Unexpected answer. Skipping lock."

    I tried an other sketch that does Serial.read() and echos back the result. It does not work at 115200 but works at 9600 baud. At 9600 I get char 32 back as SPACE, but 160 or 130 or 254 at 115200. Maybe the Uno board cannot handle 115200?

    So, question: Can the personalizer sketch be changed to use 9600 (or something slower than 115200)? I tried to change the Serial.begin(115200) to 9600, but it is still 115200.

    (of course, I can alter the code to bypass the press SPACE to press any key, but I want to get to the bottom with the problem)

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

    @Magnus-Pernemark which version are you using?
    The development version from github supports

    #define MY_BAUD_RATE 9600
    

    at the start of the sketch.

    The 2.1.1 version has

    Serial.begin(115200);
    

    in the sketch. Just change that.

    magpernM 1 Reply Last reply
    1
    • mfalkviddM mfalkvidd

      @Magnus-Pernemark which version are you using?
      The development version from github supports

      #define MY_BAUD_RATE 9600
      

      at the start of the sketch.

      The 2.1.1 version has

      Serial.begin(115200);
      

      in the sketch. Just change that.

      magpernM Offline
      magpernM Offline
      magpern
      wrote on last edited by
      #409

      @Anticimex I am so not familiar with the arduino/mysensors development yet, but I guess I use 2.1.1, since i used "Sketch / Include Library / Manage Library" and it had 2.1.1

      @mfalkvidd Since I have the line Serial.begin(115200) I assume it is 2.1.1, but changing it to 9600 and uploading the sketch does nothing. I still need to open serial window with 115200, else I just see garbage as output from the mini pro.

      I will try the development version and see if that helps.

      AnticimexA 1 Reply Last reply
      0
      • magpernM magpern

        @Anticimex I am so not familiar with the arduino/mysensors development yet, but I guess I use 2.1.1, since i used "Sketch / Include Library / Manage Library" and it had 2.1.1

        @mfalkvidd Since I have the line Serial.begin(115200) I assume it is 2.1.1, but changing it to 9600 and uploading the sketch does nothing. I still need to open serial window with 115200, else I just see garbage as output from the mini pro.

        I will try the development version and see if that helps.

        AnticimexA Offline
        AnticimexA Offline
        Anticimex
        Contest Winner
        wrote on last edited by
        #410

        @Magnus-Pernemark or you can just disable the confirmation altogether. Just define SKIP_UART_CONFIRMATION

        Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

        magpernM 1 Reply Last reply
        0
        • AnticimexA Anticimex

          @Magnus-Pernemark or you can just disable the confirmation altogether. Just define SKIP_UART_CONFIRMATION

          magpernM Offline
          magpernM Offline
          magpern
          wrote on last edited by
          #411

          @Anticimex hehe, true... but I am a developer by trade, and bypassing something just because it would be easier, feels so wrong. I might end up doing so, but I'll give it some more tries first. Problems are a very good way to learn, and in arduino development I am a total noobie, more used to C# and the .NET world.

          AnticimexA 1 Reply Last reply
          0
          • magpernM magpern

            @Anticimex hehe, true... but I am a developer by trade, and bypassing something just because it would be easier, feels so wrong. I might end up doing so, but I'll give it some more tries first. Problems are a very good way to learn, and in arduino development I am a total noobie, more used to C# and the .NET world.

            AnticimexA Offline
            AnticimexA Offline
            Anticimex
            Contest Winner
            wrote on last edited by
            #412

            @Magnus-Pernemark as a developer by trade, you should be bold enough to use the beta releases and live on the bleeding edge then ;)

            Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

            magpernM 1 Reply Last reply
            1
            • AnticimexA Anticimex

              @Magnus-Pernemark as a developer by trade, you should be bold enough to use the beta releases and live on the bleeding edge then ;)

              magpernM Offline
              magpernM Offline
              magpern
              wrote on last edited by
              #413

              @Anticimex I'll start living on the edge immediately. It's the way to go!
              I switched to develop and could change the band rate, however develop version skips UART confirmation by default so I never had the problem there. Never needed to send any keys. Got the chip configured atleast.
              I kind of started in the wrong end - designed my own pcbs, then start to know the development environment.
              But I'll figure it out... just takes time.. thanks for the help!!

              AnticimexA 1 Reply Last reply
              0
              • magpernM magpern

                @Anticimex I'll start living on the edge immediately. It's the way to go!
                I switched to develop and could change the band rate, however develop version skips UART confirmation by default so I never had the problem there. Never needed to send any keys. Got the chip configured atleast.
                I kind of started in the wrong end - designed my own pcbs, then start to know the development environment.
                But I'll figure it out... just takes time.. thanks for the help!!

                AnticimexA Offline
                AnticimexA Offline
                Anticimex
                Contest Winner
                wrote on last edited by
                #414

                @Magnus-Pernemark that's correct. Or, it is correct if you follow the "guided mode". If you wanna be hardcore, you drop the guided defines and set the individual flags according to your specific needs, and then you get to enable (or more precisely, not disable) UART confirmation (in case you want to test it).

                Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                1 Reply Last reply
                0
                • gusG Offline
                  gusG Offline
                  gus
                  wrote on last edited by
                  #415

                  Hi!
                  Starting to learn signing. I use a parallell system (with another channel) where I could test signing before I went on my live system. For now I just use soft signing, it works perfect!

                  Now, I just want to test a node (motionsensor) that include:

                  #define MY_SIGNING_REQUEST_SIGNATURES
                  

                  The gateway has no signing feature (it has not gone thru personalition process) In my head, the node shall reject to connect to this gateway, but after the signing fails, it start to send data to the gateway. Did I miss something here?

                  Debug text on node:

                  0 MCO:BGN:INIT NODE,CP=RNNNAS--,VER=2.2.0-beta
                  49 SGN:PER:OK
                  83 SGN:INI:BND OK
                  83 TSM:INIT
                  86 TSF:WUR:MS=0
                  94 TSM:INIT:TSP OK
                  96 TSM:INIT:STATID=101
                  98 TSF:SID:OK,ID=101
                  100 TSM:FPAR
                  102 SGN:SGN:NREQ=255
                  139 TSF:MSG:SEND,101-101-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                  684 TSF:MSG:READ,0-0-101,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                  690 SGN:SKP:MSG CMD=3,TYPE=8
                  692 TSF:MSG:FPAR OK,ID=0,D=1
                  2148 TSM:FPAR:OK
                  2148 TSM:ID
                  2150 TSM:ID:OK
                  2152 TSM:UPL
                  2154 SGN:SGN:NREQ=0
                  2158 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
                  2168 TSF:MSG:READ,0-0-101,s=255,c=3,t=25,pt=1,l=1,sg=0:1
                  2174 SGN:SKP:MSG CMD=3,TYPE=25
                  2177 TSF:MSG:PONG RECV,HP=1
                  2181 TSM:UPL:OK
                  2183 TSM:READY:ID=101,PAR=0,DIS=1
                  2187 SGN:PRE:SGN REQ
                  2189 SGN:PRE:WHI NREQ
                  2191 SGN:SGN:NREQ=0
                  2195 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0101
                  2203 SGN:PRE:XMT,TO=0
                  2205 SGN:PRE:WAIT GW
                  2207 TSF:MSG:READ,0-0-101,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                  2213 SGN:SKP:MSG CMD=3,TYPE=15
                  2217 SGN:SGN:NREQ=0
                  2222 TSF:MSG:SEND,101-101-0-0,s=255,c=0,t=17,pt=0,l=10,sg=0,ft=0,st=OK:2.2.0-beta
                  2232 SGN:SGN:NREQ=0
                  2234 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
                  2248 TSF:MSG:READ,0-0-101,s=255,c=3,t=6,pt=0,l=1,sg=0:M
                  2254 !SGN:VER:NSG
                  2256 !TSF:MSG:SIGN VERIFY FAIL
                  2258 SGN:SGN:NREQ=0
                  2263 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=11,pt=0,l=13,sg=0,ft=0,st=OK:Motion Sensor
                  2273 SGN:SGN:NREQ=0
                  2277 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
                  2285 SGN:SGN:NREQ=0
                  2289 TSF:MSG:SEND,101-101-0-0,s=1,c=0,t=1,pt=0,l=0,sg=0,ft=0,st=OK:
                  2295 MCO:REG:REQ
                  2297 SGN:SGN:NREQ=0
                  2301 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
                  2310 TSF:MSG:READ,0-0-101,s=255,c=3,t=27,pt=1,l=1,sg=0:1
                  2316 !SGN:VER:NSG
                  2318 !TSF:MSG:SIGN VERIFY FAIL
                  2322 MCO:BGN:STP
                  2324 MCO:BGN:INIT OK,TSP=1
                  1
                  2326 SGN:SGN:NREQ=0
                  2330 TSF:MSG:SEND,101-101-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
                  2338 MCO:SLP:MS=120000,SMS=0,I1=1,M1=1,I2=255,M2=255
                  2344 TSF:TDI:TSL
                  2347 MCO:SLP:WUP=1
                  2349 TSF:TRI:TSB
                  0
                  2351 SGN:SGN:NREQ=0
                  2355 TSF:MSG:SEND,101-101-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0
                  2363 MCO:SLP:MS=120000,SMS=0,I1=1,M1=1,I2=255,M2=255
                  2367 TSF:TDI:TSL
                  
                  
                  AnticimexA 1 Reply Last reply
                  0
                  • gusG gus

                    Hi!
                    Starting to learn signing. I use a parallell system (with another channel) where I could test signing before I went on my live system. For now I just use soft signing, it works perfect!

                    Now, I just want to test a node (motionsensor) that include:

                    #define MY_SIGNING_REQUEST_SIGNATURES
                    

                    The gateway has no signing feature (it has not gone thru personalition process) In my head, the node shall reject to connect to this gateway, but after the signing fails, it start to send data to the gateway. Did I miss something here?

                    Debug text on node:

                    0 MCO:BGN:INIT NODE,CP=RNNNAS--,VER=2.2.0-beta
                    49 SGN:PER:OK
                    83 SGN:INI:BND OK
                    83 TSM:INIT
                    86 TSF:WUR:MS=0
                    94 TSM:INIT:TSP OK
                    96 TSM:INIT:STATID=101
                    98 TSF:SID:OK,ID=101
                    100 TSM:FPAR
                    102 SGN:SGN:NREQ=255
                    139 TSF:MSG:SEND,101-101-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
                    684 TSF:MSG:READ,0-0-101,s=255,c=3,t=8,pt=1,l=1,sg=0:0
                    690 SGN:SKP:MSG CMD=3,TYPE=8
                    692 TSF:MSG:FPAR OK,ID=0,D=1
                    2148 TSM:FPAR:OK
                    2148 TSM:ID
                    2150 TSM:ID:OK
                    2152 TSM:UPL
                    2154 SGN:SGN:NREQ=0
                    2158 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
                    2168 TSF:MSG:READ,0-0-101,s=255,c=3,t=25,pt=1,l=1,sg=0:1
                    2174 SGN:SKP:MSG CMD=3,TYPE=25
                    2177 TSF:MSG:PONG RECV,HP=1
                    2181 TSM:UPL:OK
                    2183 TSM:READY:ID=101,PAR=0,DIS=1
                    2187 SGN:PRE:SGN REQ
                    2189 SGN:PRE:WHI NREQ
                    2191 SGN:SGN:NREQ=0
                    2195 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0101
                    2203 SGN:PRE:XMT,TO=0
                    2205 SGN:PRE:WAIT GW
                    2207 TSF:MSG:READ,0-0-101,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                    2213 SGN:SKP:MSG CMD=3,TYPE=15
                    2217 SGN:SGN:NREQ=0
                    2222 TSF:MSG:SEND,101-101-0-0,s=255,c=0,t=17,pt=0,l=10,sg=0,ft=0,st=OK:2.2.0-beta
                    2232 SGN:SGN:NREQ=0
                    2234 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
                    2248 TSF:MSG:READ,0-0-101,s=255,c=3,t=6,pt=0,l=1,sg=0:M
                    2254 !SGN:VER:NSG
                    2256 !TSF:MSG:SIGN VERIFY FAIL
                    2258 SGN:SGN:NREQ=0
                    2263 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=11,pt=0,l=13,sg=0,ft=0,st=OK:Motion Sensor
                    2273 SGN:SGN:NREQ=0
                    2277 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:1.0
                    2285 SGN:SGN:NREQ=0
                    2289 TSF:MSG:SEND,101-101-0-0,s=1,c=0,t=1,pt=0,l=0,sg=0,ft=0,st=OK:
                    2295 MCO:REG:REQ
                    2297 SGN:SGN:NREQ=0
                    2301 TSF:MSG:SEND,101-101-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
                    2310 TSF:MSG:READ,0-0-101,s=255,c=3,t=27,pt=1,l=1,sg=0:1
                    2316 !SGN:VER:NSG
                    2318 !TSF:MSG:SIGN VERIFY FAIL
                    2322 MCO:BGN:STP
                    2324 MCO:BGN:INIT OK,TSP=1
                    1
                    2326 SGN:SGN:NREQ=0
                    2330 TSF:MSG:SEND,101-101-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:1
                    2338 MCO:SLP:MS=120000,SMS=0,I1=1,M1=1,I2=255,M2=255
                    2344 TSF:TDI:TSL
                    2347 MCO:SLP:WUP=1
                    2349 TSF:TRI:TSB
                    0
                    2351 SGN:SGN:NREQ=0
                    2355 TSF:MSG:SEND,101-101-0-0,s=1,c=1,t=16,pt=0,l=1,sg=0,ft=0,st=OK:0
                    2363 MCO:SLP:MS=120000,SMS=0,I1=1,M1=1,I2=255,M2=255
                    2367 TSF:TDI:TSL
                    
                    
                    AnticimexA Offline
                    AnticimexA Offline
                    Anticimex
                    Contest Winner
                    wrote on last edited by Anticimex
                    #416

                    @gus what is it that you think is not working? Just because your node require signatures does not prevent the node from sending data to your gateway which does not require signatures.
                    And as you can see in the log you get errors about missing signatures (and hence failed verifications) so it looks as expected to me.
                    You could try to paste your log into the log parser to get a easier to read output.

                    Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                    gusG 1 Reply Last reply
                    0
                    • AnticimexA Anticimex

                      @gus what is it that you think is not working? Just because your node require signatures does not prevent the node from sending data to your gateway which does not require signatures.
                      And as you can see in the log you get errors about missing signatures (and hence failed verifications) so it looks as expected to me.
                      You could try to paste your log into the log parser to get a easier to read output.

                      gusG Offline
                      gusG Offline
                      gus
                      wrote on last edited by
                      #417

                      @Anticimex Ok, just thought when signing failed, the node was halted :confused:
                      So that control mechanism need to be implemented in my sketch then?
                      Great, I will use the log parser!

                      AnticimexA 1 Reply Last reply
                      0
                      • gusG gus

                        @Anticimex Ok, just thought when signing failed, the node was halted :confused:
                        So that control mechanism need to be implemented in my sketch then?
                        Great, I will use the log parser!

                        AnticimexA Offline
                        AnticimexA Offline
                        Anticimex
                        Contest Winner
                        wrote on last edited by
                        #418

                        @gus no, when signing verification fail, the message is just discarded

                        Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                        gusG 1 Reply Last reply
                        0
                        • AnticimexA Anticimex

                          @gus no, when signing verification fail, the message is just discarded

                          gusG Offline
                          gusG Offline
                          gus
                          wrote on last edited by
                          #419

                          @Anticimex Ahh, now I get it!! Thanks for helping me out here!

                          Cheers

                          AnticimexA 1 Reply Last reply
                          0
                          • gusG gus

                            @Anticimex Ahh, now I get it!! Thanks for helping me out here!

                            Cheers

                            AnticimexA Offline
                            AnticimexA Offline
                            Anticimex
                            Contest Winner
                            wrote on last edited by
                            #420

                            @gus always :) nice to hear that you have a fully functional signing rig. Happy signing!

                            Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                            1 Reply Last reply
                            0
                            • ahmedadelhosniA Offline
                              ahmedadelhosniA Offline
                              ahmedadelhosni
                              wrote on last edited by
                              #421

                              Hello @Anticimex

                              Sometimes it happens that the Serial printing is not correct and it is okay when the baud rate is lower to 57600. I guess the default is 115200 when this error happens.

                              +------------------------------------------------------------------------------------+
                              ⸮ M⸮Se⸮so⸮s security p⸮r⸮o⸮alizer ⸮
                              +------------------------------------------------------------------------------------+

                              +------------------------------------------------------------------------------------+
                              ⸮ C⸮n⸮igur⸮t⸮on set⸮i⸮g⸮ ⸮
                              +------------------------------------------------------------------------------------+
                              | * G⸮i⸮e⸮ ⸮e⸮s⸮nali⸮ation/⸮t⸮ra⸮e of key⸮ ⸮n AT⸮H⸮204A |
                              | * ⸮T⸮HA204A based ⸮e⸮s⸮n⸮l⸮z⸮t⸮o⸮ ⸮
                              ⸮ * Will l⸮ck ATSH⸮204⸮ c⸮n⸮i⸮u⸮atio⸮ |
                              ⸮ * W⸮ll no⸮ req⸮i⸮e any UA⸮T co⸮fi⸮m⸮ti⸮ns ⸮
                              | * ⸮i⸮l ⸮to⸮e ⸮MA⸮ key to A⸮SH⸮204A |
                              | * Will store ⸮ES ke⸮ to ⸮E⸮R⸮M ⸮
                              +------------------------------------------------------------------------------------+

                              AnticimexA magpernM 2 Replies Last reply
                              0
                              • ahmedadelhosniA ahmedadelhosni

                                Hello @Anticimex

                                Sometimes it happens that the Serial printing is not correct and it is okay when the baud rate is lower to 57600. I guess the default is 115200 when this error happens.

                                +------------------------------------------------------------------------------------+
                                ⸮ M⸮Se⸮so⸮s security p⸮r⸮o⸮alizer ⸮
                                +------------------------------------------------------------------------------------+

                                +------------------------------------------------------------------------------------+
                                ⸮ C⸮n⸮igur⸮t⸮on set⸮i⸮g⸮ ⸮
                                +------------------------------------------------------------------------------------+
                                | * G⸮i⸮e⸮ ⸮e⸮s⸮nali⸮ation/⸮t⸮ra⸮e of key⸮ ⸮n AT⸮H⸮204A |
                                | * ⸮T⸮HA204A based ⸮e⸮s⸮n⸮l⸮z⸮t⸮o⸮ ⸮
                                ⸮ * Will l⸮ck ATSH⸮204⸮ c⸮n⸮i⸮u⸮atio⸮ |
                                ⸮ * W⸮ll no⸮ req⸮i⸮e any UA⸮T co⸮fi⸮m⸮ti⸮ns ⸮
                                | * ⸮i⸮l ⸮to⸮e ⸮MA⸮ key to A⸮SH⸮204A |
                                | * Will store ⸮ES ke⸮ to ⸮E⸮R⸮M ⸮
                                +------------------------------------------------------------------------------------+

                                AnticimexA Offline
                                AnticimexA Offline
                                Anticimex
                                Contest Winner
                                wrote on last edited by
                                #422

                                @ahmedadelhosni yes, this can happen on some targets. It depend on the quality and precision of the oscillator. If output looks garbled, reducing the baud rate is a good place to start.

                                Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                ahmedadelhosniA 1 Reply Last reply
                                0
                                • AnticimexA Anticimex

                                  @ahmedadelhosni yes, this can happen on some targets. It depend on the quality and precision of the oscillator. If output looks garbled, reducing the baud rate is a good place to start.

                                  ahmedadelhosniA Offline
                                  ahmedadelhosniA Offline
                                  ahmedadelhosni
                                  wrote on last edited by
                                  #423

                                  @Anticimex so this has nothing to do with the quality of my overall node ? I mean as a reference that this node will be stable or not during operation.

                                  I ordered my atmega smd from mouser and all passive componets too. Only pcbs are from dirtypcbs. I thought getting high quality from mouser would be better.

                                  Thanks.

                                  AnticimexA 1 Reply Last reply
                                  0
                                  • ahmedadelhosniA ahmedadelhosni

                                    @Anticimex so this has nothing to do with the quality of my overall node ? I mean as a reference that this node will be stable or not during operation.

                                    I ordered my atmega smd from mouser and all passive componets too. Only pcbs are from dirtypcbs. I thought getting high quality from mouser would be better.

                                    Thanks.

                                    AnticimexA Offline
                                    AnticimexA Offline
                                    Anticimex
                                    Contest Winner
                                    wrote on last edited by
                                    #424

                                    @ahmedadelhosni
                                    That is hard to say. There are many reports of atmega not being really good at handling 115200 at certain oscillator frequencies. So no, I don't think it directly hints at something being wrong with your hardware. But I cannot be sure of course :)

                                    Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                                    1 Reply Last reply
                                    1
                                    • ahmedadelhosniA ahmedadelhosni

                                      Hello @Anticimex

                                      Sometimes it happens that the Serial printing is not correct and it is okay when the baud rate is lower to 57600. I guess the default is 115200 when this error happens.

                                      +------------------------------------------------------------------------------------+
                                      ⸮ M⸮Se⸮so⸮s security p⸮r⸮o⸮alizer ⸮
                                      +------------------------------------------------------------------------------------+

                                      +------------------------------------------------------------------------------------+
                                      ⸮ C⸮n⸮igur⸮t⸮on set⸮i⸮g⸮ ⸮
                                      +------------------------------------------------------------------------------------+
                                      | * G⸮i⸮e⸮ ⸮e⸮s⸮nali⸮ation/⸮t⸮ra⸮e of key⸮ ⸮n AT⸮H⸮204A |
                                      | * ⸮T⸮HA204A based ⸮e⸮s⸮n⸮l⸮z⸮t⸮o⸮ ⸮
                                      ⸮ * Will l⸮ck ATSH⸮204⸮ c⸮n⸮i⸮u⸮atio⸮ |
                                      ⸮ * W⸮ll no⸮ req⸮i⸮e any UA⸮T co⸮fi⸮m⸮ti⸮ns ⸮
                                      | * ⸮i⸮l ⸮to⸮e ⸮MA⸮ key to A⸮SH⸮204A |
                                      | * Will store ⸮ES ke⸮ to ⸮E⸮R⸮M ⸮
                                      +------------------------------------------------------------------------------------+

                                      magpernM Offline
                                      magpernM Offline
                                      magpern
                                      wrote on last edited by
                                      #425

                                      @ahmedadelhosni I had the same problem with serial speed on a few PCBs that I designed myself, design was based on existing mysensors PCBs. I could only run on 38k baud.
                                      In my case it turned out to be a problem with the with of signal lines and power lines on the PCB. They where to small, and probably caused noise and bad through put, because when I widened the lines on the PCB, reordered them from fab house, then 115k baud worked again.

                                      ahmedadelhosniA 1 Reply Last reply
                                      0
                                      • magpernM magpern

                                        @ahmedadelhosni I had the same problem with serial speed on a few PCBs that I designed myself, design was based on existing mysensors PCBs. I could only run on 38k baud.
                                        In my case it turned out to be a problem with the with of signal lines and power lines on the PCB. They where to small, and probably caused noise and bad through put, because when I widened the lines on the PCB, reordered them from fab house, then 115k baud worked again.

                                        ahmedadelhosniA Offline
                                        ahmedadelhosniA Offline
                                        ahmedadelhosni
                                        wrote on last edited by
                                        #426

                                        @Magnus-Pernemark I have also a modified version of Mysensebender node and the issue happened with some of the pcbs, not all of them. In your case I understood that it was a problem in all your pcbs. So maybe pcb quality from dirtypcbs was not that good with some of mine due to small width of lines.
                                        Thanks.

                                        1 Reply Last reply
                                        0
                                        • ahmedadelhosniA Offline
                                          ahmedadelhosniA Offline
                                          ahmedadelhosni
                                          wrote on last edited by
                                          #427

                                          Hello @Anticimex

                                          I was testing HW signing using latest dev and I got the following :+1:

                                          My setup > GW : 8 Mhz internal clock
                                          My node > : 8 Mhz internal clock ( with MySysBootloader OTA)

                                          From Gateway debug:

                                          0;255;3;0;9;53 MCO:BGN:INIT GW,CP=RNNGAA--,VER=2.2.0-beta
                                          0;255;3;0;9;129 !SGN:PER:TAMPERED
                                          0;255;3;0;9;161 SGN:INI:BND OK
                                          0;255;3;0;9;169 TSM:INIT
                                          0;255;3;0;9;178 TSF:WUR:MS=0
                                          0;255;3;0;9;190 TSM:INIT:TSP OK
                                          0;255;3;0;9;198 TSM:INIT:GW MODE
                                          0;255;3;0;9;208 TSM:READY:ID=0,PAR=0,DIS=0
                                          0;255;3;0;9;221 MCO:REG:NOT NEEDED
                                          0;255;3;0;14;Gateway startup complete.
                                          0;255;0;0;18;2.2.0-beta
                                          0;255;3;0;9;231 MCO:BGN:STP
                                          0;255;3;0;9;253 MCO:BGN:INIT OK,TSP=1
                                          

                                          When I try to add node 4 : This happens

                                          0;255;3;0;9;180430 TSF:MSG:READ,4-4-255,s=255,c=3,t=7,pt=1,l=0,sg=0:0
                                          0;255;3;0;9;180449 TSF:MSG:BC
                                          0;255;3;0;9;180457 TSF:MSG:FPAR REQ,ID=4
                                          0;255;3;0;9;180469 TSF:PNG:SEND,TO=0
                                          0;255;3;0;9;180480 TSF:CKU:OK
                                          0;255;3;0;9;180488 TSF:MSG:GWL OK
                                          0;255;3;0;9;180768 SGN:SKP:MSG CMD=3,TYPE=8
                                          0;255;3;0;9;180783 TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
                                          0;255;3;0;9;187224 TSF:MSG:READ,4-4-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
                                          0;255;3;0;9;187244 !SGN:PRE:SGN NREQ,FROM=4 REJ
                                          0;255;3;0;9;187256 SGN:PRE:SGN NREQ,TO=4
                                          0;255;3;0;9;187269 SGN:PRE:WHI NREQ,TO=4
                                          0;255;3;0;9;187279 SGN:SKP:MSG CMD=3,TYPE=15
                                          0;255;3;0;9;187293 TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
                                          0;255;3;0;9;187316 SGN:PRE:XMT,TO=4
                                          0;255;3;0;9;187576 TSF:MSG:READ,4-4-0,s=255,c=4,t=0,pt=6,l=10,sg=0:1E000100B0031E310102
                                          4;255;4;0;0;1E000100B0031E310102
                                          0;255;3;0;9;194334 TSF:MSG:READ,4-4-0,s=255,c=4,t=0,pt=6,l=10,sg=0:1E000100B0031E310102
                                          4;255;4;0;0;1E000100B0031E310102
                                          0;255;3;0;9;201091 TSF:MSG:READ,4-4-0,s=255,c=4,t=0,pt=6,l=10,sg=0:1E000100B0031E310102
                                          4;255;4;0;0;1E000100B0031E310102
                                          0;255;3;0;9;208238 TSF:MSG:READ,4-4-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
                                          0;255;3;0;9;208257 TSF:MSG:BC
                                          0;255;3;0;9;208265 TSF:MSG:FPAR REQ,ID=4
                                          0;255;3;0;9;208275 TSF:PNG:SEND,TO=0
                                          0;255;3;0;9;208285 TSF:CKU:OK
                                          0;255;3;0;9;208293 TSF:MSG:GWL OK
                                          0;255;3;0;9;208736 SGN:SKP:MSG CMD=3,TYPE=8
                                          0;255;3;0;9;208750 TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
                                          0;255;3;0;9;210298 TSF:MSG:READ,4-4-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
                                          0;255;3;0;9;210317 TSF:MSG:PINGED,ID=4,HP=1
                                          0;255;3;0;9;210329 SGN:SKP:MSG CMD=3,TYPE=25
                                          0;255;3;0;9;210343 TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1
                                          0;255;3;0;9;210364 TSF:MSG:READ,4-4-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0101
                                          0;255;3;0;9;210384 SGN:PRE:SGN REQ,FROM=4
                                          0;255;3;0;9;210397 SGN:PRE:SGN NREQ,TO=4
                                          0;255;3;0;9;210407 SGN:PRE:WHI NREQ,TO=4
                                          0;255;3;0;9;210417 SGN:SKP:MSG CMD=3,TYPE=15
                                          0;255;3;0;9;210432 TSF:MSG:SEND,0-0-4-4,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
                                          0;255;3;0;9;210454 SGN:PRE:XMT,TO=4
                                          0;255;3;0;9;210464 TSF:MSG:READ,4-4-0,s=255,c=0,t=18,pt=0,l=10,sg=0:2.2.0-beta
                                          4;255;0;0;18;2.2.0-beta
                                          0;255;3;0;9;210487 TSF:MSG:READ,4-4-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0
                                          4;255;3;0;6;0
                                          0;255;3;0;9;212459 TSF:MSG:READ,4-4-0,s=255,c=3,t=11,pt=0,l=13,sg=0:Relay Signing
                                          4;255;3;0;11;Relay Signing
                                          0;255;3;0;9;212484 TSF:MSG:READ,4-4-0,s=255,c=3,t=12,pt=0,l=5,sg=0:1.2.1
                                          4;255;3;0;12;1.2.1
                                          0;255;3;0;9;212510 TSF:MSG:READ,4-4-0,s=3,c=0,t=3,pt=0,l=0,sg=0:
                                          4;3;0;0;3;
                                          0;255;3;0;9;212531 TSF:MSG:READ,4-4-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
                                          0;255;3;0;9;212551 !SGN:SGN:STATE
                                          0;255;3;0;9;212561 !TSF:MSG:SIGN FAIL
                                          0;255;3;0;9;214489 TSF:MSG:READ,4-4-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
                                          0;255;3;0;9;214507 !SGN:SGN:STATE
                                          0;255;3;0;9;214517 !TSF:MSG:SIGN FAIL
                                          0;255;3;0;9;216510 TSF:MSG:READ,4-4-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
                                          0;255;3;0;9;216528 !SGN:SGN:STATE
                                          0;255;3;0;9;216539 !TSF:MSG:SIGN FAIL
                                          0;255;3;0;9;218533 TSF:MSG:READ,4-4-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2
                                          0;255;3;0;9;218552 !SGN:SGN:STATE
                                          0;255;3;0;9;218560 !TSF:MSG:SIGN FAIL
                                          

                                          My gateway sketch ::

                                          
                                          // Enable debug prints to serial monitor
                                          #define MY_DEBUG
                                          #define MY_DEBUG_VERBOSE_SIGNING
                                          
                                          
                                          #define MY_RADIO_NRF24
                                          #define MY_RF24_PA_LEVEL RF24_PA_LOW
                                          
                                          // Enable serial gateway
                                          #define MY_GATEWAY_SERIAL
                                          
                                          // Define a lower baud rate for Arduino's running on 8 MHz (Arduino Pro Mini 3.3V & SenseBender)
                                          #if F_CPU == 8000000L
                                          #define MY_BAUD_RATE 38400
                                          #endif
                                          
                                          #define MY_SIGNING_ATSHA204
                                          
                                          // SETTINGS FOR MY_SIGNING_ATSHA204
                                          #ifndef MY_SIGNING_ATSHA204_PIN
                                          #define MY_SIGNING_ATSHA204_PIN 17 //!< A3 - pin where ATSHA204 is attached
                                          #endif
                                          
                                          #include <MySensors.h>
                                          
                                          void setup()
                                          {
                                          	// Setup locally attached sensors
                                          }
                                          
                                          void presentation()
                                          {
                                          	// Present locally attached sensors
                                          }
                                          
                                          void loop()
                                          {
                                          	// Send locally attached sensor data here
                                          }
                                          

                                          Node code :

                                          // Enable debug prints to serial monitor
                                          //#define MY_DEBUG
                                          
                                          // Enable and select radio type attached
                                          #define MY_RADIO_NRF24
                                          //#define MY_RADIO_NRF5_ESB
                                          //#define MY_RADIO_RFM69
                                          //#define MY_RADIO_RFM95
                                          
                                          // Enable repeater functionality for this node
                                          #define MY_REPEATER_FEATURE
                                          
                                          
                                          #define MY_SIGNING_ATSHA204
                                          #define MY_SIGNING_REQUEST_SIGNATURES
                                          
                                          // SETTINGS FOR MY_SIGNING_ATSHA204
                                          #ifndef MY_SIGNING_ATSHA204_PIN
                                          #define MY_SIGNING_ATSHA204_PIN 17 //!< A3 - pin where ATSHA204 is attached
                                          #endif
                                          
                                          #include <MySensors.h>
                                          
                                          // normal function call is here
                                          

                                          I do personalized my nodes with the same HMAC as described in the docs.
                                          I got this and I run the same sketch on all node including the gateway :

                                          | This device has now been personalized. Run this sketch with its current settings   |
                                          | on all the devices in your network that have security enabled.
                                          

                                          First question :
                                          I have searched for similar issues for 0;255;3;0;9;129 !SGN:PER:TAMPERED but I couldn't find.

                                          Second one : Was signing tested recently with the latest dev branch ? because I guess I read in one of the posts that it has not been tested since a while.

                                          THanks for the help.

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


                                          27

                                          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