Customer Release Notes - ZB and SE firmware /******************************* XBee-Ember Release: v4x41 EmberZNet Release: v4.6.5.1 stack Based on 4x40 Build Date May 30, 2013 *******************************/ - TxOption 0x01 disables retries (and route repair). RxOption 0x01 indicates transmitter disabled retries. - BD range increased from 0-7 to 0-0x0A - nonstandard baud rates are permitted but not guaranteed - NI, DN, ND string parameters support upper and lower case - self addressed fragmentable messages now return the self-addressed Tx Status code (0x23) instead of simply success (0x00) - ND with string parameter no longer exits command mode after first response - ND with string parameter now ignores any subsequent responses after first response /******************************* XBee-Ember Release: v4x40 EmberZNet Release: v4.6.5.1 stack Based on 4x32 and 5x32 Build Date May 8, 2013 *******************************/ - Implemented binding and multicasting. - Implemented new AT&X command to clear the binding and group tables. - Implemented new Tx options for indirect addressing thru binding (0x04) and use multicast (0x08). - Implemented one button build for ZB and SE targets. Release folders are created and XCTU update folder is updated. /******************************* 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 command to read device Link key table entry's. - Use ATKD 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 = 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 // 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 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.