Possible Bug using Authentic Nordic nRF24L01+ Module
-
The debug looks normal as far as I can tell.
But appears nothing is getting transmitted??any suggestions?
-Tony
-
Have you updated the firmware on the sensebender? (they still ship with mysensors 1.4, because someone has been very "lazy" :))
-
Have you updated the firmware on the sensebender? (they still ship with mysensors 1.4, because someone has been very "lazy" :))
@tbowmo OK, I got ver 1.5.4 loaded and it's still failing with the authentic Nordic module.
Here is the output from the serial debug.Sensebender Micro FW 1.3send: 4-4-0-0 s=255,c=3,t=15,pt=2,l=2,sg=0,st=fail:0
send: 4-4-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,st=fail:1.5.4
send: 4-4-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=fail:0
sensor started, id=4, parent=0, distance=1- Online!
send: 4-4-0-0 s=255,c=3,t=11,pt=0,l=17,sg=0,st=fail:Sensebender Micro
send: 4-4-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.3
send: 4-4-0-0 s=7,c=0,t=6,pt=0,l=0,sg=0,st=fail:
find parent
send: 4-4-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,st=bc:
send: 4-4-0-0 s=8,c=0,t=7,pt=0,l=0,sg=0,st=fail:
send: 4-4-0-0 s=199,c=0,t=13,pt=0,l=0,sg=0,st=fail:
isMetric: 0
TempDiff :181.00
HumDiff :146.00
T: 76.59
H: 46
send: 4-4-0-0 s=7,c=1,t=0,pt=7,l=5,sg=0,st=fail:76.6
Battery: 4850
send: 4-4-0-0 s=199,c=1,t=38,pt=4,l=4,sg=0,st=fail:4850
TempDiff :4.41
HumDiff :0.00
T: 76.59
H: 46
send: 4-4-0-0 s=7,c=1,t=0,pt=7,l=5,sg=0,st=fail:76.6
- Online!
-
Have you updated the firmware on the sensebender? (they still ship with mysensors 1.4, because someone has been very "lazy" :))
@tbowmo Also, here is some info that I got from Nordic Tech Support
"The re-marked nRF24L01P (+) clones are not 100% register compatible. The issue with the counterfeit devices is that when they enabled “Dynamic Payload Length” (EN_DPL) in the “FEATURE” register, one bit get’s activated in the on-air payload (the NO_ACK bit) This bit should be active high (according to the Nordic datasheet), but it’s actually implemented the other way around. When EN_DPL is activated, the NO_ACK bit get reversed in the real nRF-devices. They did such a good job of cloning they cloned the datasheet error into the device!!!
If someone is using the fake parts on both ends it will work to some degree. In a mixed environment where you may have both real L01P and the fake ones you will have issues. But don’t look to be fully “compatible” with the real nRF24L01P firmware wise. And on a side note, As the nRF24LE1 and nRF24LU1P both use the nRF24L01P radio this makes the counterfeit parts incompatible with those as well. -
@tbowmo Also, here is some info that I got from Nordic Tech Support
"The re-marked nRF24L01P (+) clones are not 100% register compatible. The issue with the counterfeit devices is that when they enabled “Dynamic Payload Length” (EN_DPL) in the “FEATURE” register, one bit get’s activated in the on-air payload (the NO_ACK bit) This bit should be active high (according to the Nordic datasheet), but it’s actually implemented the other way around. When EN_DPL is activated, the NO_ACK bit get reversed in the real nRF-devices. They did such a good job of cloning they cloned the datasheet error into the device!!!
If someone is using the fake parts on both ends it will work to some degree. In a mixed environment where you may have both real L01P and the fake ones you will have issues. But don’t look to be fully “compatible” with the real nRF24L01P firmware wise. And on a side note, As the nRF24LE1 and nRF24LU1P both use the nRF24L01P radio this makes the counterfeit parts incompatible with those as well.@tcontrada that's exactly the point I made in my post.
Anyway, all modules I have work together, fake and genuine ones, so that statement certainly isn't true for all fakes.
Furthermore the on-air format cannot be controlled from register settings, so IMHO configuration of nRF by MySensors library is according to spec. -
@tcontrada that's exactly the point I made in my post.
Anyway, all modules I have work together, fake and genuine ones, so that statement certainly isn't true for all fakes.
Furthermore the on-air format cannot be controlled from register settings, so IMHO configuration of nRF by MySensors library is according to spec. -
I can try a Nordic Module on my Gateway. But I am actually using one of the high power radios on the gateway, which I may assume it has the Chinese chip instead of the Nordic one.
If it does work, then I will need a high power radio with an authentic Nordic chip, it that is even available. If so let me know..
I will get back with the test shortly...
-
The error you're seeing means node doesn't hear the ack message sent back from the receiver. As @Yveaux said, you might have to switch to genuine radios on both places to get a correct ack-behaviour.
@hek I did the test here is the result.
While the Nordic radio is connected to the gateway it receives the data from all the Chinese radios, no problem.
When I connect the Nordic module to one of the SenseBender modules I do not receive any data according to the gateway debug whether it has the Nordic or Chinese module.
So it appears that the Nordic and the Chinese can communicate, but the Nordic appears not to work when only connected to the Sensebender module. So I suspect something going on there?
-
@hek I did the test here is the result.
While the Nordic radio is connected to the gateway it receives the data from all the Chinese radios, no problem.
When I connect the Nordic module to one of the SenseBender modules I do not receive any data according to the gateway debug whether it has the Nordic or Chinese module.
So it appears that the Nordic and the Chinese can communicate, but the Nordic appears not to work when only connected to the Sensebender module. So I suspect something going on there?
-
@tcontrada said:
So it appears that the Nordic and the Chinese can communicate,
At least that rules out the bull from the Nordic guys :satisfied:
@Yveaux I'm not a big fan of companies stealing the design of another company which has put time and resources into the development of a chip.
I only want to use genuine Nordic products in my sensor network. That said, I think that some work needs to be done on why the SenseBender appears to have an issue operating with the Nordic module. I hope that the responsible folks will step up and make this work.
Let me know if I can do any other testing as I'd like to get this issue resolved ASAP.
Thanks,
Tony -
The error you're seeing means node doesn't hear the ack message sent back from the receiver. As @Yveaux said, you might have to switch to genuine radios on both places to get a correct ack-behaviour.
@hek One should be able to change the Auto ACK register on one of the sides to make it work correctly. (If that is the type of clone being used as various clones have various differences) But that would mean tight control of what modules are being used with what firmware on what side of the link.
RF Digital makes a real nRF24L01P based module however it is more pricey then the Chinese knock offs. But if you only need a few of them then at least you know you are getting the real McCoy.
Has header and SMA connector
RFD21711Has PCB antenna and header
RFD21712This has no header and no SMA connector
RFD21716
The Nordic Website has all the Gerbers for this module in case you wish to roll your own.
http://www.nordicsemi.com/eng/nordic/download_resource/9620/7/13918708If one wanted to make a tester out of a example this would work. http://www.nordicsemi.com/eng/nordic/download_resource/10638/11/57367651
However to run this example stock a nRF24LU1P dev kit is also required. -
@Yveaux I'm not a big fan of companies stealing the design of another company which has put time and resources into the development of a chip.
I only want to use genuine Nordic products in my sensor network. That said, I think that some work needs to be done on why the SenseBender appears to have an issue operating with the Nordic module. I hope that the responsible folks will step up and make this work.
Let me know if I can do any other testing as I'd like to get this issue resolved ASAP.
Thanks,
Tony@tcontrada Don't get me wrong: I'm also against shameful copying of others work, but I've worked closely with Nordic in the past, trying to figure out a way to distinguish fake from genuine chips. I started this discussion, to enable the maker community to buy modules with genuine chips from China, without having to pay the distributor prices from the West (starting at €30 a piece!)
But either Nordic themselves don't know how to tell if a module is a fake (apart from x-ray, which they used on 3 of my modules) or they just don't want to share this information with us.
Feel free to buy only original ones from approved suppliers, but they come at a price. -
@tcontrada said:
So it appears that the Nordic and the Chinese can communicate,
At least that rules out the bull from the Nordic guys :satisfied:
@Yveaux If the Chinese module has a genuine Nordic part on it then why would it not work? However there has been enough info put out there on the difference in the cloned parts and the genuine nRF24L01P device to know that there are incompatibilities in certain situations, like use of Auto-ACK on some of the clones. (Check out the hackaday posts on this activity. It is one thing when they sell the clones with the part number intact. It is another when they remove the markings and put nRF24L01+ on them. That is plain old Fraud and becomes counterfeiting.
-
The genuine Nordic chips can be purchased for less than $3 in the U.S.
That is just the chip and not the module.
The actual parts which make up the module cost about $3-4.If you are concerned about battery operation you'd want the genuine chips as they have a lower sleep current which would extend battery life, which is critical in my application. So cost of batteries is a factor as well.
-
@Yveaux If the Chinese module has a genuine Nordic part on it then why would it not work? However there has been enough info put out there on the difference in the cloned parts and the genuine nRF24L01P device to know that there are incompatibilities in certain situations, like use of Auto-ACK on some of the clones. (Check out the hackaday posts on this activity. It is one thing when they sell the clones with the part number intact. It is another when they remove the markings and put nRF24L01+ on them. That is plain old Fraud and becomes counterfeiting.
@Jokgi said:
If the Chinese module has a genuine Nordic part on it then why would it not work?
Of course they will work. In fact I did it myself by swapping the nRF chip on a Chinese module.
The discussion on hackaday that states the ack bit is inverted has no mentioning of a decent source, iirr.
I did a lot of research on the subject (see first link in my top post) but did never encounter a fake chip that has an inverted ack bit. I wish I had, then we would have had a bulletproof counterfeit detector by now.
I doubt if these fakes with inverted ack bits actually exist, or if they are just made up by Nordic to get us to buy original chips.
I'm in favor of open communication above all! -
@Jokgi said:
If the Chinese module has a genuine Nordic part on it then why would it not work?
Of course they will work. In fact I did it myself by swapping the nRF chip on a Chinese module.
The discussion on hackaday that states the ack bit is inverted has no mentioning of a decent source, iirr.
I did a lot of research on the subject (see first link in my top post) but did never encounter a fake chip that has an inverted ack bit. I wish I had, then we would have had a bulletproof counterfeit detector by now.
I doubt if these fakes with inverted ack bits actually exist, or if they are just made up by Nordic to get us to buy original chips.
I'm in favor of open communication above all!I believe the hackaday reference was from Nordic. I just found this as well and is worth reading.
https://ncrmnt.org/2015/03/13/how-do-i-cost-optimize-nrf24l01/"Looks like the answer why was at the very bottom of the comments of the Hack-A-Day comment feed discussing those fake ASICs. And the very comment was made made by someone from Nordic. Turns out that those clowns who made that ripoff ASIC brought a typo from the original specs to silicon, so the NO_ACK bit in the packet control field is inverted in the fake chips. Testing a little bit more – no matter whether the dynamic payloads are enabled or not, fakes will not be able to properly ack packets received from genuine devices, as well as those from nrf24lu1, nrf24le1. The reverse (surprise!) works!
If you thought that this is good news (we have a good way to distinguish fake and non-fakes) you are quite mistaken. Googling the internets I found at least 2 ‘compatible’ chips: SI24R01 and SE8R01. And forum threads indicate some differences in default pipe addresses after reset, so there may be even more of them. Maybe even those modules I have and consider ‘good’ are just better clones.
-
@Yveaux I'm not a big fan of companies stealing the design of another company which has put time and resources into the development of a chip.
I only want to use genuine Nordic products in my sensor network. That said, I think that some work needs to be done on why the SenseBender appears to have an issue operating with the Nordic module. I hope that the responsible folks will step up and make this work.
Let me know if I can do any other testing as I'd like to get this issue resolved ASAP.
Thanks,
Tony@tcontrada said:
I hope that the responsible folks will step up and make this work.
The sketch works. We can rule out that. I suspect the power requirement might differ from the clone. You could play around width extra capacitors on the module.