NRF24L01+ problems in 2.1.1 and 2.2.0 Beta
-
Do you have capacitors on the radio modules? If you move the node closer to the gateway (3/4 meters apart) , does it work better?
@gohan Yes, capacitors on both the node(s) and the gateway radios. Moving the nodes closer to gateway has no affect. The gateway is sending out udpates (per MYSControler at least) but Domoticz sees no new devices and OpenHab has not seen an update either. So frustrating.
-
Try to stop the gateway and run it with debug from console and c'è if you see any NACK occurring, also on the node if you can, because probably the controller is not accepting messages with NACK. If you can, try to make another arduino based gateway and see if you still get same errors. Keep in mind that if radio modules are not genuine you have to consider they are the cause of your problems.
-
Try to stop the gateway and run it with debug from console and c'è if you see any NACK occurring, also on the node if you can, because probably the controller is not accepting messages with NACK. If you can, try to make another arduino based gateway and see if you still get same errors. Keep in mind that if radio modules are not genuine you have to consider they are the cause of your problems.
@gohan unable to run my node in debug with radio attached at the moment (no 3.3v FTDI or mosfets available right now).
But, that being said - the MYSControler does get the updated values. Just not Domoticz or OpenHab. So, why does one client connecting to the gateway get data while the other two do not? -
@gohan Yea, I have one on order taking the slow boat from China. But, it bothers me that MYSControler "gets" the sensor node values and the other controlers do not. Same IP config. And the weird NACK errors. Something just seems screwy as this hardware was working up until about 3 months ago - no changes made.
-
I have now purchased an extra Raspberry Pi to test the raspberry pi gw.
2.1.1 fails with the most basic configure (without any parameters) while the same wiring and configure command works for development (I used commit 901258f16598)
git checkout 2.1.1 ./configure ... make ... sudo ./bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.1 mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.1 mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=1 mysgw: TSM:FAIL:PDT git checkout development ./configure ... make ... mysgw: Starting gateway... mysgw: Protocol version - 2.2.0-beta mysgw: MCO:BGN:INIT GW,CP=RNNGL---,VER=2.2.0-beta 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=1I'm not sure how to proceed though. Is there anything you want me to try?
-
This is the verbose rf24 output. Not sure if it helps.
2.1.1:./configure --extra-cxxflags="-DMY_DEBUG -DMY_DEBUG_VERBOSE_RF24" && make && sudo bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.1.1 mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.1 mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: RF24:write register, reg=0, value=14 mysgw: RF24:write register, reg=3, value=3 mysgw: RF24:write register, reg=4, value=95 mysgw: RF24:write register, reg=5, value=76 mysgw: RF24:write register, reg=6, value=39 mysgw: RF24:write register, reg=16, value=115 mysgw: RF24:write register, reg=29, value=6 mysgw: RF24:read register, reg=6, value=0 mysgw: RF24:read register, reg=5, value=0 mysgw: !RF24:INIT:SANCHK FAIL mysgw: !TSM:INIT:TSP FAILdevelopment:
./configure --extra-cxxflags="-DMY_DEBUG -DMY_DEBUG_VERBOSE_RF24" && make && sudo bin/mysgw -d mysgw: Starting gateway... mysgw: Protocol version - 2.2.0-beta mysgw: MCO:BGN:INIT GW,CP=RNNGL---,VER=2.2.0-beta mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: RF24:INIT mysgw: RF24:INIT:PIN,CE=22,CS=24 mysgw: RF24:WBR:REG=0,VAL=14 mysgw: RF24:WBR:REG=3,VAL=3 mysgw: RF24:WBR:REG=4,VAL=95 mysgw: RF24:WBR:REG=5,VAL=76 mysgw: RF24:WBR:REG=6,VAL=37 mysgw: RF24:WBR:REG=16,VAL=115 mysgw: RF24:WBR:REG=29,VAL=4 mysgw: RF24:RBR:REG=6,VAL=37 mysgw: RF24:RBR:REG=5,VAL=76 mysgw: RF24:WBR:REG=2,VAL=2 mysgw: RF24:WBR:REG=1,VAL=0 mysgw: RF24:WBR:REG=28,VAL=3 mysgw: RF24:FRX mysgw: RF24:FTX mysgw: RF24:WBR:REG=7,VAL=112 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: RF24:WBR:REG=2,VAL=3 mysgw: RF24:WBR:REG=1,VAL=1 mysgw: RF24:STL mysgw: RF24:WBR:REG=0,VAL=15 mysgw: RF24:WBR:REG=10,VAL=0 mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: RF24:RBR:REG=23,VAL=17 mysgw: Listening for connections on 0.0.0.0:5003 -
Hello,
I would like to submit a bug report for these libraries in the use of NRF24L01+ radio
I have problems with NRF24L01+ on both 2.1.1 and 2.2.0 Beta
I have installed a fresh RPI with all new libraries and trying to make a RPI Serial GW
In 2.1.1 it doesn't start at all but in 2.2.0 it starts but in the log I constantly receive the following in the Domoticz log where I have added the GW
I2017-10-09 19:25:12.306 MySensors: Gateway Version: 2.2.0-beta 2017-10-09 19:25:12.306 Error: Serial Port closed!... Error: End of file 2017-10-09 19:25:13.306 MySensors: retrying in 30 seconds...After a while I get the following in the console
mysgw: TSF:MSG:READ,0-0-0,s=0,c=3,t=2,pt=0,l=11,sg=0:Get Version mysgw: !TSF:MSG:LEN,0!=18The above points at something wrong with the radio connection
I have tried 3 different radios but still no luck so I guess it has something to do with the libraries
-
@miljume Are you using modules with the genuine Nordic Devices mounted on them? How do you have it connected? Are you successful with any other "compatible" modules?
@Jokgi to my knowledge, there is no way to know if devices are genuine, besides sending them to Nordic to have them checked. I have not done that, so I don't know whether they are genuine.
The radio module is connected using a 2x4 pin jumper wire connector on the nrf24 end and a 2x5 jumper wire connector on the raspberry pi end. Wiring for the nrf end is according to https://www.mysensors.org/build/connect_radio and https://www.mysensors.org/build/raspberry for the raspberry pi end.
I don't understand your third question. Could you clarify/rephrase?
-
I have now tracked down the commit that makes the default raspberry pi gateway work: https://github.com/mysensors/MySensors/commit/4c31e22d6ff45c3a4f8aa70f915c5f10fe345f64
When using the commit before this (26c237adadda9f79b07d862708d8471285a96905 ) the radio init fails.
So now we at least know why development works and 2.1.1 does not.
git checkout 26c237adadda9f79b07d862708d8471285a96905 ... ./configure --extra-cxxflags="-DMY_DEBUG -DMY_DEBUG_VERBOSE_RF24" && make && sudo bin/mysgw -d ... mysgw: Starting gateway... mysgw: Protocol version - 2.2.0-beta mysgw: MCO:BGN:INIT GW,CP=RNNG----,VER=2.2.0-beta mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: RF24:INIT mysgw: RF24:INIT:PIN,CE=9,CS=24 mysgw: RF24:WBR:REG=0,VAL=14 mysgw: RF24:WBR:REG=3,VAL=3 mysgw: RF24:WBR:REG=4,VAL=95 mysgw: RF24:WBR:REG=5,VAL=76 mysgw: RF24:WBR:REG=6,VAL=37 mysgw: RF24:WBR:REG=16,VAL=115 mysgw: RF24:WBR:REG=29,VAL=6 mysgw: RF24:RBR:REG=6,VAL=0 mysgw: RF24:RBR:REG=5,VAL=0 mysgw: !RF24:INIT:SANCHK FAIL mysgw: !TSM:INIT:TSP FAIL git checkout 4c31e22d6ff45c3a4f8aa70f915c5f10fe345f64 #68 ... ./configure --extra-cxxflags="-DMY_DEBUG -DMY_DEBUG_VERBOSE_RF24" && make && sudo bin/mysgw -d ... mysgw: Starting gateway... mysgw: Protocol version - 2.2.0-beta mysgw: MCO:BGN:INIT GW,CP=RNNG----,VER=2.2.0-beta mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: RF24:INIT mysgw: RF24:INIT:PIN,CE=22,CS=24 mysgw: RF24:WBR:REG=0,VAL=14 mysgw: RF24:WBR:REG=3,VAL=3 mysgw: RF24:WBR:REG=4,VAL=95 mysgw: RF24:WBR:REG=5,VAL=76 mysgw: RF24:WBR:REG=6,VAL=37 mysgw: RF24:WBR:REG=16,VAL=115 mysgw: RF24:WBR:REG=29,VAL=6 mysgw: RF24:RBR:REG=6,VAL=37 mysgw: RF24:RBR:REG=5,VAL=76 mysgw: RF24:WBR:REG=2,VAL=2 mysgw: RF24:WBR:REG=1,VAL=0 mysgw: RF24:WBR:REG=28,VAL=3 mysgw: RF24:FRX mysgw: RF24:FTX mysgw: RF24:WBR:REG=7,VAL=112 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: RF24:WBR:REG=2,VAL=3 mysgw: RF24:WBR:REG=1,VAL=1 mysgw: RF24:STL mysgw: RF24:WBR:REG=0,VAL=15 mysgw: RF24:WBR:REG=10,VAL=0 mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: RF24:RBR:REG=23,VAL=17 mysgw: Listening for connections on 0.0.0.0:5003 -
I am glad I'm not the only one having this issue (but hope it will be resolved soon).
I had a RPi3 with the MQTT gateway working well for the past year, until I decided to upgrade to the latest version of Raspbian (and MySensors). I've now tried with a fresh install on both the RPi3 and a RPi2; with the same NRF24 as before (working well in the previous build); I also tried with a different radio using a socket and capacitor.
Looking forward to your progress!mysgw: Starting gateway... mysgw: Protocol version - 2.1.1 mysgw: MCO:BGN:INIT GW,CP=RNNG---,VER=2.1.1 mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=1 mysgw: TSM:FAIL:PDT mysgw: TSM:FAIL:RE-INIT mysgw: TSM:INIT mysgw: !TSM:INIT:TSP FAIL mysgw: TSM:FAIL:CNT=2 mysgw: TSM:FAIL:PDT -
@miljume Are you using modules with the genuine Nordic Devices mounted on them? How do you have it connected? Are you successful with any other "compatible" modules?
@Jokgi Mots probably they are not genuine (bought from Aliexpress) but these devices themselves have not caused me any issues before. It started when I upgraded to 2.1.1. Although, after a clean install with 2.2.0 Beta it started working again so I am 100% sure that it's not the modules
-
I have now tracked down the commit that makes the default raspberry pi gateway work: https://github.com/mysensors/MySensors/commit/4c31e22d6ff45c3a4f8aa70f915c5f10fe345f64
When using the commit before this (26c237adadda9f79b07d862708d8471285a96905 ) the radio init fails.
So now we at least know why development works and 2.1.1 does not.
git checkout 26c237adadda9f79b07d862708d8471285a96905 ... ./configure --extra-cxxflags="-DMY_DEBUG -DMY_DEBUG_VERBOSE_RF24" && make && sudo bin/mysgw -d ... mysgw: Starting gateway... mysgw: Protocol version - 2.2.0-beta mysgw: MCO:BGN:INIT GW,CP=RNNG----,VER=2.2.0-beta mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: RF24:INIT mysgw: RF24:INIT:PIN,CE=9,CS=24 mysgw: RF24:WBR:REG=0,VAL=14 mysgw: RF24:WBR:REG=3,VAL=3 mysgw: RF24:WBR:REG=4,VAL=95 mysgw: RF24:WBR:REG=5,VAL=76 mysgw: RF24:WBR:REG=6,VAL=37 mysgw: RF24:WBR:REG=16,VAL=115 mysgw: RF24:WBR:REG=29,VAL=6 mysgw: RF24:RBR:REG=6,VAL=0 mysgw: RF24:RBR:REG=5,VAL=0 mysgw: !RF24:INIT:SANCHK FAIL mysgw: !TSM:INIT:TSP FAIL git checkout 4c31e22d6ff45c3a4f8aa70f915c5f10fe345f64 #68 ... ./configure --extra-cxxflags="-DMY_DEBUG -DMY_DEBUG_VERBOSE_RF24" && make && sudo bin/mysgw -d ... mysgw: Starting gateway... mysgw: Protocol version - 2.2.0-beta mysgw: MCO:BGN:INIT GW,CP=RNNG----,VER=2.2.0-beta mysgw: TSF:LRT:OK mysgw: TSM:INIT mysgw: TSF:WUR:MS=0 mysgw: RF24:INIT mysgw: RF24:INIT:PIN,CE=22,CS=24 mysgw: RF24:WBR:REG=0,VAL=14 mysgw: RF24:WBR:REG=3,VAL=3 mysgw: RF24:WBR:REG=4,VAL=95 mysgw: RF24:WBR:REG=5,VAL=76 mysgw: RF24:WBR:REG=6,VAL=37 mysgw: RF24:WBR:REG=16,VAL=115 mysgw: RF24:WBR:REG=29,VAL=6 mysgw: RF24:RBR:REG=6,VAL=37 mysgw: RF24:RBR:REG=5,VAL=76 mysgw: RF24:WBR:REG=2,VAL=2 mysgw: RF24:WBR:REG=1,VAL=0 mysgw: RF24:WBR:REG=28,VAL=3 mysgw: RF24:FRX mysgw: RF24:FTX mysgw: RF24:WBR:REG=7,VAL=112 mysgw: TSM:INIT:TSP OK mysgw: TSM:INIT:GW MODE mysgw: RF24:WBR:REG=2,VAL=3 mysgw: RF24:WBR:REG=1,VAL=1 mysgw: RF24:STL mysgw: RF24:WBR:REG=0,VAL=15 mysgw: RF24:WBR:REG=10,VAL=0 mysgw: TSM:READY:ID=0,PAR=0,DIS=0 mysgw: MCO:REG:NOT NEEDED mysgw: RF24:RBR:REG=23,VAL=17 mysgw: Listening for connections on 0.0.0.0:5003@mfalkvidd Good! I have now succeded in getting 2.2.0 Beta up and running with Ethernet GW
-
@mfalkvidd said in NRF24L01+ problems in 2.1.1 and 2.2.0 Beta:
git checkout 4c31e22d6ff45c3a4f8aa70f915c5f10fe345f64
Okay, this works for me now as well. However, Domoticz still doesn't report any updated data beyond the first seen measurement for the temp portion of the sensors....I am about to see how far these slim nodes can fly...
-
I had the same problem with 2.1.1 on a Raspberry Pi Zero W.
Changing to the development version fixed it. -
I'm trying to connect Domoticz to a virtual serial.
./configure --my-transport=nrf24 --my-rf24-irq-pin=15 --my-rf24-pa-level=RF24_PA_LOW --my-gateway=serial --my-serial-is-pty --my-serial-pty=/dev/serial2
But while Domoticz sees the serial port, it does not seem to connect. I also see the "end of file" error in the Domoticz logs.
What baudrate should be set in Domoticz?