Skip to content
  • 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. MQTTClientGateway broken after upgrade - signature failure
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

MQTTClientGateway broken after upgrade - signature failure

Scheduled Pinned Locked Moved Development
38 Posts 4 Posters 7.4k Views 4 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.
  • T Offline
    T Offline
    tomkxy
    wrote on last edited by
    #26

    @hek @Anticimex Ok. I switched to hardware signing. HMACs are being generated. So that is ok. When I yesterday saw the issue with the nonce and the comment in the header I switched to soft signing assuming unsupported hardware signing could have caused that.

    @hek what is exactly the define

    / W5100 Ethernet module SPI enable (optional if using a shield/module that manages SPI_EN signal)
    #define MY_W5100_SPI_EN 4  ```
    
    for. I am using an Arduino Mega and I remember that with my old sketch I did not need to use Soft SPI. Is this define on a Mega necessary and if yes pin 4 correct?
    1 Reply Last reply
    0
    • hekH Offline
      hekH Offline
      hek
      Admin
      wrote on last edited by
      #27

      The comment says it all. :) If you have a W5100 module with a SPI-enable pin (not many of them have this) you don't need to enable the Soft-spi for the radio (If I remember correctly it is disabled automatically if the MY_W5100_SPI_EN is defined).

      4 is the (default) pin where you should connect it to on your Arduino board. You can change this to fit your setup.

      1 Reply Last reply
      0
      • T Offline
        T Offline
        tomkxy
        wrote on last edited by
        #28

        @hek Thanks!

        After uploading to the Mega I receive intermittent the following error during initialization:

        0;255;3;0;9;read register, reg=6, value=0
        0;255;3;0;9;Sanity check failed: RF_SETUP register=0 instead of 39, check wiring, replace module or non-P version
        0;255;3;0;9;Radio init failed. Check wiring.
        

        Most of the time unplugging the Mega from power it goes away. This happens with two different modulesm one with external antenna and one without. Any idea?

        1 Reply Last reply
        0
        • T Offline
          T Offline
          tomkxy
          wrote on last edited by
          #29

          @Anticimex I am still digging.... Now I figured the following:

          The moment I disable MY_SIGNING_REQUEST_SIGNATURES on the sensor node while still having it on the gateway enabled sensor data is received and properly processed on gateway.

          I am now a bit puzzled. Am I right assuming that if MY_SIGNING_REQUEST_SIGNATURES is enabled on gateway that sensors nodes need to sign messages to the gateway?

          AnticimexA 1 Reply Last reply
          0
          • T tomkxy

            @Anticimex I am still digging.... Now I figured the following:

            The moment I disable MY_SIGNING_REQUEST_SIGNATURES on the sensor node while still having it on the gateway enabled sensor data is received and properly processed on gateway.

            I am now a bit puzzled. Am I right assuming that if MY_SIGNING_REQUEST_SIGNATURES is enabled on gateway that sensors nodes need to sign messages to the gateway?

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

            @tomkxy no. GW will only require signatures from nodes that require signatures. Else it would require it from every node.

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

            1 Reply Last reply
            0
            • T Offline
              T Offline
              tomkxy
              wrote on last edited by
              #31

              @Anticimex @Hek I hacked now my sketches and tested the following scenarios:

              1. sending a full payload from the sensor to the gateway in form of a nonce response
                -> it was received by the gateway and dropped -> ok
              2. doing the same as above but from the gateway to a node (the node was in a _process() loop) -> transmission failure

              So it seems that the sending side from the gateway to the sensor makes trouble, or the other way round receiving on the sensor node. I have not enough know regarding RF communication but this kind of asymetry seems to be strange.
              Any idea what I can try or who might be able to help?

              AnticimexA 1 Reply Last reply
              0
              • T tomkxy

                @Anticimex @Hek I hacked now my sketches and tested the following scenarios:

                1. sending a full payload from the sensor to the gateway in form of a nonce response
                  -> it was received by the gateway and dropped -> ok
                2. doing the same as above but from the gateway to a node (the node was in a _process() loop) -> transmission failure

                So it seems that the sending side from the gateway to the sensor makes trouble, or the other way round receiving on the sensor node. I have not enough know regarding RF communication but this kind of asymetry seems to be strange.
                Any idea what I can try or who might be able to help?

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

                @tomkxy it is not totally strange that TX and RX performance differ. You could try to move your node around a bit and see if it is affected by location. Fiddling a bit with the transmission strength could also be a thing to try.

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

                1 Reply Last reply
                0
                • T Offline
                  T Offline
                  tomkxy
                  wrote on last edited by
                  #33

                  @Anticimex I expanded on my previous experiment. I do not require full payload. If I just transmit one byte, most of the transmissions fail.

                  So I need to investigate the sending node which is a Arduino Mega with an Ethernet shield...

                  1 Reply Last reply
                  0
                  • hekH Offline
                    hekH Offline
                    hek
                    Admin
                    wrote on last edited by
                    #34

                    If you're using the 3v3 line on the mega, think again. When I tried that, I got very much transmission failures. It's crap. Use a regulator from the 5V rail.

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      tomkxy
                      wrote on last edited by
                      #35

                      @Anticimex @Hek thanks a lot for your support. This is very much appreciated.

                      I did now the following:

                      • solder a 4.7uf directly on the radio
                      • changed to the 5v power rail from the Mega, utilizing a regulator
                      • moved both nodes farer away

                      Results are much better but still not as reliable as I would need. One node acting as repeater does not get any response to its "parent" broadcasts (need to investigate this).

                      After some research I read that the Mega is probably not the best combination due to its current supply.
                      What would be a suitable alternative to the Mega (>32kb memory) which provides more reliably power?

                      1 Reply Last reply
                      0
                      • T Offline
                        T Offline
                        tomkxy
                        wrote on last edited by
                        #36

                        Finally, I have everything working again. Again a big thanks to @hek and @Anticimex .

                        As lessons learnt, I did the following:

                        • Solder 4.7uf directly on the radio
                        • Changed to the 5v power rail from the Mega, utilizing a regulator
                        • Put a 100 uf between 5v and gnd on the Mega
                        • Moved both nodes farer away (when I was testing I had same lying side by side which obviously created interferences)
                        • Switched the RF24 channel utilizing a channel which was not so polluted by all the Wifis around me
                        noelgeorgiN 1 Reply Last reply
                        1
                        • AnticimexA Offline
                          AnticimexA Offline
                          Anticimex
                          Contest Winner
                          wrote on last edited by
                          #37

                          Great news!

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

                          1 Reply Last reply
                          0
                          • T tomkxy

                            Finally, I have everything working again. Again a big thanks to @hek and @Anticimex .

                            As lessons learnt, I did the following:

                            • Solder 4.7uf directly on the radio
                            • Changed to the 5v power rail from the Mega, utilizing a regulator
                            • Put a 100 uf between 5v and gnd on the Mega
                            • Moved both nodes farer away (when I was testing I had same lying side by side which obviously created interferences)
                            • Switched the RF24 channel utilizing a channel which was not so polluted by all the Wifis around me
                            noelgeorgiN Offline
                            noelgeorgiN Offline
                            noelgeorgi
                            wrote on last edited by noelgeorgi
                            #38

                            @tomkxy there's an android app named wifi analyser and use that to check the crowded wifi channels and set the rf24 channel to the least crowded one.... wish i had an SDR for more hacking and learning:disappointed_relieved:

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


                            10

                            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
                            • OpenHardware.io
                            • Categories
                            • Recent
                            • Tags
                            • Popular