Signing messages: unreliable through to not working at all



  • Hi Everyone. I'm wondering how much success people are having with signing. My mysensors network has been running well for the past 12 months and I thought it was time to update to the latest version 1.5.4 and latest arduino ide 1.6.6.

    A straight update to 1.5.4 went smoothly and seems to be stable.

    However, I then got excited about the signing features and discovered a whole range of issues and so tested various cases. In all cases where signing was used the clients and gateway used software signing. I also used a decoupling capacitor of 4.7uF across all the radio's 3.3V and GND. All devices located within a few metres of each other to keep it simple.

    Case 0 - No signing functionality. 100% working network. Great!

    Case 1 - Gateway and client all sign requests but the whitelisting functonality is not activated. Clients work 90% of the time but approx. 10% of the time report 'no sign' errors and this seems to be quite random.

    Case 2 - Gateway and client all signed and whitelisting enabled. Whitelists contain all nodes for testing. 'verify fail' errors reported on all requests.

    Case 3 - Gateway with signing but clients with SigningNone as signer - 'no sign' error on all requests.

    Case 4 - Gateway with signing and clients with all signing off and just using MySensors default constructor. 'no sign' error on all requests.

    I'm excited about the prospects of signed requests and Case 0 and Case 1 give me some confidence that fundamentally it should work. The documentation is excellent. But the unreliability of Case 1 and the fact that Case 2, 3, 4 don't work has me worried. I have noticed a few reports of trouble with mixed signed and non-signed networks and I have verified that is true in my case as well.

    Does anyone else have a similar experience? Should I wait for the next version and try again? Or, perhaps it is my bad.

    Can anyone report on their experience?

    Regards,
    Jason


  • Plugin Developer

    @JasonV

    Hi!

    I can confirm your experience with case 0 and case 1, but I think I got the verify fail error.

    I've been planning to test with a second cap on the gateway side, to see if that helps. I've got a hunch the problem is related to the length of the payload when signing, which makes the transmission more sensitive to errors.


  • Contest Winner

    Hello,
    When signing is used, the entire message buffer is used which puts a strain on the rf link. If your connection is not good that could translate to some dropped messages which would show as a sign fail in your logs.
    As for the cases where no messages arrive at all, it suggest a problem with your configuration. Please check the specification really careful to ensure you have configured all nodes properly for whitelisting.



  • @Anticimex Thanks for the reply. I'm hoping you can help me get to the bottom of this!

    Two questions:

    1. in case 1 where there are random drop outs - I understand the extra strain of the signing because of the message length but if the radios are within 20 cm of each other there isn't much better option for a radio link and other than the decoupling capacitor what else can I do to stop this?

    2. I have tried a set up with no white listing on the gateway or clients. This is my case 1 above that works most of the time. I then tried using clients that are non-signing but keep gettting the 'no sign' error. My understanding is that the gateway should allow non signed messages from clients that choose no signing. But this doesn't seem to be the case.

    Is there any debug information that might help diagnose why?

    Thanks!


  • Contest Winner

    @JasonV signing assumes an ideal radio link. Transmission problems needs to be handled by the transport layer. Signing won't work if that is not working.
    As for debugging, you have the DEBUG_SIGNING flag. See the MySigningAtsha204Soft.cpp (I assume you use soft signing).


Log in to reply
 

Suggested Topics

  • 3
  • 2
  • 2
  • 2
  • 2
  • 4

27
Online

11.2k
Users

11.1k
Topics

112.5k
Posts