NRF24L01+PA+LNA msg send failure



  • Hi, I know this has been discussed many times in the past and I hope I have not missed any old topic before posting. I have a NRF24L01+ connected to a raspberry pi and works just fine.
    I've then tried with a NRF24L01+PA+LNA and got some (expected) issues so I tried the following based on old discussios but without luck:

    • Power the NRF24L01+PA+LNA with a dedicated power supply
    • Add a capacitor, I got up to 100uF
    • Build some sort of shield around the board
    • Check the wiring, restarting, rebooting, etc.
    • Move the sensor closer

    Receiving is working fine, problem (and very consistent) is with sending:

    mysgw: Starting gateway...
    mysgw: Protocol version - 2.1.1
    mysgw: MCO:BGN:INIT GW,CP=RNNG--Q,VER=2.1.1
    mysgw: TSF:LRT:OK
    mysgw: TSM:INIT
    mysgw: TSF:WUR:MS=0
    mysgw: TSM:INIT:TSP OK
    mysgw: TSM:INIT:GW MODE
    mysgw: TSM:READY:ID=0,PAR=0,DIS=0
    mysgw: MCO:REG:NOT NEEDED
    mysgw: Listening for connections on 0.0.0.0:5003
    mysgw: MCO:BGN:STP
    mysgw: MCO:BGN:INIT OK,TSP=1
    mysgw: TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    mysgw: TSF:MSG:BC
    mysgw: TSF:MSG:FPAR REQ,ID=2
    mysgw: TSF:CKU:OK,FCTRL
    mysgw: TSF:MSG:GWL OK
    mysgw: !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    mysgw: TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    mysgw: TSF:MSG:BC
    mysgw: TSF:MSG:FPAR REQ,ID=2
    mysgw: TSF:CKU:OK,FCTRL
    mysgw: TSF:MSG:GWL OK
    mysgw: !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    mysgw: TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    mysgw: TSF:MSG:BC
    mysgw: TSF:MSG:FPAR REQ,ID=2
    mysgw: TSF:CKU:OK,FCTRL
    mysgw: TSF:MSG:GWL OK
    mysgw: !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    mysgw: TSF:MSG:READ,2-2-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    mysgw: TSF:MSG:BC
    mysgw: TSF:MSG:FPAR REQ,ID=2
    mysgw: TSF:CKU:OK,FCTRL
    mysgw: TSF:MSG:GWL OK
    mysgw: !TSF:MSG:SEND,0-0-2-2,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=NACK:0
    
    

    Is there anything else that I've missed? I'm also waiting for another NRF24L01+PA+LNA to see if it is just a faulty hardware.
    Btw, despite other comments I've read around, to me the range has improved decently, I can see these errors from a sensor which is around 20 meters away, on a different floor and with at least 3 walls in between which is much more than I was expecting.

    Thanks


  • Mod

    I'd wait for the new radio. Did you try some basic examples code to check nrf24 communication?



  • Thanks, this was my plan but then I tried a even simpler test which makes me excluding the hw failure: I just connected the NRF24L01+PA+LNA to a serial gateway and this worked just fine.
    Since the raspberry pi is very close to my wireless router I thought about some sort of frequency issues so I attached the serial gateway to the raspberry pi but again was still working fine.
    So the issue has something to do the NRF24L01+PA+LNA connected to my raspberry pi (a standard NRF24L01+ connected in the same way is doing ok).
    Not ideal but at least now I have some sort of workaround...
    Thanks


  • Mod

    Could be a power issue? Did you try to use an external supply ? Maybe the RPI can't supply enough current. You may also try to set nrf24 power to MIN and see if it changes something.



  • Yeah, really looks like a power issue but I tried with both an external supply and setting power to MIN with the same result. Now things are getting even more strange, the serial gateway that was working before now is no more working, same problem while sending.
    After many attempts looks like when the antenna is plugged is less likely to work, when unplugged 80% of the times works. Too much uncertainty, I'd be better waiting for another radio :)
    Thanks!



  • @user2684 Don't leave your antenna unplugged as without the transmitter being 'loaded' by the antenna the power amplifier may be damaged.

    I'm convinced that the component and/or build quality on most of these NRF boards is abysmal and so there is tremendous variability from unit to unit. I bought two +PA+LNA units initially and was quite impressed by my 100 yard range between two buildings, each building has stucco walls with wire mesh buried in the walls. Much better range than my wi-fi router. I ordered two more units from same source and one works but the PC board was trimmed with an extra 25mm along one edge of the board; the other unit had very high power consumption and does not work at all.... Go figure.


  • Mod

    I ordered a couple of the shielded ones just to try them out



  • Thanks for your advice guys. I've also verified the 20 standard NRF24L01+ that I got and I found 18 of them working fine, 1 not working at all and another with a behavior similar to the +PA+LNA, even if a bit more random but still failing while sending. To me this means I need to test a few more NRF24L01+PA+LNA to drive any conclusion :-)



  • I've just received two new NRF24L01+PA+LNA and the result is always the same (send failure). I'm using also a capacitor and external power supply for the radio. Only minor difference I've noticed is when defining MY_RF24_PA_LEVEL as RF24_PA_MIN, 1 time out of 10 seems working for a while but I couldn't understand the why behind that single time that is working. Looks like there is something I do (consistently) wrong since the result is the same with 3 different devices :)


  • Mod

    Have you tried to change channels?



  • I've just tried with a few different channels but the result is the same. This was a good try, thanks for pointing it out!


  • Mod

    Have you tried to recompile the gateway? I don't like "Listening for connections on 0.0.0.0:5003"

    In addition if the log is still the same (remember to check it on the https://www.mysensors.org/build/parser) it seems gateway is receiving the message and it also replies but the node with ID 2 is not responding: chances are node has some problems or signal/antenna is not right. I have seen videos on youtube where some Chinese products were shipped with wrong frequency antenna that of course caused problems.



  • Yes, I tried it, I've moved from the raspberry gw (used in my first post, hence the listening from connections) to a serial gw to test the new boards. I've also tried to replace the two arduino boards (both gateway and sensor) and the NRF24L01 radio on the sensor.
    I've also noticed I did not run a test so far with encryption disabled. I turned it off and nothing changed. Don't know if it is expected but I've also measures the current draw for the gw with the NRF24L01+PA+LNA and it was around 24mA. Of course I have a basic multimeter so it is not accurate but I was expecting way more than that with MY_RF24_PA_LEVEL not defined.


  • Mod

    Look at what is set as default when not specified. I'm running out of ideas.



  • I had similar issues. I had a serial GW with a NRF24L01+PA+LNA and the option MY_RF24_PA_LEVEL to HIGH and worked for more than one year; than I decided to convert it to an Ethernet GW and I had many failure in sending messages. When I was out of ideas (after checking connection wiring and power issues, adding capacitor, making the ugly shield fix) I decided to play with the MY_RF24_PA_LEVEL, and it started to work again with the value MIN.



  • Thank you both, I'll try to give RF24_PA_MIN another try since also in my case happened to work (even if for just a couple of times) with this setting (default if not set is RF24_PA_MAX).



  • I run a few other tests with MY_RF24_PA_LEVEL always set to RF24_PA_MIN and the results are...very random which is the worst scenario :-/
    Basic setup with a serial gateway with NRF24L01+PA+LNA and simple sensor with NRF24L01. Out of 15 reboot of both of them, a couple of times the gw was able to send the message but even in this case apparently with some failures in between:

    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:CKU:OK,FCTRL
    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:0100
    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=NACK: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.1
    100;255;0;0;17;2.1.1
    0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0
    100;255;3;0;6;0
    0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=11,pt=0,l=19,sg=0:NodeManagerTemplate
    100;255;3;0;11;NodeManagerTemplate
    0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=12,pt=0,l=3,sg=0:1.2
    100;255;3;0;12;1.2
    0;255;3;0;9;TSF:MSG:READ,100-100-0,s=200,c=0,t=23,pt=0,l=0,sg=0:
    100;200;0;0;23;
    0;255;3;0;9;TSF:MSG:READ,100-100-0,s=201,c=0,t=30,pt=0,l=0,sg=0:
    100;201;0;0;30;
    0;255;3;0;9;TSF:MSG:READ,100-100-0,s=255,c=3,t=0,pt=1,l=1,sg=0:90
    100;255;3;0;0;90
    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=27,pt=1,l=1,sg=0,ft=0,st=NACK:1
    

    I've tried again by combining external power, moving the sensor closer, changing capacitor but looks like those do not have an influence (positive or negative) with my test.
    Excluding a hardware failure (since sometimes it works and is consistent with 3 different radios), I guess has still something to do with the lack of power. I'd probably move to RFM69 or add a NRF24L01 repeater if range becomes an issue unless I'm missing something else... Thanks!



  • @user2684 I have had very similar issues to yours with my Arduino Mega Ethernet GW with nrf24l01+ lna+pa. It turned out the 5V to 3.3V regulator was at fault. nrf24l01+ lna+pa is using more current during peak and hence require a very stable power. I took me months to figure out the problem as AMS1117 was intermittent. As soon as I re-soldered a new one, the RF transmission stabilised. No more lost nodes and "FAIL" in the log.

    Appreciated you have checked it all many times, but there is no magic. Either this is a power issue or just try a different transmitter.



  • Thanks @alexsh1, your message suggested to me also to try powering the radio with 3 AA batteries and a AMS1117 instead of a direct connection to 2 AA batteries but I couldn't appreciate any positive change. Thanks all for your support, I'll put the NRF24L01+PA+LNA aside for now and just use NRF24L01 for the short range and RFM69 for a longer range.



  • @user2684 I'm powering the GW with a decent 5V PSU (5V 2A) and then only for nrfl01+ LNA+PA i reduce 5V through AMS1117 to a stable 3.3V.
    One last time, please try this and see if there are any changes

    I have never heard nrf24l01+ LNA+PA being powered with batteries. Any reason for this?


Log in to reply
 

Looks like your connection to MySensors Forum was lost, please wait while we try to reconnect.