Release Notes 93000351_J Digi dgdm Driver Package dgdm-1.1-6.i386.rpm 40002059_J.src.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, 4 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, 9.3 Debian 3.0.r1, 3.1 Linux Kernels supported: 2.4.x (UP and SMP) 2.6.x (UP and SMP) RPM Part Number 40002059_J 12/19/2005 1. INTRODUCTION This Digi software package includes device drivers for the DataFire RAS PTE, DataFire DSP PTE cPCI, DataFire RAS B4STU, AccelePort RAS and AccelePort Xp families of adapters. It is currently supported on the following hardware platforms: * Standard i386/i486 and Pentium PC (x86 32bit) * x86 64bit and has been tested with the following Linux distributions: * Red Hat Enterprise Linux 2.1, 3, 4 * Red Hat Linux 7.2, 7.3, 8, 9 * Fedora Core 1, 2, 3, 4 * 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, 9.3 * Debian 3.0.r1, 3.1 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.31 and 2.6.15 from kernel.org. It is anticipated that this driver will work with Vendor kernel releases of up to and including 2.4.31 and 2.6.15, 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. This package requires tix. If it is not installed on the target machine prior to installing a generated binary RPM, the binary RPM will refuse to install. In addition, a curses development environment and a TCL development environment are required to generate a binary RPM from the source RPM provided. 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: 40002059_J 2. SUPPORTED PRODUCTS DataFire RAS PTE Family of Adapters - DataFire RAS 24 PT1 DataFire RAS 48 PT2 DataFire RAS 30 PE1 DataFire RAS 60 PE2 DataFire DSP PTE cPCI Family of Adapters - DataFire DSP 24 PT1 cPCI DataFire DSP 48 PT2 cPCI DataFire DSP 30 PE1 cPCI DataFire DSP 60 PE2 cPCI DataFire RAS B4STU Family of Adapters - DataFire RAS B4U DataFire RAS B4ST AccelePort RAS Family of Adapters - AccelePort RAS 4 AccelePort RAS 8 AccelePort Xp Family of Adapters - AccelePort 2p PCI AccelePort 4p PCI AccelePort 8p PCI AccelePort 16p PCI Digi International announced the discontinuation of the DataFire RAS product line in September 2001. In our continued effort to support DataFire RAS customers, we entered into a definitive agreement to sell the DataFire RAS product line to Patton Electronics Company in November 2001. All business areas related to the DataFire RAS product line are now handled by Patton Electronics. If users have any technical questions with respect to the DataFire RAS product line, please contact Patton Electronics via e-mail at (support at patton.com), or call 1-301-975-1000 and ask for the technical support team. Additional information is also available on the Patton Electronics website at , including driver updates and future releases. Please note that the AccelePort RAS product line is NOT part of the DataFire RAS product line acquisition by Patton Electronics. Digi International will continue to sell and fully support all AccelePort RAS products without restrictions. 3. ENHANCEMENTS * Added support for the x86 64bit platform. * Switch all uses of sleep_on_*() to wait_event_*(), per Linux 2.6+ kernels depricating sleep_on calls. * Added fix for supporting 2.6.6+ based kernels. One of the kernel structures we depend upon changed. * Added support for Fedora Core 3, Mandriva Linux, Red Hat AS/ES/WS 4, Suse 9.3 * Added support for sysfs/udev for 2.6.x based kernels. 4. BUG FIXES * Fixed bug in dgdm_tty_write under 2.6.10+ based kernels that could result in lost data. 5. KNOWN LIMITATIONS * To build the dgdm 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 dgdm driver package. * Some BIOS's do not work correctly with the 2.4 kernels. If the driver fails to download firmware to the adapter at insmod time, this could be caused by the 2.4 kernel/BIOS incompatability. On some machines, the problem can be resolved by upgrading to the latest BIOS. * Some Linux distributions, such as SuSE 7.x, ship with a version of Tcl that does not include the file tcl.h, which is required by this package. In order to build this package on distributions that do not include tcl.h, the user must install a version of Tcl that includes tcl.h. * The maximum combined number of Acceleport RAS and DataFire RAS adapters in one system is currently set to 8. Users familiar with the C programming language can easily add support for additional cards. * This release is valid only for 32/64bit i386 platforms even though there are numerous places within the rpm that might imply support for additional hardware platforms. If users care to add support for other platforms, please submit patches to Eng.Linux at digi.com for inclusion in the release driver. * The ISDN adapters supported by this release of the driver package can send and receive analog calls and also 64Kbs and 56Kbs digital ISDN calls. This driver package DOES NOT support the isdn4linux interface. In the case of ISDN calls, the firmware assumes the user begins data transfer in sync PPP mode and received sync PPP packets are translated into async PPP packets as well as passed up through the standard asynchronous devices. Transmitted async PPP packets are likewise translated into sync PPP packets before transmitted over the ISDN link. This mode is initiated by either an incoming ISDN digital call or by a dial-out with the AT dial command "ATDIXXXX" where XXXX is the phone number to dial. * Transparent print devices are made for, but not supported by, the DataFire RAS, DataFire DSP cPCI, and AccelePort RAS families of cards. Transparent print support for these cards is not planned at this time but may be added at some point in the future. * On Red Hat 9, to use the dm_gui utility, the following command will need to be run, (replace the versions of each file as needed): ln -s /usr/lib/libtix8.1.8.3.so /usr/share/libtix8.1.8.3.so * Fix for the stock Red Hat 7.1 Kernel Some 2.4 kernel-based distributions (Red Hat 7.1 included) have a patch applied to them which modifies the behavior of Linux when an open of a serial port is canceled (for instance, if an application is waiting for the carrier signal and user hits CTRL-C to kill the application.) The device driver is unable to cleanup its internal data structures and the sane functioning of the driver is compromised with this behavior change. The classic symptom of this problem is the command "lsmod" (which will return a count of the applications using the device driver) returns a non-zero value even if all applications associated with the serial ports are killed. It is impossible (from within the device driver) to determine which behavior is implemented in the running kernel. However, Digi now provides a workaround to change the Digi behavior to be compatible with these "patched" kernels. Use the following insmod parameter: alt_fail_open=1 to enable the change which provides alternate behavior when a serial "open" call fails. This parameter must be added each time the device driver is loaded (i.e. when the system is booted.) To make this process easier, the Digi standard driver startup tools will execute the command for the user when it loads the driver if the following command is executed: touch /etc/dgdm/alt_fail_open This command will create a file in the file system. When the Digi tools detect the existence of this file, the command enables the "alt_fail_open" behavior at every system boot. 6. ADDITIONAL INFORMATION * This driver is distributed both as a source RPM and as a compressed tar file of the source. * If you install the source RPM version of the source, it is usually as easy as running the following: 1. rpmbuild --rebuild 40002059_J.srpm 2. rpm -i dgdm-1.1-6.i386.rpm * If you install the compresed tar version of the source, it is usually as easy as running the following: 1. tar xvfz 40002059_J.tgz 2. cd ./dgdm-1.1 3. ./configure 4. make all 5. make install 6. make postinstall * 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 needed and recognized options are for: Red Hat 7.2 - REDHAT_72, Red Hat 7.3 - REDHAT_73, Red Hat 8 - REDHAT_8, Red Hat 9 - REDHAT_9, Red Hat AS 2.1 - REDHAT_AS_21, Red Hat AS 3 - REDHAT_AS_3 / REDHAT_ES_3 / REDHAT_WS_3, Fedora - FEDORA SuSE 9.1 - SUSE_91 For example: To tell the srpm that you have Red Hat 9, run this command instead: * rpmbuild --rebuild --define DISTRO=REDHAT_9 40002059_J.srpm To tell the tgz that you have Red Hat AS 3, run this during the "configure" phase: * ./configure DISTRO=REDHAT_AS_3 * 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 dgdm" 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/dgdm script as appropriate. * Once the above step is done, to load the driver either run the script manually ("/etc/rc.d/init.d/dgdm start") or reboot the system. * Once the driver has been loaded, device nodes must be created before users can configure or use the dgdm adapters. The dgdm startup script will automatically create device nodes at every driver load. To create device nodes manually, do a "/proc/dgdm/mknod". This will create device nodes for all of the supported dgdm adapters found on the system but will not remove any device nodes that do not match the current hardware configuration. In order to remove device nodes before creating new ones, use the "-d" command line argument ("/proc/dgdm/mknod -d"). This will remove ALL dgdm device nodes before creating new device nodes. NOTE: All device nodes made with /proc/dgdm/mknod are made with permissions according to the umask and group/owner unspecified. This often results in modes of 664 and group/owner equal to root. The /etc/rc.d/init.d/dgdm script can be easily edited to change the permissions and owners of the nodes as desired at driver load time. Once device nodes have been created, users can use the support utilities discussed below to configure the adapters that have been found on the system by the dgdm driver. (This does not generally apply to the AccelePort Xp cards.) Under 2.6 kernels with SYSFS/UDEV enabled, UDEV will create duplicate tty devices which can be used exactly like the regular tty devices that the driver creates. The UDEV devices should be used when SELinux is enabled. The UDEV device names are defined as the following, (regardless of the ports per adapter): Board 1: ttyG0 - ttyG63 Board 2: ttyG64 - ttyG127 Board 3: ttyG128 - ttyG191 Board 4: ttyG192 - ttyG255 See dm_driver(4) for additional details on the dgdm driver. * This package includes several support and configuration utilites including dm_admin, a command line utility, and dm_gui, a graphical utility. Both can be used to configure adapters as well as to display adapter configuration and status information. Refer to the man pages for these utilities for additional information. * A copy of these release notes can be found at: /etc/dgdm/release.notes after the rpm has been installed. 7. HISTORY Version 1.1-1 (40002059_H) Added support for Red Hat Enterprise Linux 2.1, 3 Added support for Suse 9 Converted the source rpm process to use a "configure" script based process to make the driver build process easier. Added dinc, a cu/tip replacement. Fix issues with some Red Hat 2.4.20-x kernels where the number of parameters being passed to the remap_page_range kernel API call was changed from 4 to 5. This change exists only on Red Hat 2.4.20+ based kernels, it does not exist on stock 2.4.20+ kernel.org kernels, or other Linux vendor kernels. Version 1.09-1 (40002059_G) Uses Revision M firmware for RAS cards. Adds support for Linux 2.4 kernel tree. Reworked the Debug code so it responds to the proper makefile/insmod switches. Fix for standard Red Hat 7.1 Kernel Fix board lock up under SMP kernels. Fix problem with dm_gui. Fix some packaging issues. Fix kernel panic when using RAS boards with fax applications. Add channel mapping to dm_gui DataFire RAS 24/48/30/60 CT1 and PRI only. Fix adapter failure to respond after a large number of opens/closes. Fix kernel panic on extremely fast SMP systems. Version 1.05-1 (40002059_F) April 17, 2001 - Added support for Linux 2.4 kernel tree, K4 firmware Version 1.04-1 (40002059_E) Jan 16, 2001 - Locking fixes, RPM format changes Version 1.03-1 (40002059_D) August 28, 2000 - Support for cPCI and E1R2. Increased support from 4 boards per machine to 8 boards per machine. Version 1.02-1 (40002059_C) July 7, 2000 - Initial product release for AccelePort Xp product. Version 1.01-1 (40002059_B) Jan 7, 2000 - Initial product release for DataFire RAS and AccelePort RAS products.