Release Notes PN 93009371_F2 ConnectPort X2 82001631_F2 EOS February 12, 2010 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. This firmware is targeted for applications that require communicating directly with the wireless PAN module in the ConnectPort X2 gateway via RealPort, Modbus, or UDP/TCP sockets. This firmware does not support the Python development environment. For applications that require Python, a separate firmware version is available. For more details, visit the Digi Support website for firmware version P/N 82001596. However, the Python environment is not available for the ConnectPort X2 XTend or ConnectPort X2 XStream platforms. SUPPORTED PRODUCTS ConnectPort X2 ConnectPort X2 XTend ConnectPort X2 XStream ENHANCEMENTS See also the HISTORY section for enhancements implemented since the last customer release. The default value of the over-the-air (OTA) firmware update setting to is changed to disabled, to avoid interfering with applications using the XBee network. Improve iDigi (Connectware) client's connection backoff/retry logic in the case of failure to connect to the iDigi server. If SNTP Server use is configured as a time source in the Date and Time Settings, with a domain name specified for the time server, a possible stale name resolution condition was eliminated. Enable IA/Modbus engine sending Modbus via XBee to bind on a source end-point other than 0xE8. This prevents conflict with Dia XBee serial drivers, allowing Modbus and Python/Dia to share the XBee network. The desired bind-end point is appended to the XBee Extended Address (such as 00:13:a2:00:40:3e:15:18!E9). The user must also force the DE in the XBee 232/485 to match this value. (32938) Add "disp ia" to "disp techsupport" command list. (32252) BUG FIXES See also the HISTORY section for bug fixes implemented since the last customer release. Present data frames sent to the mesh gateway broadcast endpoint 0xff to all sockets bound to endpoints 0x01-0xf0 per the ZigBee specification. (32289) Always allow over the air firmware updates of remote XBee-PRO ZB nodes. PRO nodes are not affected by the low-power boot loader problem that prevents updates of non-PRO nodes. Fix a bug in the DHCP client that accumulates small network buffers on the DHCP client's internal information structure. This occurred for options received from a DHCP server that are unrecognized by the DHCP client. These buffers are now freed to avoid gradual memory depletion. Fix an issue where the Send Character Immediate IOCTL was not getting a response, causing a RealPort hang. (32061) Flush the DNS resolver cache when the DNS server list changes (servers are removed). This avoids a possible stale DNS resolver cache issue. Disallow an attempt to set the IP address for a network interface and the interface-specific gateway to the same value, which causes problems for routing in the network stack. 0.0.0.0 is substituted for the gateway Modify SSH to prevent an initial false SNMP login failure trap when the SSH client connects with the "none" authentication method. (1278304). Fix issues in the SSH service implementation: - Eliminate possible memory leaks when loading DSA/RSA keys. - Fix a failure to disconnect and report the reason to the client when the maximum number of authentication failures is reached. KNOWN ISSUES Digi RealPort can only be used if the Modbus Bridge function is disabled. You cannot use RealPort with Modbus/RTU or ASCII to access the Modbus Bridge function. Although multiple SNTP Server entries may be configured as time sources in the Date and Time Settings, only the first one in the list is used. 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: an RSA key for SSL/TLS operations, and a DSA key for SSH operations. 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 82001631_F2 (2.9.0.11) - February 12, 2010 See ENHANCEMENTS and BUG FIXES information above. 82001631_F1 (2.9.0.7) - October 30, 2009 Not released for customer use. ENHANCEMENTS: Add SNTP Client as a time source for time source management. This new feature adds SNTP client as a source for time management. It allows the device to synchronize its clock with NTP/SNTP servers. Configuration for this feature is available through RCI, the web UI and the command line "set clocksource" command. Add an "offset" from UTC to time source management. This new feature adds the ability to modify Coordinated Universal Time (UTC) by increments that correspond with time zones. Configuration for this feature is available through RCI, the web UI and the command line "set time" command. Add logging for time events such as changes to offset or time "jumps". Add SSL connection support and simple password authentication for device connections to the iDigi Server (Connectware Manager Server). Add support for RealPort authentication. Add numerous commands to "display techsupport" for improved reporting. (31539, 31689) Reduce the amount of alarm data sent at the start of a connection to an iDigi Server (Connectware Manager Server) by sending only the active alarms. This improvement is coupled with a server change to not request the current state of all alarms. Add support to flush the ARP table and DNS resolver cache on demand. Enhance "display dnsserver" to display resolver cache entries. Automatically flush the DNS resolver cache when the DNS server list changes, removing possibly stale cache entries. XBee (mesh) networking enhancements: Show XBee SN parameter for gateway radio in web UI and CLI. (30782) Improve ZDO node discovery: - ZDO node discovery performed by default on Smart Energy networks. - DDO node discovery performed by default on other networks. - Verify that routers respond to LQI request. - Find and verify end devices in router child table. - Prevent extra LQI requests outside of ZDO discovery. - Add CLI "display xbee zigbee" option to enable ZDO discovery. Log changes in local modem status in event log. Save changes to D7 on web UI basic settings page. Don't require "!" at end of node address in CLI. Update radio parameters. Blink X2 association LED when "identify device" is done on the gateway by itself. Supported on ZNet, ZB, and DigiMesh. Correct node identify message sent to DP 868 and 900 radios. Queue transmissions in gateway while DigiMesh network is asleep. Add CLI "xbee child_table" command to display associated end devices. Add web UI and improve CLI for over the air firmware updates. Improve the ability to break out of "xbee ping" command. Improve support for DigiMesh sleeping network. Add the ability to backup and restore configuration of XBee nodes to .pro files, which are compatible with the X-CTU configuration tool. Add backup and restore, and move existing node identify and resets to a new Device Operations tab under the XBee Configuration web page. Add backup and restore to a TFTP server to the "set xbee" command. (31389) Allow gateway radio firmware update via RCI when the radio is disabled or not recognized. The target address attribute must not be specified in this case. Add click/shift-click support to select a range of nodes on the XBee OTA firmware update web page Correct the range and scaling of XBee voltage parameters. (31943) Allow fully qualified domain names (FQDN) instead of only IP address for a number of features. These features are: AutoConnect, UDP Serial, SNMP trap destinations, and the alarms e-mail server. For UDP Serial, a lookup of the FQDN (typically in the DNS resolver's cache) is done for each packet sent, with a full name resolution occurring only when the cached entry's time-to-live expires (or the cache is flushed). This supports dynamic destination IP addresses. (19517, 30637) Add options to CLI, web UI and RCI to save encrypted passwords and keys in the configuration backup file. Configuration restore accepts either encrypted or plain text passwords and keys. (15108) Change the signature method on the self-generated, self-signed certificate from MD5 to SHA1. Although MD5 is not generally unsafe, SHA1 is deemed to be the most secure. All browsers or SSL clients recognize SHA1 instead of MD5. Update the web UI for IP Forwarding Settings to show the maximum number of entries for Static routes and "Forward TCP/UDP/FTP connections...". (31866) ENHANCEMENTS in 82001631_F1 subsequent to 82001631_F: Add support to send login success and failure traps via SNMP when a user logs into the device using HTTP or HTTPS. Improve the information sent for some alarm conditions when e-mail is the configured method for sending the alarm. BUG FIXES: Fix Modbus IA engine support of 802.15.4 radios. (30733) Modbus Web UI misaligns the Master to Table Relationship. (31803) Check if enough free memory is available to handle a firmware update from the iDigi Server (Connectware Manager) and return an appropriate error response if not. (31321) Fix a bug that limited length of the primary SNMP destination field in the SNMP Settings web UI. (31895) Add a change to work around a problem in which Digi products do not accept gateways from Apple's Airport Extreme when the Digi product is configured as a DHCP client and the Apple is the DHCP server. (31166) Improve a condition under which client-initiated connections to the iDigi Server (Connectware Manager Server)) won't start unless the "Reconnect after..." box is checked. (31885) Eliminate several memory leaks. BUG FIXES in 82001631_F1 subsequent to 82001631_F: Fix a bug in which login success and failure traps were not being sent via SNMP when a user logs into the device using SSH. (32161) 82001631_F (2.9.0.5) - October 17, 2009 Not released for customer use. See ENHANCEMENTS and BUG FIXES information for 82001631_F1 EOS. 82001631_E2 (2.8.4.16) - August 28, 2009 Not released for customer use. ENHANCEMENTS: None. BUG FIXES: Fix a memory leak that may occur when DNS lookups are performed. Although the leak is small, it can lead to memory exhaustion in systems that perform many DNS operations, such as some iDigi client configurations. (30870) 82001631_E1 (2.8.4.8) - April 10, 2009 Not released for customer use. ENHANCEMENTS: Add support for cost reduced build of ConnectPort X2 Ethernet. BUG FIXES: None. 82001631_E (2.8.4.7) - March 31, 2009 Not released for customer use. 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. - 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). Add simple CLI to manipulate the time source management settings. See CLI command "set clocksource". Modbus requests/responses for vendor-specific function code 100 are now speculatively estimated as Scattered Read Command (as used by Schneider Electric). Previously, function 100 was treated as not possible to estimate, thus the idle-gap (time with no more data) was the only method to detect end-of-packet. This change should be transparent to other vendors using function 100 for other purposes. First, this estimate is only applied if the 3rd byte of the PDU is the constant 0x04. Second, even packets which are incorrectly estimated will be properly handled by the fall-back detection of the idle-gap. Failure to estimate properly does not cause packet failure; it merely speeds up handling when the end-of-packet estimation succeeds. 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) 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) If a public key has been enabled for SSH, allow authentication based on the key regardless of the password setting. Dynamically generate a list of accepted authentication methods based on the configuration of the device. (27834) 82001631_D1 (2.8.1.11) - November 12, 2008 Initial release.