Release Notes PN 93000770_C Digi XBee Gateway 82003482_C EOS Firmware Version 3.2.11.4 November 12, 2014 INTRODUCTION This is a release of firmware for the Digi XBee Gateway ZB. The XBee Gateway is a small ZigBee to IP gateway that provides low-cost IP networking of RF devices and sensor networks. Featuring an easy development environment, XBee Gateway enables custom applications to run locally while interfacing across existing Ethernet/Wi-Fi networks for WAN connectivity to cloud-based software applications. The XBee Gateway products feature an end-to-end development environment based on the iDigi® Dia framework, allowing for rapid M2M-specific application development on the industry standard Python scripting engine. Digi ESP provides an IDE featuring device detection, debugging, compiling and downloading of iDigi Dia/Python code to Digi gateways. iDigi Manager Pro, a Digi-hosted remote management service, offers a platform for secure, scalable access to an unlimited number of remote assets. In addition, the iDigi web services provide seamless integration from Digi gateways into customer back office applications. SUPPORTED PRODUCTS X2E-Z3C-E1-A XBee Gateway ZB Ethernet X2E-Z3C-W1-A XBee Gateway ZB Wi-Fi Ethernet + Wi-Fi X2E-Z3C-E1-W XBee Gateway ZB Ethernet International X2E-Z3C-W1-W XBee Gateway ZB Wi-FI Ethernet + Wi-Fi International Firmware Version 3.2.11.4 2014-11-12 ==================================== HIGHLIGHTED PRODUCT CHANGES New XBee firmware: version 4055. This was updated to support a new Power Amplifier in domestic versions See XBee radio release notes for more information [DBL-795] - Remove vulnerability to CVE-2014-3566 (poodle SSLv3 vulnerability) ENHANCEMENTS Add support for V3 hardware Support for new Spansion flash chips Configurable XBee Radio logging level, with reduced logging by default. Improved firmware update messages in event log BUG FIXES [DBL-753] - Time client does not refresh DNS before requesting time [DBL-787] - Web UI not able to set dates in October [DBL-202] - Update DHCP client to check for existing address on network [DBL-510] - Fixed a bug that prevented a python program from using ZigBee Sockets and HTTPS [DBL-722] - Update License information on Web UI KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION None. Firmware Version 3.2.7.10 2014-06-25 ==================================== Python application update Firmware Version 3.2.7.9 2014-06-25 ==================================== HIGHLIGHTED PRODUCT CHANGES This upgrade includes usability enhancements within the local web UI, in particular, significant additions to allow for a more user-friendly experience when using the gateway to interact with an XBee network. In addition, this release will include a new stock Python application which provides basic functionality to allow the gateway to work out-of-the-box. The application includes functions which simplify the process of collecting XBee data via the gateway and sending data up to Device Cloud. At the time of this release, the product will also be re-named as "XBee Gateway". Note that ConnectPort X2e ZB devices currently in the field will be able to upgrade to this new release. However, by default, the stock Python application will not be included in the upgrade for ConnectPort X2e ZB devices in the field. We currently plan to release the stock Python application separately for customers with ConnectPort X2e devices who wish to also install this application on their devices. ENHANCEMENTS - Addition of python Application to push XBee data to Digi Device Cloud - Enhanced XBee configuration and status Web pages = Added enhancements to various web pages such as time and firmware update - Added AutoIP and Ethernet configuration - Added DNS caching to reduce network traffic - Added additional NTP servers to Time configuration page BUG FIXES CPX2e-303 cannot set time with in the format returned by query_state We now support either -0000 or +0000 to set UTC xmldatetime. CPX2E-288 You should not be able to bind to the same endpoint twice from python KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION NOTE: if you have firmware older than 3.2.0 on your device, you must install 3.2.0.8 before you can upgrade to this version. HISTORY ======= Firmware Version 3.2.2.37 2014-04-16 ==================================== HIGHLIGHTED PRODUCT CHANGES Add support for Micrel KSZ8081 10Base-T/100Base-TX Ethernet physical-layer transceiver Remove SSL HeartBeat extension from openssl library (HeartBleed workaround for openssl CVE-2014-0160) ENHANCEMENTS [DBL-545] - Add support for Micrel KSZ8081 Ethernet PHY BUG FIXES [DBL-624] - Update OpenSSL to resolve the 'heartbleed' vulnerability [DBL-614] - Time backs up on reboot until NTP time received KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION NOTE: if you have firmware older than 3.2.0 on your device, you must install 3.2.0.8 before you can upgrade to this version. Firmware Version 3.2.2.22 ========================= HIGHLIGHTED PRODUCT CHANGES Wi-Fi security enhancements /******************************* XBee-Ember Release: v4x43 EmberZNet Release: v4.6.5.1 stack Based on 4x42 *******************************/ Features: - None Fixes: - Fixed OTA recovery issue where Bootloader ACK message was being truncated due to channel being switch too early for the ACK message to be sent to the target node. 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". ENHANCEMENTS [DBL-135] - Add feedback to wifi wizard to help user enter the correct information (#40742) - Wi-Fi configuration enhancement [DBL-184] - removed 'iDigi Service Configuration' from 'Ethernet Service Configuration' [DBL-188] - Added disable addp service to webui [DBL-370] - Time Server traffic reduction for cellular devices. Added standard and high precision selections - Added Enable/Disable Network interfaces selection on Web UI - Log password changes in event file - Added SMS Status Page - Added Source routing - Legal Notice on new page or tab BUG FIXES [DBL-143] - Change CLI command "xbee child_table" to use own address by default (#43444) [DBL-460] - Security: Hole found in python SSL - CVE-2013-4328 Mandriva Linux Security Advisory MDVSA-2013:214 http://www.mandriva.com/en/support/security/ [DBL-354] - Security: Ignore SRR packets [DBL-355] - Security: disabled ICMP redirects [DBL-444] - Bug fix in Basic Web UI Authentication [CPX2E_138] - A 'space' in the name breaks watchdog module [DBL-425] - Reflected Cross Site Scripting in Device Configuration Error Mechanism [DBL-459] - If you log in to web GUI with python/no password you have to restart browser [DBL-468] - Deadlock at a lower level in Python - Do not reboot if a firmware update fails - Fixed issue with GPS status RCI - Fix issue with WEP / WPA PSK [DBL-437] - Fixed problem where XBee communications would fail under multi-threaded operations [DBL-461] - Fixed an issue with Firmware update. If device is rebooted during firmware update it may not accept a subsequent firmware update. KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION NOTE: if you have firmware older than 3.2.0 on your device, you must install 3.2.0.8 before you can upgrade to this version. Firmware Version 3.2.0.8 ========================= HIGHLIGHTED PRODUCT CHANGES - Updated XBee firmware to 4041, previous version was 401E /******************************* 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: 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. /******************************* 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. /******************************* 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. /******************************* 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. ENHANCEMENTS - Added Backup/Restore feature from web page including XBee parameters Note that this is only on factory units; firmware update procedure will not upgrade XBee firmware. - Added dropdown box to web page for system logs Separated log files to report on specific component such as smart energy or python scripts - Various security enhancements - Added a firewall on Cellular network interface - Added time server log messages to eventlog.txt - Processor temperature not available via Device Cloud - Added python support to disable and enable cellular data - Added support to enter static GPS information via Web UI or Device Cloud - Disable TCP timestamps and removed all but one time server entry to reduce traffic on Cellular networks BUG FIXES - Fixed an issue where gateway could stop logging - Fixed an issue where timestamps on log files were incorrect - Fixed an issue where configuring python autostart scripts did not work correctly - Fixed problem where timezone in digi.log was incorrect after a firmware update - Fixed an issue where gateway was ignoring Device Cloud keepalive settings - Fixed an issue where overwriting an existing file with a smaller file using the Web UI would leave invalid data at end of new file. - Fixed an issue with configuring network interface. If device cloud was disabled, configuring network via Web UI would inadvertently enable Device Cloud connectivity. - Fixed issue where gateway could become unresponsive. (Caused by file system becoming full) KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION None. Firmware Version 3.0.7.12 ========================= HIGHLIGHTED PRODUCT CHANGES Updated hardware and firmware to handle voltage brownouts that caused the gateway to fail to boot ENHANCEMENTS Updated hardware and firmware to handle voltage brownouts that caused the gateway to fail to boot Updated Logging, added user readable event log file Updated Atheros Wi-Fi driver to version 3.2: This allows for connections to more enterprise type access points. This also improved detection of local access points. Added additional python extensions to support both RAW and iDigi SMS APIs BUG FIXES Remove unsupported features from iDigi advanced settings: If device does not support Wi-Fi for example, then the Wi-Fi settings will not be displayed in iDigi Linux XBee driver did not remove requests from the transmit queue when they timed out. This caused the queue to fill and blocked any subsequent requests. Issue #39249: Watchdog & Brownout Issue #44812: XBee Join Time (NJ) set default to 255 Issue #44812: XBee Channel Mask set default to 0x1FFE Issue #44878: iDigi is incorrectly asked to discard changes on Xbee Properties tab Issue #44705: Corrected display of CPU usage Issue #45036: Enabled serial DMA to better support the Xbee Radio. This enhancement provides plenty of room to avoid the occasional overrun that was being observed. I nterrupt latency is also improved using DMA Issue #44501: Enhance handling of starting and stopping processes. KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION None. Firmware Version 3.0.4.15 ========================= HIGHLIGHTED PRODUCT CHANGES None. ENHANCEMENTS None. BUG FIXES Linux XBee driver did not remove requests from the transmit queue when they timed out. This caused the queue to fill and blocked any subsequent requests. KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION None.