Release Notes PN 93009369_E ConnectPort X2 with Python 82001596_E EOS March 31, 2009 INTRODUCTION This is a production release of firmware for Digi's ConnectPort X2 gateway. The ConnectPort X2 gateway provides support for communication to end nodes in a wireless PAN from a parent application running on an IP network. The behavior of the gateway can be customized through the Python development environment. This firmware does not support Modbus or serial connections to the gateway node. For applications that require communicating directly with the wireless PAN module in the ConnectPort X2 gateway via RealPort, Modbus, or UDP/TCP sockets, a separate firmware version is available. For more details, visit the Digi Support website for firmware version P/N 82001631. SUPPORTED PRODUCTS ConnectPort X2 Ethernet ENHANCEMENTS MESH NETWORKING ENHANCEMENTS: Add support for XBee DigiMesh 2.4GHz and 900MHz radios. Add support for XBee 868 radios. ZB - Support Over the Air firmware updates for ZB Mesh XBee. ZB - Support use of 16-bit address. ZB - Support ZDO Node discovery using neighbor tables for ZB firmware. Add support for Mesh Source Routing. Add support for transmit queuing in the gateway. Add ability to locate and identify units using a button on Gateway web UI and via CLI. Change behavior of XBee Route command to show route to end node. Sort node list in Web UI by Node ID. Other specific enhancements: - Rename CLI options for set/show/display from "mesh" to "xbee". The option "mesh" remains as a hidden alias, but it is deprecated. - Add support for "xbee" utility command to CLI. - Add "revert xbee" command to CLI. - Improve string parsing in CLI and value validation in web UI. - Add zbGetGatewayInfo() function to return gateway status. - Add data loopback support. - Add handling of ZB many to one route request frame. - Add alias configure_ain() for digihw.configure_channel() - Add XBee socket option (XBS_SO_EP_SYNC_TX) to block until sendto() is ACKed or fails and return status - Add radio frame API type to radio message callback - Improve blocking of commands during radio initialization - Improve calculation of transmission timeouts - Modify settings to load on demand and save only changed values so web UI transfers fewer settings to/from nodes. - Rename DDO command options, add to Python interface. - Assign new frame ID for transmission retries. - Display node list grouped by routers and their end devices in CLI. - Send loopback request before DDO commands to improve error detection. - Save API mode setting after radio initialization for faster start up. - Handle payload size errors with source routes. GENERAL/OTHER ENHANCEMENTS: Add configuration web page for MEI in all MEI-capable products. Update "display techsupport" to include new and additional commands. Add the current date/time to the device status display (CLI and web UI), in addition to the uptime value for the device. For event logging, add the device uptime to end-of-log display line (both CLI and web UI), if the timestamp display for logging is other than the uptime (such as date/time). BUG FIXES MESH NETWORKING BUG FIXES: - Fix bugs using XBee DP 900 radio firmware. - Fix bug with disabling mesh from CLI. - Use cached 16-bit address only for ZigBee. - Add parameter validation. (28896, 28895, 28894) - Fix callback crash/deadlock. (29183) - Update firmware table after gateway radio FW update. (29217) - Disallow invalid firmware files, improve recovery from OTA firmware update errors. (29220) - Fix bug with frame payload greater than 236 bytes. - Fix ZB broadcast frame size limit. - Fix ZNet 2.5 end devices missing from node list. - Hide network reset button if DigiMesh. (29572) - Fix firmware update from DigiMesh 2.4 to 802.15.4. (29575) - Handle bad arguments to "xbee ping" command. (29592) - Correct node identify message for DigiMesh. (29593) - Fix bug with loopback data size of 256 bytes. (29594) - Shorten some device type strings in web UI and CLI. (29595) - Fix disappearing node ID in web UI. (29605) - Always store network address on node discovery (even if 0xffff). - Blink LED directly instead of sending node identify message from gateway to itself. (29593) - Hide power level setting in web UI for XBee-PRO series 2 radios because it is read-only. (29498) - XBee socket options SO_NONBLOCK and XBS_SO_EP_SYNC_TX were being enabled incorrectly. (29753) - Show correct PAN ID range for installed radio on XBee basic settings web page. (29830) - Set option to "purge" transmissions that are blocked by 868 MHz radio duty cycle limit. (29902) - Preserve gateway radio settings during ZNet firmware update. (29892) - Sort web UI node list by node ID and extended address, instead of grouping by router and children. (29396) - Wait for mesh node discovery to complete before sending another local command because radio will block and command will time out. Does not apply to ZNet or ZB radio firmware. - Log an error and do not attempt to update XBee firmware over the air when target node has the old boot loader with low power setting. (29932) GENERAL/OTHER BUG FIXES: Implement RFC-specified validation for a hostname, per the requirements for DHCP option 12. The RFCs consulted include 952, 1035, 1123 and 2132. The maximum length of the hostname is increased to 127, increased from 31. Support for a FQDN also has been implemented. Web UI help has been updated to describe a valid hostname construction. (27588) Strip carriage returns from TFTP loaded Python scripts. (26971) Add a very basic stat call for FAT FS, so we can report st_size. (22785) Fix a bug that occurs when restoring a public key: the value is set to the key plus additional bytes, resulting in a corrupt key. (27780) Add option value ranges to CLI "udpserial" command help. (29034) Fix a bug in which the event log includes one or more messages that specify the wrong (misleading) system time value when the device boots. Affects devices with a real time clock. (29804) KNOWN ISSUES None. DOCUMENTATION ERRATA None. ADDITIONAL INFORMATION It is recommended that you perform a backup of your device's settings prior to upgrading your firmware. If you should need to revert back to a previous version of firmware, this will ensure that you will be able to restore your device to its previous settings in the event that some settings are not restored properly after downgrading the firmware. To backup your device settings, follow this simple procedure: 1) Open the web user interface and navigate to the "Administration" section and select "Backup/Restore". 2) Click the "Backup" button and select the location to where you want to save your backup file. To restore: 1) Navigate to the same section within the web UI. 2) Click the "Browse" button to select the backup file you saved in the previous steps. 3) Click the "Restore" button to upload the configuration settings contained in your backup file. 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 82001596_E (2.8.4.7) - March 31, 2009 See ENHANCEMENTS and BUG FIXES information above. 82001596_D1 (2.8.1.11) - November 12, 2008 ENHANCEMENTS: None. BUG FIXES: Fix a bug in which the CLI "set time" command could set the date or time value incorrectly unless both were specified on the command line. This addresses a previous Known Issue. (28285) Release ZigBee socket lock around calls to driver zbSendMessage() to prevent deadlocks. (28356) 82001596_D (2.8.1.6) - October 1, 2008 ENHANCEMENTS: Mesh networking enhancements: - Replace the term "Mesh Network" with the broader "XBee Network" to better describe the varied RF network types supported by Digi. - Add an option to software reset or network reset a node on the XBee Advanced Settings page of the Web UI. - Add more configuration and display capabilities to the mesh networking user interface web pages. - Add support for ZB firmware versions 2x21 and later. - Add support for XBee Pro 900 radio. - Add lookup by node ID to set/show/display mesh CLI commands. - Add ability to update gateway radio firmware to web UI and RCI. - Add timeout parameter to C and Python DDO functions. - Add ability to run DDO commands from the CLI. - Display DDO commands for parameters in the CLI. - Handle missing 64-bit address on received frames. - Handle 16-bit cluster IDs. - Increment frame ID in transmitted data frames for debugging. - Update radio parameters supported by the web UI, CLI, and RCI. Add dynamic web page generation support for native web server from Python. Add support for Connectware Manager Web Services. Add support for file system access from Connectware Manager. Improve configuration settings implementation to use less memory, better support customized defaults and more effectively manage NVRAM. Add start-up event logging in the "system" facility of these items: - product name and ID - model name (if different than the product name) - firmware (EOS) version - boot version - POST version - manufacturing VPD version (build tag) - hardware strapping value The above information is also shown by the "display device" command. BUG FIXES Mesh networking bug fixes: - Fix mesh node list threading bug that caused remote DDO commands to fail. (25697) - Indicate when a broadcast frame is received and its source address - in ZbAddressParams structure. (25895) - Improve CLI error messages when gateway is disabled. (26632) - Preserve gateway radio settings across firmware update. (26633) - Clear node list when the gateway is disabled. (26634) - Fix panic while setting PAN ID in the web UI. (26876) - Fix payload size checking in ZigBee sockets sendto function. (27184) - Fix bug displaying DDO command results in CLI. (27869) - Allow any length up to maximum for keys and binary settings. (27904) - Fix bug during initial node discovery when remote nodes are sending data. Fix memory leak related to RCI requests. Fix memory leak related to XBee sockets interface. Fix possible issue where the DHCP client would fail to retrieve an IP address. 82001596_C (2.7.5.3) - July 16, 2008 ENHANCEMENTS: Add dynamic web page generation support for native web server from Python. Add support for Connectware Manager Web Services. Add support for file system access from Connectware Manager. BUG FIXES: Fix memory leak related to RCI requests. Fix memory leak related to XBee sockets interface. Fix possible issue where the DHCP client would fail to retrieve an IP address. 82001596_B (2.7.4.3) - April 15, 2008 ENHANCEMENTS: Add support for XBee 802.15.4 modules (Series 1). Reduce runtime memory usage, including both executable code and data. The firmware image size also is somewhat reduced. This results in more available memory in the Digi device, which can help improve performance during intervals of high memory demand operations. Add support for SSL. Enhance the Event Logging feature to permit the user to clear the log on demand, thereby removing all log entries. This is supported in the web UI (Event Logging page) and the CLI ("display logging action=clear"). Add two new options to the CLI command "display logging": head=(lines) tail=(lines) where "(lines)" is a number of log entries to display. The "head" option displays lines from the start of the event log (the oldest entries), and the "tail" option displays lines from the end of the event log (the most recent entries). Add Web UI advanced page for configuring mesh settings. BUG FIXES: Fix several mesh issues: - Increase maximum data payload size to accommodate all radio types. - Update radio's valid parameter ranges. - Fix a problem obtaining gateway radio information. - Fix a problem displaying the product type. 82001596_A (2.6.4) - September 27, 2007 Initial release.