============================================================================= Perle MultiPort Serial Device Driver for Linux Copyright (C) 2004-2008, Perle Sytems Limited. ============================================================================= Driver release : 3.6.10 Date : February 2009 O/S Compatibility : Linux Versions 2.2.16 or higher, 2.4.x and 2.6.x ============================================================================= Introduction ------------ The Perle Serial driver supports the following multiport boards: UltraPort1 1 port card UltraPort2 2 port card UltraPort4 4 port card UltraPort8 8 port card UltraPort8i 8 port card UltraPort16 16 port card PCI-RAS4 V.92 4 modem board PCI-RAS8 V.92 8 modem board UltraPort1 SI 1 port card UltraPort2 SI 2 port card UltraPort4 SI 4 port card UltraPort8 SI 8 port card UltraPort16 SI 16 port card UltraPort1 Express 1 port card UltraPort2 Express 2 port card UltraPort4 Express 4 port card UltraPort8 Express 8 port card UltraPort8i Express 8 port card Speed1 LE 1 port card Speed2 LE 2 port card Speed4 LE 4 port card Speed8 LE 8 port card Speed LE1P Serial/Parallel port cards Speed LE1P Express Serial/Parallel port cards All the drivers and utilities are published in the form of source code under GNU General Public License in this version. Please refer to GNU General Public License announcement in each source code file for more detail. This version of driver is installed as Loadable Module (Module driver). Installation ------------ The perle-serial driver is supplied as source code in both an RPM package file and a .tgz file. A set of detailed installation instructions are in the User Guide which can be found on the CDROM that came with your serial card or the Perle Web Site at http://www.perle.com/ The kernel header files are needed to build the driver for kernel 2.4 or below. As well, a symbolic link must exist in the modules directory that points to the kernel header directories. If it does not exist then do the the following commands: cd /lib/modules/ ln -s /usr/src/ build For the 2.6 kernel, a configured kernel source tree with a set of makefile rules describing how modules are built is required. Note: If the computer system is currently running a version of the Ultraport driver previous to version 2.0 then it must be uninstalled before installing the new loadable module version. The old version is uninstalled by removing the kernel patches and recompiling the kernel. Installing from the .tgz file ----------------------------- Unpack the file and goto the created directory. In the directory run: make To uninstall the software, run make uninstall NOTE: The system will need to be rebooted to complete the uninstall process for the parallel port. Parallel Port ------------- The Perle Parallel port driver uses the the same /dev/lp device nodes as the native parallel driver. If there are no other parallel ports on the system, then the Perle parallel port will use /dev/lp0 as the device node. The Perle parallel port driver is compiled into a module called "pparport_pc". It is dependant on the "parport" and "lp" modules of the native parallel port driver being enabled. Most Linux distributionshave these modules enabled by default. UltraPort 8i RTS/DTR option --------------------------- The Perle UltraPort8i cards can support either RTS or DTR but not both. There is a utility included with this driver to configure which signal will be active. The configuration is stored in the modules.conf file. The utility is used as follows: set_io8_rts off - This is the default action. The driver will use the pin as "DTR" when the tty is in software handshake mode. set_io8_rts on - If this option is used or hardware handshake is on, the pin will always be RTS. The perle-serial module will have to unloaded and reloaded after the RTS/DTS option has been changed. EIA-422/EIA-485 Configuration of UltraPort SI Cards : ----------------------------------------------------- The default configuration for the port interface protocol of UltraPort SI cards is EIA-232. If you wish to configure any of the UltraPort SI ports for EIA-422 or EIA-485 then a command line utility program called /etc/setultrap is supplied with this driver. Type "/etc/setultrap -h" for usage. The commands may be added to a startup script to cause them to run automatically whenever the system is started. A sample commented out startup script /etc/rc.setultrap is supplied with this driver. For detailed instructions on UltraPort SI card's port interfaces configuration please see the User Guide which can be found on the CDROM that came with your serial card or the Perle Web Site at http://www.Perle.com/ . Kernel update ------------- When a new kernel version is installed on a machine the perle-serial driver will have to be reinstalled for the new kernel. Simply rebuild and reinstall the rpm package or .tgz file after you have booted to the new kernel. Known issues in this release ---------------------------- 1. In the 2.6 kernel, the perle-serial driver will generate a warning message if the kernel has been configured with the "module versioning support" disabled (ie."# CONFIG_MODVERSIONS is not set" appears in the .config file). The message will be put in the /var/log/messages file when the driver is first loaded. The message is as follows: " perle_serial: no version for "struct_module" found: kernel tainted." This message is due to problems with the kernel build system and is currently being worked on by the kernel developers. At the time of this writing the kernel is at 2.6.4. The message does not indicate there is anything wrong with the perle-serial driver. It loads and runs without any problems. 2. Kernel 2.2.16 builds, produce warning about redefinition of variables. This only ocurs when the "module versioning support" is turned on. The drivers will still load and run without any problems. 3. UltraPort SI cards will not work in kernel 2.6.9 if the 8250 device driver is loaded or running before the perle-serial driver. The EXAR vendor ID has been added to the 8250 driver code. If the 8250 serial device driver is loaded first, it will take control of any installed UltraPort SI cards and the perle-serial driver will not be able to detect the card. Note: This has been fixed with a new version of the UltraPort card and a new version of the driver 3.3.0 as of August 30, 2006. See Release History for details Driver Updates -------------- This driver will be updated from time-to-time. Please visit the Perle Web-Site at http://www.Perle.com/ to ensure you have the latest release. Release History --------------- Version Description ------ ---------- 3.6.10 * Maintenance release * Fixed problem running on kernel versions 2.6.28 and later. 3.6.0 * Added support for new UltraPort1 Express and UltraPort2 Express cards with DB9 connectors. 3.5.0 * Added support for the new Speed LE and Speed LE Express cards which support up to 2 serial ports and 1 parallel port. 3.4.1 * Corrected a problem where the 2nd port is not detected on UltraPort2 Express and Speed2 LE cards. 3.4.0 * Added user configuralbe option which causes the driver to always report DSR as active. Option is set using the utility "setultrap" * Made changes to allow the driver to build and install without warnings for many recent Linux Distributions. 3.3.0 * Added support for new PCI UltraPort SI cards which have Perle as the VENDOR ID. The UltraPort16 SI is not affected by this change. The previous version of the UltraPort SI cards had Exar as the Vendor ID and the serial driver of Linux kernel versions 2.6.9 and later would take control of these cards. * The serial number of the UltraPort SI cards has the following form: 57-xxWWYYxnnnn where WW is the week of production and, YY is the year of production. If the serial number on an Ultraport SI card shows that it has been produced on or after the first week of Sept (WW=36) of the year 2006 (YY=06), then a driver of version 3.3.0 or later is required to recognize the card. 3.2.0 * Added Support for Speed LE and UltraPort Express cards 3.1.0 * Maintenance Release. * Fixed problem which caused lockups when attempting to display driver information using file "/proc/tty/driver/perle-serial" * Fixed problem which caused the perle-serial driver to ignore it's interrupt. This would result in the following messages being displayed in the messages file. "Disabled IRQ #x" "irq x: nobody cared!" * Resolved issue of stack dumps which occured when unloading the perle-serial driver with kernel 2.6.9. The stack dumps were due to "scheduling while atomic" conditions. 3.0 * Added support for Perle UltraPort SI cards 2.1 * Add support for the linux kernel 2.6 * Add support for linux kernel 2.2.16 and above. 2.0.0 * Software became an independant loadable kernel module for the kernel version 2.4.x. No need to patch and rebuild the kernel. * Support for PCI-RAS 4 V.92 and PCI-RAS 8 V.92 1.2.0 * Support for the UltraPort1 card 1.1.0 * Support for the UltraPort2 and UltraPort8i cards 1.0.0 * Initial release of patch to support UltraPort 4, 8 and 16 port cards * ST16C654 UART drops characters. This fix would apply to any serial card that auto-configures as a ST16C654 UART type which includes the Perle AT-FAST, PCI-FAST and PCI-RAS cards. ******************** *** END README *** ********************