Customer Release Notes - ZB and SE firmware


/*******************************
XBee-Ember Release: v5x32
EmberZNet  Release: v4.6.5.1 stack
Based on 4x32 and 5x23
*******************************/

- Implemented new ATDC command for additional device control, bitwise options are:
  ATDC   Bit0 - Enable Joiner Global Link key. 
         Bit1 - NWK Leave Request Not allowed.
- Implemented new PLKE Modem status.
    MODEM_PLKE_INITIATED       = 0x14,
    MODEM_PLKE_SUCCESS         = 0x15,
    MODEM_PLKE_TABLE_FULL      = 0X16,
    MODEM_PLKE_NOT_AUTHORIZED  = 0x17, 
    MODEM_PLKE_INVALID_TC_REQ  = 0x18,
    MODEM_PLKE_TC_UPDATE_FAIL  = 0x19,
    MODEM_PLKE_BAD_EUI64       = 0x1A,
    MODEM_PLKE_LK_REJECTED     = 0x1B,
    MODEM_PLKE_UPDATE          = 0x1C,
    MODEM_PLKE_CLEAR_LK_TABLE  = 0x1D,
- Implemented the ability to clear a Partner Link Key entry when the Link Key table becomes full. If the Link key
  table is full you'll get Tx transmit status of TX_STATUS_LK_TABLE_FULL (0x27). When getting this status the host 
  can clear an entry to make room for a new device by doing the following sequence.
    - Use ATKT<index> command to read device Link key table entry's. 
    - Use ATKD<index> to delete an device entry to make room for a new partner (PLKE) device.

Fixes:
- Link key table now gets properly cleared when leaving network due to Management ZDO leave request.

Application Notes:
1. If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the device
into a state where it always report an ATAI value of 0xA8.
2. A sleepy device with I/O sampling enabled will wait for the APS ACK before going to sleep. This will force 
a sleepy device to stay awake until getting the ACK or the ACK timeout has elasped. The I/O sampling ACK 
requirement can be disable by setting ATDO option bit5 "Disable ACK for I/O Sampling".


/*******************************
XBee-Ember Release: v4x32
EmberZNet  Release: v4.6.5.1 stack
Based on 4x24  
*******************************/

New features:
- Upgraded Ember stack from 4.2.0 to 4.6.5.1, this required major restructuring of the Application code due 
  to Ember Application Framework AFv1 to AFv2 design changes.
- Implemented 5 sec break for restoring device default settings.  
  > The 5 sec break option is only enabled only if both DIN or DOUT are in GPIO_PERIPHERAL mode (1)
    otherwise it is presumed that the UART is disabled and those pins are being used for other functions. 
- Implemented Encrypted APS leave command, Tx packet format is as follows: 
  > Api Tx Explicit Frame type = 0x11
  > Source End Point = 0xE6
  > Destination End Point = 0xE6
  > Cluster ID = 0x0023
  > Profile ID = 0xC105 
  > Tx option = 0x20
  > Payload = <Transaction sequence number: 1 byte> <EUI64: 8 bytes> 

  The status for Encrypted APS leave command will be AT command response (0x88) frame type. 

Fixes:
 - Router/End devices will only send I/O sample data packet if joined to 
   an valid network. 
 - Fixed Self-Address packet failure when sending fragmented packets.

        
Application Notes:
1. If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.
2. A sleepy device with I/O sampling enabled will wait for the APS ACK before going to sleep. This will force the sleepy device to stay awake until getting the ACK or the ACK timeout has elasped. The I/O sampling ACK requirement can be disable 
by setting ATDO option bit5 "Disable ACK for I/O Sampling". 


/*******************************
XBee-Ember Release: v4x24
EmberZNet  Release: v4.2.0 stack
Based on 4x23 and 5123 
Build Date Feb 26, 2013
*******************************/

New features:
None

Fixes:
 - Updated MXI ATDO option to disable ACK for both sleep and router devices.
 - Router/End devices will only send I/O sample data packet if joined to 
   an valid network. 
        

Application Notes:
1. If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.

2. A sleepy device with I/O sampling enabled will wait for the APS ACK before going to sleep. This will force the sleepy device to stay awake until getting the ACK or the ACK timeout has elasped. The I/O sampling ACK requirement can be disable by setting ATDO option bit5 "Disable ACK for I/O Sampling".       


/*******************************
XBee-Ember Release: v4x23
EmberZNet  Release: v4.2.0 stack
Based on 4x22 and 5123 
Build Date Feb 5, 2013
*******************************/

New features:
None

Fixes:
 - Fixed sleepy device timeout issue when sleep period is set greater than 6 mins.

Application Note:
If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8.



/*******************************
XBee-Ember Release: v4x22
EmberZNet  Release: v4.2.0 stack
Based on 4x21 and 5123 
Build Date Jan 25, 2013
*******************************/

New features:
None

Fixes:
 - Fixed ATAS network scan lockup issue when using ATII command.

Application Note:
If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8. 


/*******************************
XBee-Ember Release: v4x21
EmberZNet  Release: v4.2.0 stack
Based on 4x20 and 5123 
Build Date Jan 22, 2013
*******************************/

New features:
- Added HIGH_RAM_CONCENTRATOR option via ATDO, host must send AR=0 to update routes.
- Added NO_ACK_IO_SAMPLING option via ATDO for sleepy devices. The default operation the sleepy device will 
  remain awake until getting APS ACK or APS ACK retry timeout. 
  ATDO   Bit0 - Enable Temperature Compensation Updates on S2B. 
         Bit1 - Reserved for Smart Energy devices.
         Bit2 - 0/1 = First or Best Response. 
         Bit3 - Disable NULL Transport Key (Coordinator Only). 
         Bit4 - Disable Tx Packet Extended Timeout. 
         Bit5 - Disable ACK for End Device I/O Sampling.  (New)
         Bit6 - Enable High Ram Concentrator.             (new)

 - Added the ability to do OTA recovery of a target which has reverted to default channel 13 due 
   to some kind of OTA interruption during a normal OTA update. Here's the sequence required once 
   a target has reverted to default channel 13:

    - Send AT%U <Target EUI>           // Sends broadcast message to target to start OTA sequence.
    - Do normal OTA sequence           // Send FW update packets to local/remote OTA cluster 
    - Send AT%U <0>                    // Send terminate OTA recovery command when completed with OTA update. 

   Note: If the coordinator is the source and updater send AT%U command as a local AT command, otherwise 
         send as a remote AT command.    

Fixes:
 - Updated MXI file with NW and JV description.
 - The ATAS command now sends API zero length payload modem status message when AS command is completed. For 
   transparent mode you’ll get a <CR> after AS command is completed.  
 - Fixed NR command not resetting radio properly.
 - Fixed Watchdog resets and flash verify write failures due to:
      * bad handling of rxbuffer overflows;
      * bad command processing when bailouts occur;
      * out of bounds write when processing a NI command response;
 - Fixed I/O sampling issue where getting duplicate samples if ST is set very low and SN set above 1.
 - Fixed serial loopback issue where there's no loopback response after a device initially joins the network. 
 - Fixed issue, if P3 or P4 are set to anything other than default, the module will lock up upon receiving any 
   remote AT command.  
 - Fixed issue to always remain in API non-escaped mode when using SPI. 
 - JV/JN response not being random between 2-8 seconds due to initial random number seed being static.
 - When AT Coordinator sends to unknown address it will intermittently lockup when trying to enter command mode. 
 - End device retry count is incorrect when initially sending packet to unknown address after waking up.
 - End device taking excessive time to send fragmented packets. 
 - Fixed serial Break issue where the parity not being set to default value when break detected.
 - When sending a TX request to yourself, the status frame indicated that the packet was successfully received 
   (0x00) but should show that it is self addressed (0x23)



/*******************************
XBee-Ember Release: v4x20
EmberZNet  Release: v4.2.0 stack
Based on 4x1E and 5123 
Build Date Oct 26, 2012
*******************************/


New features:
ATAS command is a previously-undocumented command to perform an “Active Scan” for networks by a coordinator or router.  

This is the first release of the S2C firmware with a working ATAS command.  Past versions of the S2B firmware used a different format for the response; an upcoming S2B ZB release will have a compatible response format.

The host receives multiple AT Response frames, with data in the following format:

typedef struct {
       uint8_t      as_type;
       uint8_t      channel;
       uint16_t     pan_be;
       uint8_t      extended_pan_be[8];
       uint8_t      allow_join;
       uint8_t      stack_profile;
       uint8_t      lqi;
       int8_t       rssi;
} xbee_atas_response_t;


Fixes:
 - Updated MXI file with NW and JV description.

Application Note:
If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8. 


/*******************************
XBee-Ember Release: v5123
EmberZNet  Release: v4.2.0 stack
Based on 4x1E and 5122 
Build Date June 27, 2012
*******************************/
New features:
- Device can now use short addressing when sending a packet, must set EUI64 to all 0xFF's and then specfic a valid 16 bit address of the destination device.
- Implemented AT#S command which returns a 16 bit CRC of the private key and the certificate data. 
- Implemented new ATDO option to disable extended timeout for APS unicast message retrys.   

Fixes:
- Fixed the ATAS command to provide properly formated data when doing an active scan of the network.


Application Note:
If you change from ZB to SE firmware on an S2C, you have to do an ATRE.  Otherwise, you can get the XBee into a state where it always report an ATAI value of 0xA8. 


/*******************************
XBee-Ember Release: v4x1E
EmberZNet  Release: v4.2.0 stack
Based on 4x1D and 5122 sources 
Build Date April 6, 2012
*******************************/

Fixes:
- Fixed network watchdog issue where router would lockup with AI status of 0x2B 
  (ASSOC_DISCOVERING_COORD).
- Fixed Tx status message (0x8B) to properly indicate route discovery was done when 
  getting network ACK failure.
- Updated MXI ATPO description to include routers as it can be configured as a 
  sleepy device.
- AT devices only, fixed RO command which was causing OTA data to be transmitted
  in mulitple packets.
- Made change to emberStackStatusHandler, to allow rejoining a network even though
  it may get status of EMBER_JOIN_FAILED, due to Ember stack notifying APP it did 
  detect a network but it has has different PANID.
- Added function to clear TX Extended Timeout status.
- Made change to report proper route/address discoveries in TX status.
- Made change to spread ND responses over the NT time period (same as 2x70) and to 
  keep sleepy device awake for the NT time period. Also added checks to assure 
  Tx UART buffer has room for entire response so no data will be dropped.
- Fixed problem for ND+NI commands to timeout properly and to handle ND self-response
  when ATNO=2.
- Made change for sleepy device to report correct Modem status when leaving a network.
- Fixed fragmentation APS message retry issue, to set the correct timeout when the
  extended timeout option is enabled.
- Fixed DO option to revert back to default values when ATRE is executed.


New features:
- Revised the ATDO command (bit3) to disable the NULL Transport key from being sent 
  from a Coordinator.
- Revised the ATAS command to work on all devices type, router, coordinator,and 
  end-device.



/*******************************
XBee-Ember Release: v5122
EmberZNet  Release: v4.2.0 stack
Based on 5x21 sources
*******************************/
JN, DH, DL, NI, DD, NO, SB, RO, IR, IC commands were removed from mxi file as they are not implemented yet for SE.
EE command added as a read only command to mxi file.
ZU command now returns serially installed public key if it exists, 
otherwise returns manufacturing installed public key if it is initialized, 
otherwise returns 0x00.


/*******************************
XBee-Ember Release: v5121
EmberZNet  Release: v4.2.0 stack
Based on 5x20 sources, and changes between 3x30 and 3x31.
*******************************/
CR command added to set PAN Id conflict report threshold.
KT command added to dump a hashed link key table record with an index parameter

/*******************************
XBee-Ember Release: v5120
EmberZNet  Release: v4.2.0 stack
Based on 4x1B and 5x18 sources, and changes between 3x28 and 3x30.
*******************************/
July 14, 2011
New Association LED behavior has been implemented:
If the device is Authenticating as either a client or server, the LED will blink at a 50 msec rate.
If the device is a Coordinator, and the network has not yet formed, the LED will be off;
otherwise if no one has authenticated yet, the LED will blink at a 500 msec rate.
If the device is a Router/End Device, and is scanning/associating, the LED will blink at a 100 msec rate;
otherwise if the device is unassociated, the LED will be off.
Otherwise, if LT is zero, the LED will be on;
and if LT is nonzero, the LED will blink at a (LT*10) ms rate.

The AS command (active scan) was enabled for use with smart energy.
The IN command was removed.
End device rejoin was fixed.
VL command reports the datetimestamp of the build with a API frame cmdData string of:
    mmm dd yyyy hh:mm:ss
SE 1.1 KE test case changes were propagated from 3x30.
Module I/O commands were restored: D1, D2, D3, D4, D5, D6, D8, D9, RP, P0, P1, P2, P3, P4, PR, PD, V+;
D0, D7, DB were already part of SE.

May 19, 2011

In general, changes which were made to the SE em250 firmware between 3x28 and 3420, intended to bring the SE em250 firmware into compliance with SE 1.1, which were propagated to 5x18 to form 5x20.

SC range was extended to include channel 26, SC default was left as 0x7FFF.
However, if Channel 26 (0x8000) is present in the SC mask, then transmit power
for all channels is capped at 3 dBm.

AO=0x07 enables passthru of supported ZDO Requests
AO=0x0B enables passthru of binding requests
KT command was added to access the link key table, #ifdef'd out for our internal diagnostic use.  THIS MUST NOT BE RELEASED EXTERNALLY, as it would undercut security.
EP command was added show number of virtual page erasures in the simeeprom.  When this value reaches twice (there are 2 virtual pages) the erasures tolerated by the simeeprom, the device should be replaced.
NH limit was reduced from 30 to 11 to comply with the SE 1.x specification.

New DO (Device Options) command has been added to control a bitmask of options.

DO bit 0x01 enables the temperature compensation option on the XBee S2B.
By default it is enabled.  This option appears in all SE and ZB builds for the XBee S2B.
Disabling Temperature Compensation reduces wake time overhead for sleeping end devices from 13 ms to 2 ms,
but then transmit power may vary by as much as 8 dBm as a function of temperature.

DO bit 0x02 enables the join notification message option on the SE Coordinator.
By default it is disabled.  This option appears in the SE Coordinator builds.
The other 6 bits of DO are held in reserve to support future boolean command options.

DO bit 0x04 enables best response option during joining.
By default it is disabled, which selectes the First Response option.
First response will cause the node to join with the first network to send a beacon response.
A change from the prior release is that the node will continue to dwell on the first response channel in an attempt
to receive beacon responses from all neighbors on that same network as reported in the first beacon response.
Best response will cause the node to search all channels in the SC mask before selecting a network to join.
  
ZU (the certificate public key) is now readable
KY is no longer reset by ATRE
EO range is now 0..0xFF
Factory Default Settings:
SN default was 0x01, was extended to 0x20 to increase default polling time tolerance for sleeping end devices
CE default is now 0x00 (default to Router mode)
EO default is now 0x08 (default to Router mode)
KY default is now 0x00 (set random on first startup)
NK default is now 0x00 (set random on first startup)

TX Status messages where status is in error will now sometimes show a 16 bit address other than 0xFFFE. Before, they only showed 0xFFFE.

A router's link key table will be reset when it leaves a network.

The value of KY will be retained even if a RE command is given.

DO, ZT, ZU, ZV have been added to the mxi files.


/*******************************
Build date:		March 28, 2012
ZB version:		401D
EZNet version:		4.2 build 53 (GA, certified)
*******************************/

Fixes:
- Fixed CE issue for device to proper detect when it changes between router and   coordinator.
- Fixed RAM corruption issue when source routing takes place when a device is trust center   with encryption enabled.
- Fixed RE issue where the device serial port will lockup due to AP changing from API to   command mode. 

New features:
- Added new formatted VL command.


16-bit PAN and 64-bit PAN are both in big-endian byte order.  The as_type field is always 2 (on a Wi-Fi XBee, it?s a 1 and the rest of the response has a different format).

LQI (Link Quality Indicator) is unsigned, higher values are better.  RSSI (Relative Signal Strength Indicator) is signed and lower values are better.


/*******************************
Build date:		Sept 7, 2011
ZB version:		401C
EZNet version:		4.2 build 53 (GA, certified)
*******************************/

Fixes:
- Fixed flash WR issue, causing device to revert back to firmware defaults settings.

New features:
ATAS command is a previously-undocumented command to perform an ?Active Scan? for networks by a coordinator.  On the S2B platform, it was only available in the coordinator firmware.  On the S2C platform, the command only works when ATCE=1.

This is the first release of the S2C firmware with a working ATAS command.  Past versions of the S2B firmware used a different format for the response; an upcoming S2B ZB release will have a compatible response format.

The host receives multiple AT Response frames, with data in the following format:

typedef struct {
       uint8_t      as_type;
       uint8_t      channel;
       uint16_t     pan_be;
       uint8_t      extended_pan_be[8];
       uint8_t      allow_join;
       uint8_t      stack_profile;
       uint8_t      lqi;
       int8_t       rssi;
} xbee_atas_response_t;

16-bit PAN and 64-bit PAN are both in big-endian byte order.  The as_type field is always 2 (on a Wi-Fi XBee, it?s a 1 and the rest of the response has a different format).

LQI (Link Quality Indicator) is unsigned, higher values are better.  RSSI (Relative Signal Strength Indicator) is signed and I believe lower values are better.





/*******************************
Build date:		April 15, 2011
ZB version:		401B
EZNet version:		4.2 build 53 (GA, certified)


Fixes:
- Fixed associate LED issue, now is initially ON while its waiting to 
  associate to the network.
- Fixed issue with exiting AT mode after changing to AP1 mode of operation. 

New features:
- None.
/*******************************
Build date:		April 6, 2011
ZB version:		401A
EZNet version:		4.2 build 53 (GA, certified)


Fixes:
- Fixed problem of API vs. AT mode where the device doesn?t respond 
  after sending API frame with AP0 command. 


New features:
- None.
/*******************************
Build date:		March 28, 2011
ZB version:		4019
EZNet version:		4.2 build 53 (GA, certified)


Fixes:
- Fixed problem of SPI not responding after the device wakes up. Found 
  the SPI port needed to be re-initialized. 

Note: Excluded 4017 changes as code is under WDR bug investigation. 

New features:
- None.