--------------------------- LANtronix --------------------------- Terminal and Printer Server --------------------------- Software Release Notes --------------------------- Version V3.1/2 February 7, 1994 Copyright 1994, Lantronix Release notes are also available via Kermit using the Lantronix media support and download system or via anonymous FTP from ftp.lantronix.com. Contact Lantronix or your reseller for more information. A postscript version of this document is available. This document describes new functionality and problems resolved in the V3.1/2 release. Hardware requirements for the V3.1/x release are also detailed. Release Summary ======= ======= V3.1/2 ------ V3.1/2 provides several minor enhancements, but is primarily a maintenance release. As in Version V3.1/1, traditional terminal and printer server functionality, including the TCP/IP, LAT, Netware and AppleTalk protocols on the ETS8/16 and EPS4/12 platforms is supported. AppleTalk and Novell support is limited to print serving. On the ETS8/16 and the EPS4/12, the V3.1/x release requires 1 Megabyte of RAM. Flash ROM servers without the "U"niversal serial connectors will not support the 3.1/x code. Refer to the Support Matrix for details. The EPS1/2 are print servers. They will allow printing from TCP/IP, LAT, Netware and AppleTalk, but will not allow outgoing connections to hosts. NOTE: When upgrading an EPS2 to V3.1/2, NVR will be corrupted. This is due to a problem with the V3.1/1 code not correctly sizing the larger NVR of the EPS2. To correct this problem, load the 3.1/2 code into the EPS2 and then issue the command "INITIALIZE FACTORY." After the server reboots, NVR will be correctly initialized. V2.2/42 ------- The Version 2.2 release and subsequent bug fix versions run on all ETS8, ETS16, EPS4 and EPS12 platforms. V2.2 is the last major release that supports servers with 512k of RAM. Bug fix versions of V2.2 will continue to be released and these units will continue to be supported, but no new functionality will be added. In addition, V2.2/xx is also the last release that will fit into the ETS8/16RF/DF and EPS4/12RF/DF units. Support Matrix ======= ====== --------------+---------------------------------------------------------- Product | Software & Features Supported +-------+-------+------------------------------------------ | V2.2 | V3.0 | V3.1/x | | | | | | Download | Flash ROM | Bitronics --------------+-------+-------+---------------+---------------+---------- EPS1 X EPS1 revA X X --------------+-------+-------+---------------+---------------+---------- EPS2 X X --------------+-------+-------+---------------+---------------+---------- EPS4-xA X EPS4D X X EPS4R X X EPS4U X X X --------------+-------+-------+---------------+---------------+---------- EPS12D X X EPS12R X X EPS12U X X X --------------+-------+-------+---------------+---------------+---------- ETS8-xB X ETS8D X X ETS8R X X ETS8U X X X --------------+-------+-------+---------------+---------------+---------- ETS16-xA X ETS16D X X ETS16R X X ETS16U X X X --------------+-------+-------+---------------+---------------+---------- Upgrades -------- An upgrade path exists for older Lantronix servers. If your server can't support V3.1 and you wish to upgrade, please contact Lantronix or your distributor for details. New Functionality ================= The Netware protocol stack now supports the 802.2 encapsulation type. When making a TCP socket level connection, if the port was busy, the connection was accepted and a text message saying "the port is currently busy" was returned. This behavior did not work well with user-written spoolers. This behavior has been changed to reject the connection at the TCP level (a TCP RST is returned to the host) if the port is busy. The Netware banner page has been enhanced to add a date/time stamp and has been reorganized to fit better on an 80 column page. The ability to telnet directly into the server on port 23 (the well known telnet socket) has been re-enabled as a default characteristic. Note that on servers that are being upgraded from a previous 3.x version, this will become the default only when the Non-Volatile RAM is initialized. The DSRlogout characteristic has been enabled for the server parallel ports. With specific printers, when the printer is powered off, the print server can detect the state of the signal lines and will drop an active connection to a host machine. This has been verified to work correctly only with the Printronix and HP printer families using a Centronics parallel interface. Due to differences in the way printer manufacturers implement their parallel interfaces, this may or may not work with other vendors. A server's IP address can now be specified by placing an arp entry for the server on a host machine and then forcing a directed packet to be sent to the server, i.e. ping the server. The network manager can then telnet to the server in question and permanently define the IP address. This mechanism allows the IP address to be set without having to use BOOTP, RARP or connecting a terminal to the unit. Resolved Problems ================= The following problems in V3.1/1 have been corrected in V3.1/2. For SLIP connections, outgoing IP packets that were larger than the SLIP line MTU were not being correctly fragmented. TCP connections to specific ports (i.e. the 20nn and 30nn socket ranges) were not allowed if the "Incoming Telnet" server characteristic was not enabled. Under very heavy network load, a small timing window occasionally caused the last n bytes of a data packet to not be flushed out a serial or parallel port. This could result in aborted jobs for postscript printers or corrupt output for PCL or ASCII printers. When processing IPX SAP routing packets, as soon as a Novell file server that was not in the print server's Netware access list was encountered, processing of the information in the SAP packet was terminated. This resulted in Novell file servers appearing and disappearing from the print server's internal data structures, which in turn caused intermittent polling of the target print queues. When a Novell file server was seen on multiple encapsulation types, the hop count from the latest SAP packet received was always used as the hop count to the server. This could result in higher hop than necessary, since if the packet going through a router and coming out with a different encapsulation type was chosen rather than the packet coming directly from the file server, the hop count would be one too big. When a maximum length "description" field was sent as part of a Netware print job, random locations of the server's memory were being corrupted. This typically resulted in the server crashing. The Netware default form width was not correctly being set to 80 columns. This would cause banner pages to be truncated. An extra form feed was being printed at the beginning of the Netware banner page. A timing window could cause a Novell job queued using RPRINTER to hang in the middle of a job. An extra formfeed was being printed at the end of LPR jobs. The keyword "NONE" would not clear a RPRINTER name. Duplicate entries in the Netware access control lists were being allowed. Malformed AppleTalk Name Binding Protocol packets were causing random locations of the server's memory to be corrupted. This typically resulted in the server crashing. When deleting an AppleTalk printer, a timing window could cause a data structure to be inconsistant and would result in the server going into an infinite loop. AppleTalk processing did not properly handle printing with Laserwriter V8.x. Laserwriter 8.x assumes the data path is 8-bit clean, and by default does not quote certain PostScript command characters. Attempting to autobaud to 19.2K or 38.4K on ports 3 and 4 on an EPS4/12 did not work correctly. The CLEAR/PURGE HOST ALL command was not recognizing the keyword "ALL." The Telnet "IAC LOCATION" negotiation was not being handled properly. If the UNLOCK command was issued on a port that was not locked, in the resulting error message the port number was off by one. If the FINGER command was issued to a host and the host did not correctly respond to the command, the issuing port would hang. When processing a LAT print job, a timing window could advertise that a printer was available when it actually was not. This would normally result in the host aborting the current job and going into a paused error state. When processing a LPR print job, a timing window could advertise that a printer was available when it actually was not. This would normally result in the host aborting the current job. The help text for the SET SNMP command was ambiguous about the actual syntax of the command. When a startupfile name was longer than could be stored in the server's NVR it was silently being truncated rather than informing the user that the name was too long. The checking on names was "tightened up" a bit too much, resulting in the "-" character not being valid as part of a name. This made dealing with file servers with dashes in their name impossible and also prevented the creation of service names containing a dash. The keyword "NONE" was not clearing some print server names and settings. This resulted in some server settings which could be defined, but not be removed. When a SLIP connection was terminated, if a modem signal transition occurred during the disconnecting process, the server could crash. The packet counters for SLIP packets were actually counting each packet twice. If a telnet session to a chargen port was disconnected, the server could go into a wait state waiting for the server's input queue to empty, but would never read from the queue. Infinite waiting was the net result. The Bitronics implementation would not wait long enough for characters to be returned after initiating a reverse polling sequence. This could result in printer timeouts and aborted jobs. The EPS1/2 were performing reverse polling of the attached printer much more frequently than necessary. When initiating or terminating a Bitronics reverse transfer, the print server could take too long to complete the transfer which would cause the printer to time out. The EPS1/2 boot roms were not capable of running at speeds greater than 19.2 Kbaud due to a operational code/boot code NVR mismatch. The operational code has been modified so that the common speeds up to 64 Kbaud are possible. Note that normal operational code can still execute up to 115.2 Kbaud. This is simply a problem when in boot mode. On the EPS1/2, an incorrect string was used for the default service identification created during NVR initialization. In a network with multiple routers configured with static routes, the server would not correctly ARP for a second router if an ICMP redirect packet was received from the primary router during specific phases of establishing a telnet connection. If the primary nameserver had not been defined, but a secondary had been, the secondary was not queried. The domain name server routines were not correctly attempting to resolve a host name. The following behavior is now used to resolve a name: 1) resolve the user specified hostname with the primary DNS server 2) try the hostname with the serverŐs default domain name appended (primary) 3) resolve the user specified hostname with the secondary DNS server 4) try the hostname with the server's default domain name appended (secondary) If the IP address had not been configured, the server was still responding to IP broadcast packets. Resolved RTEL Problems and New Functionality. --------------------------------------------- When an RTEL connection was attempted through a dialup router, the RTEL software would time out the connection attempt in 20 seconds. This was typically not enough time to allow the dailup router to bring up the link. The timeout value has been icreased to 60 seconds. When printing with the RTELPD daemon process, if a job needed to be queued on an SCO system, the RTELPD process would abort. When using the backend filter to print from AIX host systems, the RTEL software will update the queue status information to "paused" if no data has been sent over the network for 60 seconds. When normal data flow starts again, the job status will be updated to "running." The example program TALK.C has been modified to do a simple TCP based socket connection.