-
Notifications
You must be signed in to change notification settings - Fork 88
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flaw in using the quietest channel for the network (Ember) #1003
Comments
Hi Stefan,
ZigBee defines channels outside of 2GHz so we can't really do this - it is perfectly possible for the Ember chipset to use these frequencies. If the code that restrict this then we may need to remove that restriction at some point in future. Currently the 868MHz band is possible, and I understand that 915MHz will also be opened up in future (that said, these frequencies are currently only defined for use with Smart Energy but there are other users I know of looking at using ZigBee devices on these bands for added range). Possibly also linked to #958. |
Using ZigbeeNetworkManager#setZigBeeChannel(ZigBeeChannel.UNKNOWN) before the networkmanager startup will enable the scan for the quietest channel Fixes zsmartsystems#1003
Using ZigbeeNetworkManager#setZigBeeChannel(ZigBeeChannel.UNKNOWN) before the networkmanager startup will enable the scan for the quietest channel Fixes zsmartsystems#1003
Using ZigbeeNetworkManager#setZigBeeChannel(ZigBeeChannel.UNKNOWN) before the networkmanager startup will enable the scan for the quietest channel Fixes #1003
The
EmberNetworkInitialisation
class creates the zigbee network viaThe problem is, that the
ZigBeeDongleEzsp
which calls thisformNetwork
method, initializes thenetworkParameters
during its initialization as follows:As far as I understand it, this means that
networkParameters.getRadioChannel()
will always contain the channel that is set on the chip and thus never 0.UNLESS one calls
ZigbeeNetworkManager#setZigBeeChannel(ZigBeeChannel channel)
between theZigbeeNetworkManager#initialize()
andZigbeeNetworkManager#startup()
.This boils down to the problem of setting a channel that satisfies the check from above:
networkParameters.getRadioChannel() == 0
.The naive approach with
results in
The error occurs due to this check in
ZigBeeDongleEzsp
:As a solution to this problem I think the check in
formNetwork
should be changed to:And the check for setting a zigbee channel in
ZigbeeDongleEzsp
should be extended to allow for setting theUNKNOWN
channel, which then means "Use auto detection to find the quietest channel":However, I am also wondering why there is a check for the 2GHz band in there. Is there any regulatory that Ember chips must only be used within this frequency band?
I also had a look at the telegesis implementation, but I think this feature is not implemented (yet), at least I didn't see it in the transport implementation.
The text was updated successfully, but these errors were encountered: