Signing fails with V2.1
-
Hello,
after upgrading the Mysensors lib to 2.1 i have problems with signing. My controller is an fhem installation. The gateway is a uno + w5100 shield an für hardware signing the sha204 chip. It works fine before upgrading!
The log from gateway shows:
0;255;3;0;9;TSF:MS0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGAA-,VER=2.1.0 0;255;3;0;9;TSM:INIT 0;255;3;0;9;TSF:WUR:MS=0 0;255;3;0;9;TSM:INIT:TSP OK 0;255;3;0;9;TSM:INIT:GW MODE 0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0 0;255;3;0;9;MCO:REG:NOT NEEDED IP: 10.10.1.200 0;255;3;0;9;MCO:BGN:STP 0;255;3;0;9;MCO:BGN:INIT OK,TSP=1 0;255;3;0;9;Eth: connect 0;255;3;0;9;Eth: 0;0;3;0;2; 0;255;3;0;9;TSF:MSG:READ,100-100-255,s=255,c=3,t=7,pt=0,l=0,sg=0: 0;255;3;0;9;TSF:MSG:BC 0;255;3;0;9;TSF:MSG:FPAR REQ,ID=100 0;255;3;0;9;TSF:PNG:SEND,TO=0 0;255;3;0;9;TSF:CKU:OK 0;255;3;0;9;TSF:MSG:GWL OK 0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1 0;255;3;0;9;TSF:MSG:PINGED,ID=100,HP=1 0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0101 0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=0,t=17,pt=0,l=5,sg=0:2.1.0 0;255;3;0;9;!TSF:MSG:SIGN VERIFY FAIL 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0 0;255;3;0;9;!TSF:MSG:SIGN VERIFY FAIL 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=11,pt=0,l=18,sg=0:Temperature Sensor 0;255;3;0;9;!TSF:MSG:SIGN VERIFY FAIL 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=12,pt=0,l=3,sg=0:1.1 0;255;3;0;9;!TSF:MSG:SIGN VERIFY FAIL 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2 0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=16,pt=0,l=0,sg=0,ft=0,st=OK: 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=17,pt=6,l=25,sg=0:D92604929E5EB761DCFAE3EB153D56C18FD2C48183AF74E5A4 0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=27,pt=1,l=1,sg=1,ft=0,st=OK:1
The inclusion mode is activated and the personalization sketch was an both gateway and sensor installed again.
Any ideas?
Markus
-
Test with deactivated Signing Support is ok, works fine then! Don't know whats's going on here....
-
@markush signing uses the full length of the radio packet, which strains the radio more than short messages.
Seems like the same problem as the one being discussed in https://forum.mysensors.org/topic/5763/after-upgrade-to-mysensors-2-1-problems-with-radio-module-might-manifest-itself-more
-
@markush Please upload both sketches (GW and node) I'd like to test something.
-
-
@markush Can you comment MY_SIGNING_REQUEST_SIGNATURES in your GW sketch and retry?
-
I have tried - it works:
0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=16,pt=0,l=0,sg=0,ft=0,st=OK: 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=17,pt=6,l=25,sg=0:5F5A06980FF60C862E0DE419EF37D668845FED6E7A0355160A 0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=6,pt=0,l=1,sg=1,ft=0,st=OK:M 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=11,pt=0,l=18,sg=0:Temperature Sensor 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=12,pt=0,l=3,sg=0:1.1 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=0,c=0,t=6,pt=0,l=0,sg=0: 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=26,pt=1,l=1,sg=0:2 0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=16,pt=0,l=0,sg=1,ft=0,st=OK: 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=17,pt=6,l=25,sg=0:CB90575D8E5A349B0EE2F383180DB837A9F0B4B8BCBB1B02BC 0;255;3;0;9;TSF:MSG:SEND,0-0-100-100,s=255,c=3,t=27,pt=1,l=1,sg=1,ft=0,st=OK:1 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=0,c=1,t=0,pt=7,l=5,sg=0:16.9 0;255;3;0;9;TSF:MSG:READ,100-100-0,s=0,c=1,t=0,pt=7,l=5,sg=0:17.0``` And now? I need this option, not?
-
@markush Thanks for testing, the bug has been insolated and bug fix created: https://github.com/mysensors/MySensors/pull/740
-
Thanks! Now it works as expected!
-
I am using MySensors 2.1.1 and see a lot of these messages
0;255;3;0;9;!TSF:MSG:SIGN VERIFY FAIL
As a test I use 2 nodes with this same sketch:
#include "arduino.h" #include <OneWire.h> #include <DallasTemperature.h> #define ONE_WIRE_BUS 5 OneWire oneWire(ONE_WIRE_BUS); DallasTemperature sensors(&oneWire); #define MY_DEBUG #define MY_RADIO_RFM69 #define MY_IS_RFM69HW #define MY_NODE_ID 11 // node 1 //#define MY_NODE_ID 12 // node 2 #define MY_DEFAULT_ERR_LED_PIN 9 #define MY_DEFAULT_RX_LED_PIN 8 #define MY_DEFAULT_TX_LED_PIN 7 #define MY_DEFAULT_LED_BLINK_PERIOD 20 #define MY_SIGNING_SOFT #define MY_SIGNING_SOFT_RANDOMSEED_PIN 3 #define MY_SIGNING_REQUEST_SIGNATURES #include <MySensors.h> MyMessage msg(MY_NODE_ID, V_TEMP); void presentation() { sendSketchInfo("Test temperature node", "1.0"); present(MY_NODE_ID, S_TEMP); } void setup() { sensors.begin(); } void loop() { sensors.requestTemperatures(); send(msg.set(sensors.getTempCByIndex(0), 2)); sleep(1000); }
I use this serial gateway:
#define MY_DEBUG #define MY_SIGNING_SOFT #define MY_SIGNING_SOFT_RANDOMSEED_PIN 3 #define MY_SIGNING_REQUEST_SIGNATURES #define MY_RADIO_RFM69 #define MY_IS_RFM69HW #define MY_GATEWAY_SERIAL #define MY_DEFAULT_LED_BLINK_PERIOD 10 #define MY_DEFAULT_ERR_LED_PIN 5 #define MY_DEFAULT_RX_LED_PIN 6 #define MY_DEFAULT_TX_LED_PIN 7 #include <SPI.h> #include <MySensors.h> void setup() {} void presentation() {} void loop() {}
If I comment this line in the gateway everything works fine:
//#define MY_SIGNING_REQUEST_SIGNATURES
I only see these error messages when I turn on both nodes.
If I use either Node 1 or Node 2 and turn the other off, I don't see any of these error messages.The nodes and gateway are on my workbench close next to each other.
For each I use a bare ATMEGA328P burned with bootloader Pro Mini 3.3v 8 mhz