Why do I get EZSP_INVALID_COMMAND or EZSP_ERROR_VERSION_NOT_SET errors after updating to EmberZNet 3.5.x?
If upgrading to EmberZNet 3.5.x releases of EZSP from earlier (pre-3.5) versions, you may find that your host code now fails to execute any commands after the network coprocessor [NCP] starts up, with the NCP consistently returning these errors about the command not being valid or the version not being properly set. These are likely due a mismatch in the host’s desiredProtocolVersion and the NCP’s own ezspProtocolVersion, which are compared together when the EZSP_VERSION command is executed. This is a result of the EZSP Protocol Version changing from 2 to 3 between EmberZNet 3.4.x and EmberZNet 3.5.x.
So, why the protocol version change, you may be wondering?
This EZSP version change was done to denote the fact that, between EZN3.5 and its predecesoors, several EZSP frames changed format, several new frames were added, a couple of frames were removed, and the EZSP driver code to handle interaction with the lower-level SPI driver was reworked a bit to avoid some unsafe behavior. Forcing the version to match serves as a stimulus to developers of host code to ensure they look over the changes (mainly in the app/util/ezsp tree) between Protocol Version 2 (pre-EZN3.5 stacks) and Protocol Version 3 (EZN3.5.x and later) and integrate where appropriate (or just adopt our EZSP host driver code wholesale, if you prefer).
See the EmberZNet release notes for your stack version for more details about changes between your current (EmberZNet version X.Y.Z) release and the previous release (EmberZNet version X.[Y-1].Z). Full release notes for all platforms are available online at http://portal.ember.com/release_notes.








