MYSBootloader 1.3pre2 testing
-
@tekka Thank you for great job on MYSBootloader. It works fine for me. Currently I'm testing it and have few questions.
- Please can you provide source code? Maybe then I can answer my questions myself :)
- Software signing doesn't work after firmware is uploaded. EEPROM is cleared. Is it possible to restore shared key HMAC after firmware is stored?
- Is possible to send firmware with signing to prevent loading from fake gateway? I thing signing of available firmware version and firmware CRC is enough ..?
Thank you for answers.
@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
-
@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
@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.Ah, yes. Setting static id sound like a solution to my problem. Thanks.
-
@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
@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.
-
@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.
- I agree, keys located in sketch can be used as workaround only, because the security is broken.
- 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?
-
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. -
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;155566954Starting 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 -
Hi! Great work!
I have a small question: How does your Bootloader know which channel to listen on? -
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;155566954Starting 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 -
Hi! Great work!
I have a small question: How does your Bootloader know which channel to listen on? -
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. -
This post is deleted!
-
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=0x07Node 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
-
Please provide additional information such as library version, full debug log of your GW and node. Which bootloader/version are you using?
@tekka Thanks for you response
For gateway :
Raspberrry PI Gateway in Ethernet mode
Protocol version : 2.0.1-betaFor 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:0NodeLog :
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þStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiNeed others infos ?
Thanks for your time -
@tekka Thanks for you response
For gateway :
Raspberrry PI Gateway in Ethernet mode
Protocol version : 2.0.1-betaFor 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:0NodeLog :
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þStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiStartiNeed others infos ?
Thanks for your timeStarting 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.
-
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.
@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 :(:(