LANtronix --------------------------- Universal Device Server --------------------------- Software Revision Notes --------------------------- Version V3.6/8 August 07, 2001 Copyright 2001, Lantronix Release notes are also available via the Lantronix web site (www.lantronix.com) and via anonymous FTP from ftp.lantronix.com. Contact Lantronix or your reseller for more information. This document describes the Lantronix Universal Device Server V3.6/8 software release. Release Summary =============== These release notes will document new features added and problems corrected since the V3.6/4 software release. Supported Platforms ------------------- V3.6/8 provides traditional terminal and print server functionality, including the TCP/IP, Novell, Appletalk, Lan Manager and LAT protocols on the ETS4P, ETS8P/16P and the ETS16PR/32PR/422PR platforms. Appletalk, Lan Manager and Novell support is limited to print serving. V3.6/8 provides print server functionality, including the TCP/IP, Novell, Appletalk, Lan Manager and LAT protocols on the EPS2-100, EPS4-100 and MPS100 platforms. Note that these units are print servers. They will not allow outgoing connections to hosts. V3.6/8 provides print server functionality, including the TCP/IP, Novell, Lan Manager and LAT protocols on the LPS1 platform. Note that the LPS1 is a print server. It will not allow outgoing connections to hosts. New Features ============ The following is a list of new features in V3.6/8. Enhanced Serial Support ----------------------- Enhanced serial handling support has been added to the terminal server product line. These new features allow much more control of how a server will bundle received serial chararacters into network packets. Several new commands have been added to configure this functionality. To start a connection, the autostart functionality has been enhanced to allow sessions to be initiated by a sequence of 1 or 2 characters. Either of the characters can be a wildcard, signified by the ANY keyword. (ets) DEF PORT n AUTOSTART CHAR ["x" | ANY | NONE] ["x" | ANY] In addition, the characters that start the connection can either be passed to the host as the first bytes of data or can be discarded. (ets) DEF PORT n AUTOSTART SAVE [1 | 2 | NONE] where "x" is any valid character. Non-printable characters can be specified as "\xx" where xx is the hex value of the character wanted. Note that data can only be saved if the port is set to dedicated mode. In all other modes autostart chars are discarded. Once the connection has been started, several different triggers can be used to force the server to transmit all accumulated serial data to the host. These triggers are individually described below. The first trigger will allow serial data to be accumulated until a "timeout" condition has been detected. This timeout may be either a period of time since the last character was received or the time since the current "character burst" was started. The command syntax is: (ets) DEF PORT n DATASEND TIMEOUT [IDLE | FRAME] [n | NONE] Several simple examples should help illustrate how this trigger works. For example the command "DEFINE PORT 2 DATASEND TIMEOUT IDLE 50" would look like: xx x (data) x xx x x xxx xx xx |----------------------| 50 milliseconds transmit packet Using the command like "DEF PORT 2 DATASEND TIMEOUT FRAME 150" would result in the following behaviour. x x x xxx xx (data) x x xx xxxxxxxx xx xxxx xx xxxx |----------------------------------------------| 150 milliseconds transmit packet The second trigger can be used to specify a one or two byte character sequence that will cause the accumulated serial data to be transmitted. The command syntax is: (ets) DEF PORT n DATASEND CHAR [x1 | ANY | NONE] [x2 | ANY] Again, examples may help explain how these commands work. The command "DEFINE PORT 2 DATASEND CHAR Z" would transmit any accumulated data as soon as the "Z" character is detected in the data stream. x x x xxx xx x (data) x x xx x x xxxxxxx x Z |----------------------------------------------| transmit packet The command "DEFINE PORT 2 DATASEND CHAR Z &" would send any accumulated data as soon as the characters "Z&" are detected in the data stream. x x x xxx xx x (data) x x xx x Z xxxxx x Z & |----------------------------------------------| transmit packet The DATASEND match characters can either be sent to the host as part of the data or can be discarded. Use the command: (ets) DEF PORT n DATASEND SAVE [1 | 2 | NONE] There are several important caveats in this functionality: The timer resolution on these products is approximately 20 milliseconds. Any timeout values lower than 30 msec will be approximated as well as possible. Packets created by the serial handling rules will be queued to the ethernet driver as a single operation, but there is no guarantee that they will be received at the network host in a single network read. If the serial input buffer is filled, the accumulated data will be queued to the ethernet driver regardless of the serial handling rules. The serial input buffer size is 1024 bytes. Miscellaneous ------------- The ability to configure port 0 via the web pages has been added to the ETS16/32PR. The ability to disable the web server and ftp server has been added. Use the commands: DEFINE PROTOCOL HTTP [ENABLED | DISABLED] DEFINE SERVER FTP [ENABLED | DISABLED] The ability to configure WINS support was added to the product web pages. The ability to configure port names from the web interface has been added. The ability to configure enhanced serial functionality (autostart, datasend and serial character timeouts) has been added to the web pages. Login and privileged passwords are now allowed to have any printable character. Fields in the menu configuration web page have been enlarged to allow easier entry of long strings. The virtual user limit on the ETS32PR has been increased to 32 sessions. Note that the limit for the ETS16PR is still 16 sessions. Resolved Problems ================= These problems have been corrected since the V3.6/4 software release. Miscellaneous ------------- If a LOOP request was received in a packet with a null (all zeros) ethernet hardware address the server would respond to the null address. If the privileged password and the login password were the same the web pages were not handling privileged logins correctly. When serving HTML files with dynamic content, attempt to force the browser to treat them as expired so they will update correctly. After repeated redirector reconnection attempts, the terminal server could run out of resources which would cause further connection attempts to fail. When the redirector protocol sends a "generate break" command to a terminal server, wait 0.5 seconds after generating the break before sending any additional data. The ability to enable DTRwait and still use the redirector to control the DTR signal has been added. When disconnecting a session created with the "connect local" command, under certain conditions the connection would not correctly release the destination port. If a malicious host queued a print job with very large job names, memory could be corrupted. Y2K text was removed from the internal web support pages. On a ETS16/32/422PR, when data is received on a serial port without a network connection, the serial port LED's and counters were not blinking and incrementing properly. On the ETS32PR, configuring serial ports via the HTML pages could cause memory corruption and server crashes. LAT --- LAT protocol counters for the ETS16/32PR have been re-enabled. On print servers, MOP console connections to the remote console port could fail. This would also prevent Digital's TSM from operating correctly as it uses MOP as a transport layer. On the ETS16/32PR, incoming LAT connections directed to a service could cause the server to crash. Lan Manager ----------- On LPS print servers, receiving an poorly constructed Lan Manager packet could result in memory loss. TCP/IP ------ When a SNMP get request for an invalid InSigTable or OutSigTable name was made, the SNMP response did not correctly report "No such name." When using SNMP to check serial port control line (DSR/DTR) status a small timing window could allow memory corruption. In the serial MIB, the serial device types were being incorrectly reported as RS232 rather than RS423. If an oversized broadcast UDP packet was received in fragments and the fragments could not be re-assembled the server would incorrectly reply with an ICMP packet. If an incoming HTTP request to the internal web server didn't send any data the HTTP server would stop servicing all requests. The UDP session timeout has been capped at 3600 seconds. When a break condition was received on a serial port, a telnet break sequence could be generated on a TCP (raw) connection. Telnet padding when using the incoming login template port (port 0) did not obey the setting of the "TELNET PAD" characteristic. If simultaneous TCP connection attempts come in for the same destination socket, a timing window could allow both attempts to be accepted and then one would be reset.. When caching WINS info on networks with a lot of WINS traffic the IP ARP table could start thrashing. When negotiating Telnet IAC options, an endless loop of IAC sequences exchanges could occur with a dumb end node. When asking a DHCP server for an IP address, specifically request the DHCP server to respond with a broadcast message. Some DHCP servers will attempt to respond with a directed packet even though the target node does not have the ability to receive directed responses. The ability to request and accept DHCP packets via routers was added. Known Problems ============== This release has no known problems.