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 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.