                         Release Notes PN 93006003D

                   Digi ClassicBoard and Neo Driver for Linux
                              Version 1.1.8

                    Digi ClassicBoard and Neo Driver Package
                            cpci-1.1.8-11.i386.rpm
                   
                        Linux Distributions Supported:
                         Red Hat Linux 6.2, 7.0, 7.2, 7.3
                    Caldera Open Linux Worksation/Server 3.1.1
                               Suse Linux 8.0
                             Linux Mandrake 8.2

                           Linux Kernels supported:
                              2.2.x (UP and SMP)
                              2.4.x (UP and SMP)

                         RPM Part Number 40002110D

                                   06/15/2003



  CONTENTS

  Section    Description
  1          Introduction
  2          Supported Products
  3          Enhancements
  4          Bug Fixes
  5          Known Limitations
  6          History

  
  1. INTRODUCTION

     This Digi software package includes device drivers for the PCI models
     of the Digi ClassicBoard and Neo series of products. It is currently
     supported on the following hardware platforms:

     o Standard i386/i486 and Pentium PC

     and is currently supported on the following Linux distributions:

     o Red Hat Linux 6.2, 7.0, 7.2, 7.3
     o Caldera Open Linux Worksation/Server 3.1.1
     o Suse Linux 8.0
     o Linux Mandrake 8.2

     with kernel versions 2.2.x (UP and SMP) and 2.4.x (UP and SMP).

     Please reference the following number(s) when searching the Digi
     International web site (www.digi.com) or ftp site (ftp.digi.com)
     for the latest software package:

     RPM Part Number: 40002110<highest revision letter>


  2. SUPPORTED PRODUCTS

     Card Model                         Number of Ports
     --------------------------------------------------
     Digi ClassicBoard (Corsair) 4 PCI         4
     Digi ClassicBoard (Corsair) 8 PCI         8
     Digi Neo 4 PCI                            4
     Digi Neo 8 PCI                            8
     Digi Neo 2 PCI (four versions:
        2DB9, 2DB9PRI, 2RJ45, RJ45PRI)         2


  3. ENHANCEMENTS
     o Added support for 2 port Neoclassic adapters (four versions):
        2DB9           Neo 2p DB9 Univ PCI
        2DB9PRI        Neo 2p DB9 Univ PCI  Powered Ring Indicator
        2RJ45          Neo 2p RJ45 Univ PCI
        2RJ45PRI       Neo 2p RJ45 Univ PCI  Powered Ring Indicator

     o Improved throughput performance.

     o Added support for user settable RX and TX FIFO trigger levels
       on Neo adapters.

  4. BUG FIXES
     o Added code to workaround a FIFO count register debounce problem
       with new XR17D15* UARTs.

     o Fixed a buffer overflow problem activated when installing more than
       MAXBOARDS (currently set to 4) adapters.

     o Added RPM_BUILD_ROOT to spec file to fixed RPM install problems
       on newer system (e.g: Redhat 9).


  5. KNOWN LIMITATIONS

     o The driver currently supports a maximum of 4 adapters and
       32 ports.

     o To build the cpci driver you must have first loaded the 
       kernel source tree for your target kernel.  

       If you are running a prebuilt kernel from a packaged 
       distribution, this typically involves loading the
       kernel sources from your distribution CD to /usr/src/linux, 
       then using the following commands to do the following:

       1. cd /usr/src/linux       Go to the kernel sources root 
                                  directory. 
       2. make mrproper           Clean up any old version files.
       3. make oldconfig          Make a configuration file to match 
                                  your running kernel.
       4. make dep                Create the dependency and version 
                                  files.

       Now you can load and build the cpci driver package. See the 
       INSTALL file for details.

     o In Red Hat 7.0, you MUST install the kgcc RPM package before 
       you attempt to install this driver. The default compiler 
       (gcc 2.96) is known to generate code with a lot of errors. 
       If the kgcc package is not installed before you install this 
       driver package, the driver will be compiled with the default 
       compiler. Digi will NOT support this configuration, as it may 
       operate unreliably, or could even crash your system.

     o Since the rated throughput value of the Linux tty subsystem 
       flip buffer code is 25k per second, 460 kbps users can and will 
       see speed bottlenecks. This is not a driver bug, but rather is 
       a well-documented limitation of the Linux tty management code.

     o SMP (multiprocessor): There is a race condition in the Linux
       tty subsystem code in 2.2.14 and earlier SMP kernels that causes
       buffer corruption problems. This problem was fixed starting 
       with the 2.2.15 kernel (January 20, 2000), but many sites are 
       still running earlier kernels. Since the cpci driver depends 
       on the Linux tty subsystem, SMP users must use a 2.2.15 or later 
       kernel. Uniprocessor users are unaffected by this problem.


  6. HISTORY

     Version 1.1.7-1
     __________________________________

     Bug fixes:
     Vantive 8176 - Machine locks up when a parity mismatch occurs.

     Vantive 8552 - Machine locks up when a Solaris SPARC system
		    attached to the port boot up.

     Vantive 8786 - Driver won't compile on RedHat 7.3.

     Vantive 8828 - Fifo overrun and "not enough space in tty buffer"
		    errors fixed.



     Version 1.1.5 - 09/20/2001
     __________________________________

     Diagnostics (utest.c)
     ---------------------
     o Add -T option to allow user to leave RS_TIMER enabled during tests.
       This is useful for tracking down IRQ configuration problems.

     Driver (cpci.c)
     ---------------
     o Vantive 7219:  After installing previous version (4002110B) even
       though /var/log/messages indicates 4 ttyCP devices were installed,
       /dev has 32 (ttyCP0-ttyCP31).

       Fixed: the original cpcicreate.sh called createdevs to create
       MAXPORTS devices.  Now we get NPORTS from /proc and create just
       the device nodes we need rather than calling createdevs.

     Diagnostics (usertest.sh/utest.c)
     ---------------------------------
     o Vantive 7222:  With usertest.sh, built-in COM ports are listed
       as options for all the tests but the internal loopback tests
       work only on the Digi Neo ports.  When the user selects internal
       loopback tests the built-in COM port should not be listed as
       options for the user.

       Fixed.

     o Vantive 7224:  OK and Cancel options appear on the bottom of
       the all the menu screens but on the main screen "Cancel" has been
       disabled and this is confusing.

       Fixed:  Cancel on the main screen is now a synonym for Exit.

     o Vantive #7223: when the user interrupts a series of tests via
       Ctl/C, do not include the final (interrupted) test in the failure
       count and statistics report.  Also, increment the test index
       number when reporting interrupted tests since user counts start
       at 1 (rather than 0).

     Version 1.1.4 - June 9, 2001
     ----------------------------------
     Enhancements:
     o Added support for the Digi Neo 4- and 8-port adapters
     o Added "dpa" support and software
     o Added "ditty" (and altpin) support and software
     o Added /proc ("/proc/tty/driver/ClassicPCI") support
     o Added support for 2.4.X kernels
     o Added user diagnostics program (utest) and man page (utest.1)
     o Changed driver version number to 1.1.4

     Bug fixes:
     o Fixed problems associated with running under 2.0.X kernels

     Version 1.1.2 - September 21, 2000
     ----------------------------------

     o Converted the driver to install via Source RPM 
     o Removed doinst.sh/predelete.sh, due to SRPM installation
     o Extensively changed directory layout, due to SRPM installation
     o rc.cpci now supports load/unload arguments
     o Move driver from BETA to RELEASE status
     o Changed version number to 1.0.0-1

     cpci.c
 
     o Removed register_serial() and unregister_serial() functions and 
       their associated symbol exports for the following reasons:
       - They are not needed. (The code in question is left over from 
         the native Linux serial driver, the model for this driver.)
       - They interfere with compilation if the user is not using 
         CONFIG_MODVERSIONS.
     o Changed version to 1.0.0

     All

     o A general scripts directory was added.
     o 'kwhich' script added. (This is a copy of kwhich script from
       the 2.2.18 kernel scripts directory.) It determines whether or
       not we should be compiling with kgcc, the replacement compiler
       provided under Red Hat 7.0 to circumvent known problems with their
       faulty stock compiler (gcc).

     Version 1.0.0b1 - March 27, 2000
     --------------------------------

     cpci

     o Initial Release
     o Supports both Classicboard 4/8
     o Set initial version to 1.0.0 Beta1

     rpm installer/doinst.sh/predelete.sh
 
     o Compiles and installs the driver at rpm install time
     o doinst.sh/predelete.sh are scripts that install the driver 
       on rpm -i, as well as deleting the driver on rpm -e
     o doinst.sh/predelete.sh - version 1.0

     createdevs
  
     o Small utility that creates devices using a particular major number
     o Version 1.0

     cpcicreate.sh
  
     o Since dynamic device allocation is being done with this driver, this
       script uses awk and grep to determine the major number of the currently
       running driver and creates devices on the fly using that major number.
     o Version 1.0

     rc.cpci
  
     o This file can be called at boot time, thus initializing the cpci
       driver (and the board), as well as using cpcicreate.sh/createdevs
       to build the proper device nodes (/dev/ttyCP*).
     o Version 1.0

     failures.txt
  
     o Document that describes common failures during installation, and 
       their respective fixes.
