Possible Bug using Authentic Nordic nRF24L01+ Module
-
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.
-
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.
@tcontrada
You can purchase this part from Symmetry Electronics on line store for $1.78. That is single piece pricing. You may be certain that quantity pricing will be MUCH lower if you speak to a inside sales person. -
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.
@Jokgi Quote from hackaday:
Jay Tyzzer says: March 11, 2015 at 3:56 pm Let me start by saying that I do have a dog in this fight as I work for Nordic Semiconductor. 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...Let's wrap it up that this statement is far too generic then:
- nRF24L01P (+) clones are not 100% register compatible -- I have quite a lot of clones (confirmed by Nordic) that are register compatible. No issues whatsoever in any setup.
- The closes I own do not have an issue with the ack bit; they behave just as genuine ones.
-
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.
@tcontrada said:
The genuine Nordic chips can be purchased for less than $3 in the U.S.
The majority of the makers in the MySensors community do not want to, or have the capability to build their own nRF24 modules.
If you want the cheapest solution then you should probably buy the nRF modules from China, and swap the fakes with genuine chips. -
@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.
@hek said:
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.
Well, not sure how you can say the sketch works when I have it here and it does not work with the Nordic module.
Have you tested the SensBender sketch with the genuine Nordic module?
Since these are battery powered adding a capacitor will not make a difference and it will further drain the battery over time.
Again, there is something else going on...
-
@tcontrada said:
The genuine Nordic chips can be purchased for less than $3 in the U.S.
The majority of the makers in the MySensors community do not want to, or have the capability to build their own nRF24 modules.
If you want the cheapest solution then you should probably buy the nRF modules from China, and swap the fakes with genuine chips.@Yveaux Yeah, no other modules available, except from China.
However, that might change. I think there may be a manufacturer in the U.S. that is going to make official modules at a reasonable price soon and pretty much duplicate the Nordic module.I think that Nordic may have shot themselves in the foot by not making the module more available and at a much lower price. This opened the door for the fake chip market.