Release Notes PN 93000696_H Connect WAN VPN 82001662_H EOS October 14, 2011 INTRODUCTION This is a production release of firmware for Digi's Connect WAN VPN product line. The Connect WAN VPN, part of the Digi Remote Site Management line of products, provides an alternative to traditional wired TCP/IP Wide Area Networks (WANs), utilizing global wireless Cellular, and IPSec VPN technology to create secure primary and backup network connectivity. They offer an easy, cost-effective, means of securely connecting virtually any remote location or device into the corporate IP network. SUPPORTED PRODUCTS Connect WAN VPN 1X Connect WAN VPN Edge Connect WAN VPN GPRS Connect WAN VPN GSM-R SUPPORTED CELLULAR MODEMS Within the cellular product family, Digi has continued to add support for cellular modules as vendors make updates and improvements to support the latest chipsets and cellular technology. As new modules come on the market and older ones go obsolete, Digi is committed to supporting the products we have sold and continue to sell to our customers. The level of support that we are able to provide falls into one of the following categories: 1) Full Support These modules are shipping in Digi products. An essential part of our product testing is to make sure these modules are compatible and function properly. Operational and performance issues with these modules that are found by customers will be verified, scoped and scheduled to be fixed in an upcoming firmware release. Siemens/Cinterion: MC75 REL 4, REVISION 04.001 TC63 REL 3, REVISION 03.001 Kyocera: M200, S/W VER: LF1.2.11 LF1211 PRL: 10028 2) Partial Support These modules had shipped in Digi products in the past but are no longer actively supported by the module vendor. Firmware testing no longer includes these modules, however every attempt is made to maintain support as features and improvements are implemented. Issues with these modules that are found by customers will be verified, scoped and either scheduled to be fixed or a newer, supported module offered as an upgrade option. Siemens/Cinterion: MC75 REL 2, MC75 REL 3, TC63 REL 2 3) Limited Support These modules have never shipped in Digi products and have never been part of firmware testing and verification efforts. These modules may be similar to full/partially supported modules by the same vendor and may even have been informally tested and shown to work in Digi products. Operational and performance issues with these modules that are found by customers will be evaluated and scoped to be fixed on a business case basis. Siemens/Cinterion: MC55, MC56 4) Not Supported These modules have never shipped in Digi products and are known to be incompatible. Siemens/Cinterion: TC65 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. MULTIPLE USER SUPPORT An enhanced device user model is now supported in this product. It is now possible to configure multiple user accounts in the device settings. Different users can be given different access permissions, which can be used to restrict user access to features as "read only" or not accessible. A user account begins with a username and password. Each user may be configured to allow access to the device via the Command Line Interface (CLI) and/or the Web User Interface (browser). SSH (secure shell) Public Key Authentication (RSA public key) also may be configured for each user. Access permissions to the various device features may be selected for individual users as well. The requirement that a user must log into the device to access it, is a configuration choice for this product. If logins are required to access the device, all users will be required to log in. In that case, the individual user permissions are observed to access the various features of the product. If logins are not required, no permissions validation is performed, and all features are available. If this firmware is used to upgrade an earlier firmware revision that did not support the multiple user model, the login requirement, username, password and SSH public key settings will be migrated from the previous "single user model" settings to become those of the "root" user in the new firmware. 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 or via the web UI. IDIGI SMS SUPPORT The iDigi SMS feature allows mobile-enabled (cellular) devices to communicate with iDigi using SMS (Short Message Service) messages. iDigi SMS features include: - Device management - Data messages to python applications - Data collection messages from the device to iDigi, including Dia integration. See www.idigi.com for more information on iDigi. ENHANCEMENTS The iDigi feature has been improved to support binary data service and file system service between 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. Change the default for the iDigi client connection method from TCP to SSL as a security improvement. Add event log and trace messages for the "Disconnect" iDigi protocol message, to help with troubleshooting the loss of iDigi connections. Improve the multiple user model's permissions protections to better support limited access users. - Extend permissions for users, groups and permissions to support "self" permissions in addition to the existing none/read-only/read-write permissions choices. - Split apart some of the permissions such that each can be separately selected and configured. - For the CLI "boot" command, improve the permissions checks for the supported options. Specifically, "action=factory" now requires both boot and revert-all permissions. "file=(host):(filename)" now requires both boot and fw-update permissions. - In the web UI, improve page access error messages for user configuration pages. Disallow unauthorized/direct access to user configuration pages that circumvents page links and permissions checks. Add the following notice to the User Configuration web page, with a similar notice in the web help. (38961) Be certain that you know a valid user name and password combination that you previously configured, or the device default values if you have never configured users and passwords. If you do not know a valid combination, you will not be able to log into this device. Improve the web user interface help information regarding username and password values. (38178) 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, the web UI and the iDigi platform. Event logging is improved for time-related events. For the clock (time) source management feature, update the web UI and web help to include the configurable jump threshold and "lost time source" detection settings. For the clock (time) source management feature, improve the SNTP client implementation: - Add detection of "expired" NTP replies. o Accept replies only if in response to the most recently issued request for a given NTP time source. Discard other replies. o Replies must not be more than 20 seconds since the request was sent. Old samples can skew the time computation and cause undesired jumps. o Add a statistical counter for "expired" replies ("info time" CLI). - Improve the NTP reply read resolution for the socket, to more quickly process replies. Add a feature to execute a CLI command using RCI via the general request do_command target="cli". This is accessed through iDigi Manager Pro. Improve the parsing of RCI documents to better handle embedded XML comment and declaration values. (37651) 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, or in the web interface on the Advanced Network Settings page in the Network Configuration area. Improve the SureLink system reset capability: - When the system reset condition triggers, leave a suitable panic record with information that identifies the reason and cause (for the reboot (versus no information whatsoever). - Add a watchdog-like extension that will reboot the device if 256 consecutive failed connection attempts occur. The setting permits a value in the range 1-255. Even if the system reset is disabled, the watchdog will request a device reset after 256 consecutive failed connection attempts, as a means by which to attempt recovery. This spans a period of many hours, so it is not particularly aggressive. Improve the web pages for the Alarms Settings: - For the individual alarm configuration page in the web UI, add a link to the SNMP Settings page in existing page text where the SNMP trap can be enabled for the alarm. If no trap destination is configured, display "(not configured)" as the destination value rather than nothing. - Improve error detection in the alarm edit web page. - Add an optimal RSSI alarm checkbox to web UI. This was available previously using the CLI command "set alarm". (39771, 39833) For cellular RSSI alarms: - Improve processing of RSSI alarms if multiple RSSI alarms are configured in the settings. (39833) - Improve RSSI sample averaging to avoid possible early trigger conditions. - Improve trace output from alarms driver for RSSI sampling and action. To CLI, web UI and RCI, add flash (web) filesystem reporting for total, used and free space in the filesystem. Add these to: - CLI: display device (info device) - Web UI: General System Information page, and help - RCI: DeviceStats class (new elements) (38557) Add the "show idigi_msgservice" command to the "display techsupport" command list (38095) Add "display serial" and "info serial" to "display techsupport" command list. Add the undocumented "full" option to "display dnsserver" in the "display techsupport" command list. This is useful for troubleshooting. Add the Python version number to the RCI query_state/device_info reply. Add support for optional Python control of the STATUS LED of the Digi device. This capability has existed in the past for other Digi products. Improve memory use by the firmware update feature such that somewhat less memory is used during the upgrade. While all upgrade types are improved (web UI, CLI, iDigi), the CLI upgrade method is most improved. (40391) Reduce memory use by various firmware features. BUG FIXES Fix a problem in which the Digi device disconnects momentarily from the iDigi Manager server when the iDigi Manager Pro user opens Device's Properties Page. The problem occurs when the device uses the SSL connection type when connecting to the iDigi Manager server. It may occur over any network connection type (LAN or WAN) but is more likely to be observed over a WAN cellular connection. (39837) 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) User logins using the web UI: - Correct the login pages for the multiple user model to support username and password values of 1 to 16 characters. These pages support both "normal" user sessions as well as customization user sessions. The web page scripting and controls supported usernames of 3-15 characters and passwords of up to 15 characters, which don't handle the permissible lengths for the multiple user model username (3-16) and password (4-16), plus customization username (1-16) and password (1-15). - Add a note to the Change Password page for the customization user to indicate that the username and/or password change applies only to the customization user and not to the administrative (or other) user. Update the customization tutorial text to state that the customization username may be 1-16 characters long, and the associated password may be 1-15 characters long. For the clock (time) source management feature: - Fix a bug in which some malformed SNTP responses were counted under the "Receive Timeout" category in addition to "Malformed Responses" in cases for which only the latter category should be incremented. These values are reported by the "info time" CLI command. - Fix a bug in which the RCI descriptor for the settings suggested a minimum ranking value of 0, but it should be 1. The bug resulted in an error being returned to the user when configuring a time source via iDigi, if ranking value 0 was entered by the user. - Fix a bug that possibly allowed packets to accumulate on the socket for an internally disabled NTP source (lesser ranking). Such packets were never being read nor discarded, thereby unnecessarily consuming system memory. Fix a problem that occurs when using the UDP Serial Tunnel feature: the tunnel fails when the IP address changes at either end. This is particularly observed with a cellular network connection, with dynamic public IP addresses, but can occur in other cases as well. In the cellular case, the cellular connection may be dropped by the service provider if no activity has occurred for a provider-determined interval of time. Two two problems are identified and resolved in the UDP Serial feature, both related to failed name resolution of the remote side host when the device first boots or there is serial data to send. (39729) Fix a possible memory leak in the Host List feature. (32850) Fix possible display, validation, get and set problems for some Short Message Service (SMS) settings in the web UI (built-in commands and SCL entries), on products that support multiple SIMs for GSM service. Since SMS settings are global vs. SIM-specific, add a note to the web page and associated help to that effect. (38560) Fix a bug in which the localtime() API didn't correctly adjust time by the specified timezone offset. (36959) Fix a bug in which the user-configured UTC offset is applied twice, as reported to the iDigi Manager server. (39931) Fix a problem that could occur if the real-time clock (RTC) is set to a date earlier than January 1, 2009. A date as early as year 2000 is accepted by the firmware (via CLI or web UI), and the RTC could be set with that value. But a subsequent read of the RTC with a year earlier than 2009, could cause that sample to be discarded. (40215) Fix this reported bug: Python TFTP Remote Start Fails with \r\n line endings. Uninitialized "garbage" at the end of the result buffer could cause odd error messages. A previous change for issue 26971 (in 2008) strips carriage returns from the received file. That change had a bug in which it did terminate the remaining text correctly, leaving garbage at the end of the result buffer. This commit corrects that bug. (40307) Fix a bug in which Python digicli.digicli.__doc__ returns a confusing response. (40421) Fix an SNMP issue that could cause an SNMP denial of service. (39737) 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. Fix an issue that occurs in IP pass-through mode, such that tethered DHCP client may not renew its lease. In IP pass-through mode, the Digi DHCP server uses a 4 minute lease time, which forces the tethered pass-through client to renew its lease every 2 minutes. This design accommodates the possibility that the mobile IP address loaned to the tethered host, may change if the mobile connection goes down and is reestablished. However, if the tethered client actually requests a specific lease interval, that 4 minute design was circumvented. The DHCP server has been modified to handle this case and provide the usual 4 minute lease. (40022) Fix a VPN problem that could cause a panic resulting from corruption of a linked list upon the (timed) expiration of an IPSEC SA. (38322) Fix a VPN problem related to this change in an earlier firmware release: When a VPN tunnel is configured to start automatically, the VPN feature starts the tunnel by sending a ping to the remote subnet. This was not working correctly when "tunnel all" was selected since the remote subnet is 0.0.0.0, which is not a valid IP address. This problem has been fixed. (37275) KNOWN ISSUES Problems have been encountered with some Linksys VPN appliance models when using different Diffie-Hellman group settings for phase 1 and phase 2. To work around this issue and successfully establish the VPN tunnel, use the same Diffie-Hellman group for both phase 1 and phase 2 settings. 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 82001662_H (2.14.1.6) - October 14, 2011 See ENHANCEMENTS and BUG FIXES information above. 82001662_G (2.13.0.7) - March 21, 2011 ENHANCEMENTS: Add support for an enhanced multiple user model. Migrate existing user settings to the new model. Refer to the HIGHLIGHTED PRODUCT CHANGES section for further information. (31007, 34089) Improve support for management of clock (time) sources. Refer to the HIGHLIGHTED PRODUCT CHANGES section for further information. Add support for the iDigi SMS feature. Refer to the HIGHLIGHTED PRODUCT CHANGES section for further information. When restoring a device to factory defaults, revert the DHCP Server settings only if the network settings are being reverted. (33078) When restoring a device to factory defaults, revert the certificates and keys only if the ALL settings are being reverted. (36710) 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". For CLI commands submitted via the SMS #cli request, in products supporting the multiple user model, ensure permissions are enforced as those of the root user. If a special user named "smscli" is created, the permissions for #cli will be restricted to those configured for user "smscli". This special username cannot be selected by the user. Improve on a condition in which SMS messages, send by Digi devices, might be truncated or corrupted when passing from CDMA networks through GSM gateways. The issue may occur due to differences in the CDMA and GSM standards for short message content encodings. For received SMS message handling, the '#' character is taken to indicate a command upon which the Digi device should act. During global testing, it has been observed that this character may be modified (e.g., replaced with a space) when short messages pass through some SMS gateways. This is problematic for the #command interface to the devices via SMS. To help accommodate possible character translation problems such as this, the SMS settings are updated to permit a user selection of the command character. This character still defaults to '#' but may be any one of: # ! % * + / Add iDigi Timed Connection support to web UI and web help. This connection type has long been exposed via CLI and RCI. 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". 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) The Python ONEXIT condition has been added to the Web UI. (37541) Modify the DHCP server feature so it doesn't include its IP address as a DNS Proxy in the lease information it sends to its clients, if DNS Proxy service is not enabled in the configuration settings. Change the default state setting for the DNS Proxy feature to "enabled" (on) rather than disabled/off. This restores the default as it existed in earlier product revisions. In conjunction with the Network Port Scan Cloaking feature, this DNS Proxy "out-of-the-box" default of enabled is safe to protect against denial of service (DOS) attacks on DNS servers that have been reported worldwide. Note that the cloaking feature is enabled by default for the WAN interfaces (mobile0, wmx0) but not for LAN interfaces (e.g., eth0). Improve the SureLink settings page and web help to further describe the Hardware Reset Thresholds category of settings. Improve the user interfaces for configuring static routes in the network stack. For a WAN interface, always use the interface gateway IP address. For a LAN interface, use the associated interface gateway IP if the static route rule is configured with a gateway address of 0.0.0.0. If the static route gateway IP is other than 0.0.0.0 for a LAN interface, use that configured value. This properly and implicitly accommodates WAN interface static routes and allows the user to select use of the LAN interface gateway or a configured value for LAN interface static routes. The web UI help is updated to describe this enhancement. BUG FIXES: 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. (37807) Address SSH public key authentication issues. (37339) - Fix a bug in which configuration settings support for SSH public key authentication was inconsistently implemented in the Digi firmware, depending on the product and user interface being used. - Ensure that user authentication is in accordance with RFC 4252. - Eliminate memory leak when configuring a public key via tftp. - Improve SSH trace output for troubleshooting purposes. Fix a bug in which an SSH user other than the root user, might acquire root user permissions for CLI commands. (37483) Fix a VPN problem in which a successful VPN connection could not be established due to the configured subnetting scheme in relation to the mobile network's remote endpoint IP address. Specifically, the remote mobile endpoint was on the same subnet as the remote VPN subnet. This resulted in a packet routing problem that has been resolved. (36588) Fix a VPN issue in which NAT-T keep-alive packets were not being sent if PFS security was selected. (34186, 36751) When a VPN tunnel is configured to start automatically, the VPN feature starts the tunnel by sending a ping to the remote subnet. This was not working correctly when "tunnel all" was selected since the remote subnet is 0.0.0.0, which is not a valid IP address. This problem has been fixed. (37275) Fix a bug in which changing the IP address from dynamic to static via the web UI redirects to a URL mix of old/new IP addresses. Also correct a failure to redirect if the service port for HTTP or HTTPS is other than the usual values 80 or 443, respectively. (33205) 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 busy loop problem when all PPP dial numbers are empty. (36829) 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. Eliminate several potential memory leaks. (34946) Fix a long-standing settings class RCI bug that affects settings restore, custom defaults and iDigi configuration of the failover feature. The TCP test destination port was not being correctly set, which left in place the previous value that was defaulted or set via CLI or web UI. (36372) 82001662_F (2.12.0.6) - October 15, 2010 ENHANCEMENTS: Add a Network Port Scan Cloaking feature that permits users to prevent replies to various received packets for which there is no local service. On a global or per-network-interface basis, one can disable ping replies, TCP reset replies for received connection requests to unused ports, and ICMP destination/port unreachable replies to received UDP datagrams destined for unused ports. This capability "cloaks" a device from being probed on such unused ports, and it reduces packet traffic by eliminating replies that may be billable to service accounts (e.g., cellular service). This feature is exposed in the CLI as the "scancloak" option, and it is supported in the web UI on the Advanced Network Settings page under the Network Configuration section. By default, this feature is disabled. Support cloaking for the DNS Proxy feature on a per-interface basis, so the proxy can be enabled for some interfaces yet disabled for others. Change the default state setting for the DNS Proxy feature to "disabled" (off) rather than enabled/on. The purpose for this change is to modify the "out-of-the-box" default to one that is safer from denial of service (DOS) attack on DNS servers. 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) Enhance the Dynamic DNS update feature to permit the selection of any device network interface. Previously this feature was coupled with the cellular mobile interface and did not support a selection of the network interface for which the associated IP address is registered with the DDNS service. (35346) Add iDigi connection status items for send and receive idle times. Expand the description of iDigi keep-alives in the web help information. Add mobile service provider support for these GSM providers: - Vodafone - T-Mobile (Europe) - Telefonica - Telcom Italia - Orange - DoCoMo Add an optional interface name list to "display pppstats" so individual specific interfaces can be displayed. The absence of interface name parameters causes all valid PPP interfaces to be displayed. BUG FIXES: 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 panic problem that occurred running RealPort through a VPN tunnel. (35412, 33130) Fix a possible panic when using IPSEC with NAT-T. The problem could occur when multiple NAT-T vendor ID payloads are loaded into an IKE message (packet), resulting in a buffer overflow. (35594) Fix a possible panic that occurs while configuring the primary network interface (Ethernet) and saving the changes to NVRAM. (35715) 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 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 bugs in "set vrrp" option validation in the CLI: - Verify VRID is 1-255 (not 254). - Verify priority is 1-254 (not 255). This matches similar validation in the web UI and configuration restore. 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) A few of the Python modules would block all Python activity during certain lengthy operations unnecessarily. Components that have been examined and addressed include the digicli module; the power control module; and the battery voltage sense, accelerometer, GPS summary and ignition sense portions of the digihw module. Not all modules or functions are available in all products, dependent on the available hardware components. (35505) 82001662_E (2.10.0.7) - July 23, 2010 ENHANCEMENTS: Add Ethernet MDIX configuration capability. Add "Bell Mobility HSPA" to the list of supported mobile carriers in the Mobile Settings web UI. Provides optional PAP/CHAP support. (33916) Update the SSL/TLS implementation with enhancements and bug fixes. Enhance filesystem support: - Add POSIX APIs. - Enhance Python interfaces. - Extend the "ls" command for file systems in RCI to request a hash value be returned for files in the listing. At present, the only hash methods supported are "none" (the default) and "crc32". - Extend all RCI implementations in NDS to supporting requesting a specific file rather than just a directory in a "ls" command request. The "dir" attribute of the "ls" command has been deprecated as a result, with the more applicable synonym "path" now taking its place as the standard attribute tag to use to choose what should be listed. Enhance the DHCP server feature to support user configurable selection of the default gateway (DHCP Option 3: Routers on Subnet) in leases given to clients. The default selection matches what was implicitly offered in all previous firmware releases with DHCP server support. Enhance PPP support: - Add PPP server for standard serial ports. - Add PPP server port profile to web UI. - Display statistics for all PPP instances on CLI "display pppstats". - Rename CLI set/show/revert "pppoutbound" commands to "ppp". - Encrypt PPP passwords in RCI and backup files. Add a new info command to the CLI, "info time". This command displays SNTP Client statistics when SNTP is configured as a time source. Enable TCP keep-alives by default for these services: ssh, telnet. This provides default cleanup of orphaned sessions. Clarify description: the serial statistics page displays the current port settings. (32689) The Connectware Manager (also referred to as Remote Management) has been rebranded in the Digi device firmware as "iDigi". This corresponds with the service being offered by Digi for this purpose. A number of enhancements are added for the iDigi client in the Digi device firmware: - iDigi activity is recorded in the Event Log. - An iDigi client entry appears in the "Connections" list when: - The client is connected to the iDigi server. - The client is trying to connect to the iDigi server. - The client is waiting (listening) for the iDigi server to connect to it. - The client is waiting for a configured interval before initiating a (new) connection to the iDigi server. The connections list may be displayed in the CLI ("who") and in the web UI (Management > Connections). - When the iDigi client is waiting to (re)connect to the server, the connection table entry may be "killed" in which case the wait is canceled and the connection attempt proceeds immediately. - When the iDigi client is connecting to the server, the connection table entry may be "killed" in which case the connection attempt is abandoned. The "connecting" state is typically very brief. If for some reason the Digi device gets "stuck" in the "connecting" state, the kill request will terminate the condition. This is not an expected condition. - Add the CLI command "display idigi" report iDigi connection status of the Digi device. - Add the iDigi status web page under Administration > System Information to report iDigi connection status of the Digi device. - Show the iDigi Device Type for the Digi device on the iDigi Configuration page in the web UI. This is the device type by which the Digi device is known to the iDigi server. That value also is displayed via the CLI command "show mgmtglobal" and in the RCI output as (in addition to the existing field). - Send the actual Digi device type to the iDigi server rather than a possibly user-customized product name in config.ini. Customized names are problematic for the iDigi server for device recognition and management. (1291266) - Eliminate unsupported interfaces from the network settings RCI and related CLI (set mgmtnetwork). The web UI was already correct. (34520) - Increase the maximum permitted request and reply document sizes for the iDigi protocol RCI facility. The new size accommodates encoded files of just over 2MB. - 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) Improve iDigi information for SMS replies to #idigi commands. - Add the device ID to the returned data if the 'i' flag is specified. E.g., #idigi,i status - Add the "id" command option for #idigi to return the device ID. I.e., #idigi id - Add support to manage the "waiting to connect" state of the iDigi client to the SMS "#idigi" command. The "#idigi waitcancel" command cancels the wait and the connection attempt proceeds immediately. Change "opts" (options) to "flags" in the SMS # usage (help) text. For the iDigi client configuration's connection server list, reduce the number of server entries to 4 from 8. The list of 8 is simply truncated to 4 for this change. An attempt to restore "deprecated" entries results in warnings, not errors, generated by the settings manager. Note that Digi devices are typically configured to use only one of the server list entries, so this change won't affect deployed products. This reduces runtime memory usage, NVRAM use for configuration setting storage and the RCI text generated for backups. (34309) Reduce the number of Alarms to 8, from the previous maximum of 32. For Digi devices being upgraded from an earlier firmware version, only the first 8 alarms will be used by the new firmware. The other 24 alarm entries will be discarded (deprecated). An attempt to restore such deprecated alarm entries results in an "invalid index" warning rather than an error. This reduces runtime memory usage, NVRAM use for configuration setting storage and the RCI text generated for backups. Add DHCP lease information to the output of the CLI command "show network" when the IP configuration for the Digi device is received from a DHCP server. The information shown includes the IP address of the DHCP server, the lease duration, the renew and rebind times, and the time remaining in the current lease. The VRRP feature is now available only on Digi devices that support cellular services (no longer present for non-cellular devices). (32513) Support for LPD, RLOGIN and RSH have been removed from the product. Remove unneeded and deprecated data and code to reduce memory use. BUG FIXES: Fix a bug in which setting the time with a year greater than 2036 causes the wrong year to be set. (32781) Fix a bug in which multiple SNTP Server entries may be configured as time sources in the Date and Time Settings, but only the first one in the list is used. (33367) Fix an issue in the SNTP Client that results in frequent name resolution attempts (one per second) if a domain name is configured for an SNTP time source. This may occur if the name is invalid or cannot be resolved by the configured DNS servers. A backoff is implemented to mitigate the too-frequent name resolution attempts. (32652) Fix a bug in which the SMS settings for Python were not being saved when set via the web UI. Fix incorrect "set smscell" help information. Fix a bug in which, for SMS messages sent to Python via #python command, only the text that follows #python (and optional flags/password) should be passed to the Python read interface. The entire message starting with #python was being passed erroneously. Fix a corrupt IPSEC SPD table header string in the output of the CLI commands "display ipsecspd" and "display vpn". Fix a problem in which the Digi device, running in IP Pass-through mode, stops passing packets from the Ethernet interface to the mobile interface. The Digi device had to be rebooted to clear the problem. (33756) - Fix a problem that caused the mobile send to block permanently. - Add detailed statistics for pass-through activity to the CLI command "display passthrough". - Add detailed trace capability for technical support troubleshooting. Fix a problem in which the Cisco ASA would not establish a VPN tunnel to Digi units. (33948) Fix a bug in which the CLI command "show vpn phase1 verbose=on" shows the wrong encryption key size, when the key size is other than the default. (34974) Fix a serial port problem in which the break end status is not generated when break completes after TCSENDBREAK. (34008) Fix a bug in the Alarms Settings web UI in which the value saved is not what was entered for large time values (cellular-related time intervals). (26557) Fix a bug in which the Digi device might panic (reboot) when using the CLI command "certmgmt" to generate a key for SSH. (33249) Fix a bug in which the cold start trap is sent every time the user enables "Generate cold start traps" in the web page or the CLI. (33655) Fix an inconsistency in validating the signal strength threshold values when configuring alarms for cellular-capable Digi devices. The change standardizes a range of -120 dB to -40 dB. Previously, some interfaces implemented that range, while others implemented the range -300 to 0 dB. (26564) Fix a bug in which a user could not remove or disable a VRRP instance other than by reverting the settings altogether. (30490) Fix a bug in which the DialServ feature's connection_wait_time setting could be set outside its designed value range (10-300). This problem existed only when the setting was applied via the RCI interface. (34647) Fix the keep-alive checkbox for DialServ dial-out configuration. (32833) Fix a pmodem feature problem for which, under some conditions, an ATDT command (that normally works correctly) stops working. (34433) so IP routing is not adversely affected. 82001662_D2 (2.9.0.11) - February 12, 2010 ENHANCEMENTS: Eliminate excessive event logging for SMS activity. A two-level logging capability is now implemented this such that the original detailed event logging is still available, but the customer must enable it via the settings (CLI, web UI, RCI). By default the event logged SMS activity is now leaner than it was previously. (32265) Improve the Mobile Configuration Advanced Settings web page and the associated web help. The new text states that the mobile connection must be restarted (or the device rebooted) for the settings changes to take effect. The help information was updated with a more detailed discussion of issues for manual carrier selection. (25271) 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, the time query could fail if the Access Control List (ACL) feature is enabled. The SNTP client has been modified to temporary configure an ACL entry to permit the time server access, then remove the temporary ACL entry on either success or failure of the time server query. This avoids the need to explicitly configure the time server's IP address in the ACL. A possible stale name resolution condition also was eliminated. BUG FIXES: 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. Fix several reported VPN problems: - Some Digi products will not build VPN tunnels to other Digi products. (32256, 32257) - TheGreenBow VPN client will no longer build a connection with newer Digi firmware. (32255) - Correct/improve several misleading/incorrect VPN event log messages. - ISAKMP frames negotiating with certificates were being incorrectly generated. The bug caused garbage data to be added to the end of the frame. Also, verification of certificates from the peer would reject the frame if the certificate was followed by a NAT-T discovery payload. (32834) Allow auto-IP addresses (169.254.0.0/16) to be used in IP packets and translated/forwarded by the NAT feature. This had been rejected by the network stack in previous firmware releases. With the Digi device operating in IP Pass-through mode, when working with a pass-through host whose IP settings are statically configured, communication from the mobile network to the pass-through host could be temporarily lost. The loss of communication could occur in as little as four minutes after a successful communication (although usually longer). The outage could continue until the pass-through host sends packets to the Digi device, to be forwarded to the mobile connection. The problem has been corrected. (30936) 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) Eliminate some unneeded information from the configuration backup file. (32511, 32512) Fix a bug that prevented use of the 7-bit, no parity selection on the external serial port. (30090, 1284975) 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 so IP routing is not adversely affected. 82001662_D1 (2.9.0.7) - October 30, 2009 ENHANCEMENTS: Add support for Short Message Service (SMS) capabilities for GSM cellular modems. This feature is available for all GSM cellular modems identified in the "Full Support" list under SUPPORTED CELLULAR MODEMS above. SMS may be used for remote command of the device, alarms, event monitoring and Python application interaction (send and receive). Python support is provided via the new Python module "digisms". The use of passwords and a sender control list (to filter messages that are received from unknown senders) provide user-configurable security for this new feature. Add "Paged Connection" support to the Remote Management settings. This may be used in conjunction with the SMS feature. 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. Add the ability to set the SIM PIN for GSM modems to the command line interface: set mobile sim_pin=. Add units to ambiguous measures on the GPS position web page. (29856) 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) Add event logging for IPSEC (VPN). (20170) Improve the web UI to make it more intuitively clear how to configure a VPN tunnel for responder mode, The user is now explicitly prompted to select one of: responder only, or client and responder with an address. (26348) VPN support: Improve the CLI to set a default value for the local tunnel when host mode is selected. (30995) The CLI commands for configuring a VPN tunnel have been changed. Older firmware versions allowed you to set the local peer ID of a tunnel using the local_peer_id option in the "set vpn tunnel" command line. This option has been removed from the "set vpn tunnel" command line. You must now use the "set vpn interface" command line to set the local peer ID for all tunnels that use a particular interface. (30994) Add a new configuration option into the VPN Global Settings web page which allows users to select support for dynamic DNS. This feature is useful if the remote VPN peer does not have a static IP address (i.e., its IP address may change). In this case, the remote peer should register its DNS host name using dynamic DNS, and update the DNS entry whenever its IP address changes. When the dynamic DNS option is selected in the VPN Global Settings web page, the VPN client will periodically check the remote peer's DNS entry to see if its IP address has changed. It will renegotiate the VPN tunnel when the address does change. 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. Expose 'rmdir' and 'rename' calls to Python through POSIX wrapper. 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 82001662_D1 subsequent to 82001662_D: Add support to send login success and failure traps via SNMP when a user logs into the device using HTTP or HTTPS. On the Alarms Settings web page and in associated help, clarify that the SMS feature must be enabled to successfully send alarms via SMS. Improve the information sent for some alarm conditions when e-mail or SMS is the configured method for sending the alarm. BUG FIXES: Fix a problem in which the reported VPN status is incorrect. (30201) Correct a problem in selecting (enabling) some mobile service frequency bands when using the Siemens/Cinterion modems. This change accommodates particular environments in which some mobile service providers operate using typical North American frequencies (850 and 1900 MHz) while others operate using typical European frequencies (900 and 1800 MHz). (30705) When cellular PPP instance settings are set via RCI, mobile PPP settings are set instead to maintain backward compatibility. Change this to also enable the cellular PPP instance, which allows cellular connections to be fully enabled via RCI. (31946) Remove reference to GSM from RSSI alarms in web UI. (25830) 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) Add Mobile System Information help text to the web UI help information. (31839) 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 82001662_D1 subsequent to 82001662_D: 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) Fix a bug that could cause the device to reboot when an alarm is sent via SMS. Fix a condition in which some specific characters could not be sent in SMS messages sent by Python. The characters are: [ \ ] ^ { | } ~ 82001662_D (2.9.0.5) - October 17, 2009 Not released for customer use. See ENHANCEMENTS and BUG FIXES information for 82001662_D1 EOS. 82001662_C1 (2.8.4.16) - August 28, 2009 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) 82001662_C (2.8.4.7) - March 31, 2009 ENHANCEMENTS: CELLULAR ENHANCEMENTS: Add capability to report ICCID of the SIM cards. Improve mobile band and carrier selection for GSM modules. Add warning and informational text to web UI, carrier scan wizard and web help. For carrier selection, indicate discovery of 2G and 3G carriers when displayed in the carrier scan wizard. (25271, 28118, 29251) Add information to the event log and the UI (CLI, web and RCI) that indicates the user's choice of manual or automatic cellular band and carrier selection. (24942) Improve the CDMA module provisioning wizard: - Enable PPP on successful provisioning. (29078) - If network provisioning fails, offer a choice of retrying network provisioning, instead of manual provisioning. Choice of manual is available only at the start of the provisioning wizard. Add support to SNMP for mobile link up/down traps. (25003) 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". Use NMEA 0183 default settings for GPS profile. These settings are: 4800,8,N,1,no flow control. (29439) BUG FIXES: CELLULAR BUG FIXES: Fix a panic in the mobile carrier scan thread in the web UI. (26476) Fix a bug in which PPP statistics may display as negative values in "display pppstats". (related to 22844) Correct a bug in which e-mail alarms and snmp traps are not working for a mobile configuration change event. (26810) Fix a bug in which selecting a GPS profile for a serial port, causes the device to not connect to the cellular network. (28908) Fix a high CPU utilization issue that occurs while PPP is bringing up a connection. (29771) Fix a problem in which the network time acquired by the Siemens MC75 or TC63 modem, was improperly used to update the system's real time clock. (29646) Fix a problem in which a mobile PPP connection failed or was very slow to be established using a Siemens MC75 or TC63 modem in Europe. The incorrect 2G GSM frequencies were being configured as "preferred bands" resulting in a long delay before the correct European bands were used. (29849) 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) Add a check to the DHCP server to accept datagrams only if received on the interface being served by the DHCP server. Affects only devices with multiple LAN interfaces 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) 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) 82001662_B (2.8.1.10) - October 21, 2008 ENHANCEMENTS: Improve configuration settings implementation to use less memory, better support customized defaults and more effectively manage NVRAM. 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. Add native GPS support with Geofencing application. Add VPN "Responder Only" feature. Add automatic failover from one network interface to another as the default gateway using customer-configurable rules. Failover-capable interfaces include cellular and Ethernet. Allow the system time to be set from the Cellular System Time. Support a Customizable Dialserve Initialization String. Split apart support for the Web Server (HTTP) service and Secure Web Server (HTTPS) service so they are managed independently of one another. Change mobile PPP interface to be always "mobile0" rather than a set of "pppX" interfaces where X varies among products. Add an on-board Primary Roaming List (PRL) update mechanism for Sierra Wireless CDMA/EVDO cellular modules. Add DMZ support to the NAT feature. Add options to set the DNS priorities and gateway priorities lists from the command-line. (27324) Added these options to "set network": gwpriority=(comma-separated interface name list) dnspriority=(comma-separated priority list) Event logging enhancements. - For "uptime", display days+hh:mm:ss versus a time in seconds. - In CLI, support user-selectable time display format. - Automatically determine appropriate time display format according to time source availability and use in a given product. 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. 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). (25091) 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. Improve the DHCP client capability so it persists in attempting to acquire IP configuration information if the DHCP client is enabled in the device configuration settings, and the DHCP client fails to acquire the IP configuration. This could occur if no DHCP server was available when the device booted, or if the Ethernet cable was disconnected at that time. Improve the detail reported in "display techsupport" for the network settings. Specifically, use "show network globalsettings if=*" to report everything available ("show network" is less complete). Add service provider support for Bell Mobility. BUG FIXES: Fix e-mail alarm failures. (26107, 25684, 25810) Correct a time rollover bug (wraparound to zero) in the Event Log. Eliminate a memory leak on the VPN identity key/certificate web page. (26255) Correct a bug in which two of the options of the "set vpn global" CLI command, didn't work as the CLI help stated. Specifically, the options "suppress_phase1_lifetimes" and "suppress_delete_sa_for_pfs" are documented to accept "on" and "off" as values. However, the command was expecting "yes" and "no" instead. The command has been modified to accept "on" and "off" as documented, and "yes" and "no" are still accepted as valid option values. (26607) Fix VPN tunnel settings backup/restore issues. (26648, 25010) o Default settings could be backed up but not restored for some options (such as "host address" of 0.0.0.0). o The manual tunnel outbound authentication algorithm "SHA1" could not be restored. It could be set correctly by use of CLI command and web page settings. Fix a problem in which packets would have a zero Ethernet MAC address for up to four minutes when running in IP Pass-through mode. (26760) Fix memory leak related to RCI requests. Increase the general event log maximum message size to avoid message truncation. (24640) 82001662_A1 (2.7.0.20) - July 21, 2008 ENHANCEMENTS: Add support for the Siemens MC55 (GSM-R) air interface card. Add "show ddns" to the list of commands run by "display techsupport". (25725) BUG FIXES: Remove the VPN "interfaces" (vpn0, etc.) from the list of valid interfaces for configuring a static route. These are not true network interfaces in Digi's network stack. They are not suitable for static routes, since only IPSEC policies may be used for the purpose of routing packets through tunnels. These VPN pseudo-interfaces are meaningful only for the VPN "Virtual Host" mode. 82001662_A (2.7.0.18) - February 12, 2008 Initial release.