Release Notes PN 93000689_C ConnectPort X2 for Smart Energy 82002458_C EOS June 22, 2011 INTRODUCTION This is a specialized production release of firmware for Digi's ConnectPort X2 gateway. This image provides a platform for execution of Digi applications implementing Zigbee Smart Energy devices. This firmware is intended solely for Digi Smart Energy devices. For more details, visit the Digi Support website. SUPPORTED PRODUCTS ConnectPort X2 Ethernet ENHANCEMENTS The iDigi feature has been improved to support binary data service and file system service betwen the device and iDigi Server. These services are supported through interfaces available to python applications in the device. See www.idigi.com for more information on iDigi. The clock (time) source management functionality has been improved to better detect failures to retrieve time sync samples from an NTP server as a time source. Failures or "lost" replies result in quick retries for both the initial sample after boot time as well as for subsequent samples. Additional configurability is supported via the "set timemgmt" CLI command and the iDigi platform. Event logging is improved for time-related events. Add support for a user-configured Maximum Transmit Unit (MTU) size for the Ethernet interface. The MTU size can be configured using the "mtu" option of the "set network" CLI command. Improve the parsing of RCI documents to better handle embedded XML comment and declaration values. (37651) To CLI and RCI, add flash (web) filesystem reporting for total, used and free space in the filesystem. Add these to: - CLI: display device (info device) - RCI: DeviceStats class (new elements) (38557) BUG FIXES Fix a bug in which the localtime() API didn't correctly adjust time by the specified timezone offset. (36959) For Digi products that do not expose the serial port to the end user, fix a bug in which profile settings are exposed but should not be. This affects: - CLI (set/show/revert profile and "display techsupport") - Configuration backup (33414) Fix a bug in which the "set_factory_default" RCI request incorrectly states in its RCI descriptor text that a device reboot will be performed after the "factory" action has been completed. No reboot is performed. Update radio command processing limits for SE and S2C. (38712) Fix a bug handling join notification status frame that created incorrect node list entries. KNOWN ISSUES The Web User Interface (WebUI) is removed with this firmware. Configuration must be performed from the Command Line Interface (CLI) or the iDigi Platform instead. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION On initial boot of this device, it will generate some encryption key material. This process can take as long as 40 minutes to complete. Until the corresponding key is generated, the device will be unable to initiate or accept that type of encrypted connection. It will also report itself as 100% busy, but, since key generation takes place at a low priority, the device will still function normally. On subsequent reboots, the device will use its existing keys and will not need to generate another unless a reset to factory defaults is done, which will cause a new key to be generated on the next reboot. HISTORY 82002458_C (2.14.0.3) - June 22, 2011 See ENHANCEMENTS and BUG FIXES information above. 82002458_B (2.13.0.10) - April 27, 2011 HIGHLIGHTED PRODUCT CHANGES: Starting with the 2.13.0 firmware version, the changes described in this section are incorporated in this product. Please refer to the HISTORY section of these release notes to identify the specific revision in which these changes were introduced. CLOCK (TIME) SOURCE MANAGEMENT SUPPORT The "Clock Source" functionality of the system has been replaced so as to simplify the behavior and improve the consistency of the time values delivered by the system, while still allowing the system to maintain a level of synchronization with external time sources. The updated feature includes a ranking system for clock sources. If a sample is taken from a better clock source than what has thus far been received (has a smaller number), the sample will be used to influence the baseline of our time measurements, and all sources of a less significant rank will be temporarily disabled. This allows the system to get a relatively accurate sense of time as quickly as possible, but eventually to run only listening to the best possible external sources. Internally, on products that have an RTC, the RTC itself is given a ranking of 50. This allows clock sources to be configured with a lower ranking... arranging so that they are only enabled when the RTC has not yet been initialized with a time value, essentially assigning them as one-shot programmers of the RTC. The rankings are re-evaluated when the clock sources are reconfigured, or when a user interface causes a "jump" in the time. Event logging of time-related events also is improved. The event log may be displayed using the "display logging" CLI. ENHANCEMENTS: Improve support for management of clock (time) sources. Refer to the HIGHLIGHTED PRODUCT CHANGES section for further information. When restoring a device to factory defaults, revert the certificates and keys only if the ALL settings are being reverted. (36710) Improve the network stack to address the issue described in US-CERT Vulnerability Note VU#498440: Multiple TCP/IP implementations may use statistically predictable initial sequence numbers. The note can be viewed at: http://www.kb.cert.org/vuls/id/498440. (36183) Improve the error messages that are reported due to ping CLI failures, such as when there is no route to the destination IP address, to be more specific to the underlying problem. (36872) Add the TCP "timewait" option to the "set network" command. This option specifies the desired system-wide value in seconds for the TCP TIME_WAIT interval. The default value is 60 seconds, and the supported range is from 10 to 240 seconds inclusive. Also added to the RCI settings. Add a note to the "set network" help, and to the "set network" output if a TCP option is changed, to clarify that the change is not applied to existing TCP connections, nor to service listeners until the listeners are restarted or a reboot occurs. Add similar notes to "revert network" help and "revert network" output if the global settings are reverted. For the "display logging" CLI, add the ability to display the event log and continue to check for and display new log messages as they are written to the log. The help text for this command is updated to describe how to request and terminate the continuous log "tailing". Add iDigi connection status items for send and receive idle times. Improve the error recovery algorithm for failed RCI requests received via iDigi. The updated algorithm reduces network activity by eliminating redundant error reports. Improve trace output for troubleshooting. (37637) Add event log and trace messages for the "Disconnect" iDigi protocol message, to help with troubleshooting the loss of iDigi connections. For iDigi client configuration, expose the (previously hidden) devicesecurity CLI option from these commands: set, show, revert. This was previously available but hidden to prevent misuse of some of that command's capabilities. The options that could cause problems if misconfigured have been removed, so it is no longer necessary nor appropriate to hide the devicesecurity option. (34535) Mesh / Zigbee / XBee networking: - Add join notification, BR and TC commands for SE 3x28 firmware. - Allow DDO commands to broadcast address from CLI. - Fix bug when setting extended timeout option on DDO commands. BUG FIXES: Fix a problem that caused the Python built-in time.clock() call to return a value that "rolls over" after approximately 49.7 days of operation after a boot of the Digi device. This occurred due to an internal clock counter rollover. It could cause Python application program to assume that the clock (and time) had gone backwards, resulting in unpredictable behavior of the application. (37986) Fix a problem in which Classless Inter-Domain Routing (CIDR) fails to route correctly under certain narrow instances (such as routing between hosts with IP addresses 25.0.0.50 and 24.0.0.50, with a subnet mask of 248.0.0.0). (37043) Fix a problem in which Ethernet driver might lose synchronization between its interrupt handler and its packet receive processing thread. This could cause received packets to be held in the driver's receive buffer ring and not passed to the network stack in a timely manner. Under such a condition, network communication might appear to be broken for network protocols and applications. (35638) Fix a possible panic that occurs while configuring the primary network interface (Ethernet) and saving the changes to NVRAM. (35715) Fix a bug in which the file system component was incorrectly accounting for open directories in the system. Due to this bug, it was possible that the open would fail regardless of actual resource availability. (31645) Fix a bug in a previous fix to gettimeofday() that causes incorrect display and behavior in "set time" and the Date and Time web page. (35957) Fix a bug in uudecodeToFile() that causes RCI file transfers to fail when there is white space after the file data. (36147) Fix a Python socket read failure that could occur if a timeout is set on an SSL socket. Fix an inconsistency and bug in which the Python command string was not properly managed with its maximum length value of 127 characters. Throw an exception instead of returning None from the Python xbee.get_node_list() function when the node list is empty or an error occurs. (35111) The value returned by the Python time.time() function is no longer modified by the offset option of "set time". The function gettimeofday() was returning UTC biased by "offset". (34994) Mesh / Zigbee / XBee networking: - Fix a problem in which a specific status message from an XBee radio could cause a false firmware update failure. (34471) - Correct inconsistent return codes from CLI commands "set xbee" and "xbee". The bug resulted in problems for the Python interface to the Digi CLI. (34683) Eliminate several potential memory leaks. (34946) 82002458_A1 (2.10.0.3) - February 23, 2011 ENHANCEMENTS: Enable the telnet client command in the command-line interface (CLI). (37525) Enable "file hashing" via RCI to help with file version verification. This extends the file system "ls" command in RCI to request that a hash value be returned for files in the listing. The supported hash methods are "none" (the default) and "crc32". BUG FIXES: Fix a bug that caused XBee early request timeout and retries resulting from a race condition. (37735) Fix a bug that may result in a memory leak when a fully qualified domain name (FQDN) is configured for a SNTP Server as a time source in the Date and Time Settings (CLI "set clocksource"). (37807) 82002458_A (2.10.0.3) - May 25, 2010 Initial release.