Release Notes PN 93000517_B Digi Neo and ClassicBoard PCI Driver Package for Linux dgnc-1.2-2.i386.rpm Tested Linux Distributions: Red Hat Enterprise Linux 2.1, 3, 4 Red Hat Linux 7.2, 7.3, 8, 9 Fedora Core 1, 2, 3 Mandriva Linux 8.2, 9.0, 9.1, 9.2, 10.0, 10.1 SuSE 8.1, 8.2, 9.0, 9.1, 9.2 Debian 3.0.r1 Linux Kernels supported: 2.4.x (UP and SMP) 2.6.x (UP and SMP) RPM Part Number 40002369_C 03/21/2005 CONTENTS Section Description 1 Introduction 2 Supported Products 3 Enhancements 4 Bug Fixes 5 Known Limitations 6 Additional Information 7 History 1. INTRODUCTION This Digi software package includes device drivers for the PCI models of the Digi Neo and ClassicBoard series of products. It is currently supported on the following hardware platforms: o Standard i386/i486 and Pentium PC (x86 32bit) o x86 64bit and is currently supported on the following Linux distributions: o Red Hat Enterprise Linux 2.1, 3, 4 o Red Hat Linux 7.2, 7.3, 8, 9 o Fedora Core 1, 2, 3 o Mandriva Linux 8.2, 9.0, 9.1, 9.2, 10.0, 10.1 o SuSE 8.1, 8.2, 9.0, 9.1, 9.2 o Debian 3.0.r1 NOTE: Because of the rapid rate of releases from each respective Vendor, the tested/supported list above quickly becomes out of date. This driver package has been tested and verified working for kernels up to and including version 2.4.30 and 2.6.11 from kernel.org. It is anticipated that this driver will work with Vendor kernel releases of up to 2.4.30 and 2.6.11, but cannot be guarenteed because each respective Vendor can, and does, add their own various changes/patches to the stock kernel.org kernel. These additional Vendor patches to the stock kernel.org linux kernel can cause unforeseen incompatibilities with this driver. 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: 40002369_C 2. SUPPORTED PRODUCTS Card Model Interface Number of Ports ------------------------------------------------------------- Digi Neo 8 PCI 8 Digi Neo 4 PCI 4 Digi Neo 2 DB9 PCI 2 Digi Neo 2 DB9 PRI PCI 2 Digi Neo 2 RJ45 PCI 2 Digi Neo 2 RJ45 PRI PCI 2 Digi ClassicBoard 8 PCI 8 Digi ClassicBoard 8 422 PCI 8 Digi ClassicBoard 4 PCI 4 Digi ClassicBoard 4 422 PCI 4 3. ENHANCEMENTS o Ran driver through the "sparse" program, correcting any warnings it found. o Added support for Fedora Core 3, Mandriva Linux 10.1, Red Hat 4 4. BUG FIXES o Fixed driver not working under 2.6.8 kernels and higher. o Fixed buffer overflow on "read" that could happen under certain conditions, causing data loss. o Fixed problem with losing write data on Neo ports when doing many 1 byte writes. 5. KNOWN LIMITATIONS o The driver currently supports a maximum of 20 adapters. o To build the dgnc driver you must have first loaded the matching kernel source tree for your target kernel. To verify that you have matching kernel source, run "/bin/uname -r" and check to make sure the /usr/src directory has the corresponding linux- directory. If you are running a prebuilt kernel from a packaged distribution, this typically involves loading the kernel sources from your distribution CD to your system, then using the following commands to do the following: 1. cd /usr/src/linux- 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 dgnc driver package. 6. ADDITIONAL INFORMATION o The tty naming convention for this driver has changed from the old "cpci" version of the Neo and ClassicBoard driver. The new naming convention is the following: /dev/dg/dgnc/ttyn /dev/ttyn where is the board number, starting from "1", and is the tty letter, starting from "a", and moving upwards to at most "h". o This driver is distributed both as a source RPM and as a compressed tar file of the source. o If you install the source RPM version of the source, it is usually as easy as running the following: 1. rpmbuild --rebuild 40002369_C.srpm 2. rpm -i dgnc-1.2-2.i386.rpm o If you install the compresed tar version of the source, it is usually as easy as running the following: 1. tar xvfz 40002369_C.tgz 2. cd ./dgnc-1.2 3. ./configure 4. make all 5. make install 6. make postinstall o Occasionally, a Linux Vendor will ship a kernel that simply cannot be autodetected to add the various changes that might be required for that specific kernel. Because of this, there is an option that can be used for both the srpm and tgz to tell the driver package exactly what distribution you have. Currently, the only needed and recognized option is for Red Hat AS/ES/WS 3.0 and Fedora The flags are: REDHAT_AS_3 / REDHAT_ES_3 / REDHAT_WS_3 FEDORA Examples: To tell the srpm that you have Red Hat AS 3, run this command instead: o rpmbuild --rebuild --define DISTRO=REDHAT_AS_3 40002369_C.srpm To tell the tgz that you have Red Hat AS 3, run this during the "configure" phase: o ./configure DISTRO=REDHAT_AS_3 o In order to make the driver available for use, users must cause the driver to be loaded. This can be accomplished on Red Hat distributions by doing a "chkconfig --add dgnc" to enable the driver rc scripts for start and stop at system reboot and shutdown. On other distributions, users should link the /etc/rc.d/init.d/dgnc script as appropriate. o Once the above step is done, to load the driver either run the script manually ("/etc/rc.d/init.d/dgnc start") or reboot the system. o This package includes several support utilites: o dinc - A cu/tip replacement. o ditty - an stty replacement. o dpa.dgnc - A Curses-based port monitoring/testing utility. o dgnctest - Another port testing utility. o dgncview - a statistics viewing utility. o A copy of these release notes can be found in /etc/dgnc/relnotes.txt after the package is installed. o When upgrading this driver, be sure to remove the old driver package first. If using the RPM based install, "rpm -e dgnc" can be used. If using the compressed tar version of the driver, run "make uninstall" if the original source tree still exists. 7. HISTORY Version 1.1-1 Added a "sniff" layer for each port under /proc/dgnc//. The driver now preserves permission and ownership of its devices across reboots. Added support for Mark and Space parity. Added support for RTS and DTR Toggle in the driver and in ditty. Fixed problem with PPP. Under certain conditions on SMP machines, the driver could have cause a system deadlock. Fixed problem with B0 transition. Port might not have gotten RTS and DTR reasserted when a transition away from B0 occurred. Fixed problem with port drains on the Neo cards. It was possible that the driver would report that a drain had completed, but there could be 1 byte left pending in transmit. Fixed problem when no supported boards were in the system the driver could have caused "insmod" to SIGSEGV. Fixed possible problem with BREAKs being delivered to the user when they should not have been. Fixed driver bug when using mgetty. RTS was being dropped by mistake, causing the port to become stuck in a RTS flow control state forever. Version 1.0-6 Initial Release.