📄 readme.epca
字号:
user.docDigi International driver package for the PC/Xe, PC/Xi, PC/Xr, PC/Xem as wellthe EISA and PCI variants of these boards where applicable.Copyright (C) 1996 Digi International. Written by Ronnie Sanford digilnux@dgii.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (At your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. This document describes the software used with the Digi/Linux driver package.The four user programs listed below are described in this document: 1. digiConfig -> Application that configures the Digi driver. 2. digiDload -> Application which initializes the Digi hardware. 3. buildPCI -> Application which provides the user a method of building device nodes for PCI devices. 4. ditty -> Application which provides the user a method of configuring terminal options on Digi hardware.--------------------------------------------------------------------------1. Configuring driver/kernel for Digi products-------------------------------------------------------------------------- The Digi driver must be configured each time Digi hardware is added or removed. There are two supported methods of doing this. The first method configures the driver dynamically at boot time but requires the user to utilize the lilo loader. This method is the preffered method as it does not require the rebuilding of the kernel. In order to use lilo to configure Digi boards at boot time an appropriate append command should be added to /etc/lilo.conf below the appropriate label decleration. See footer 4. The append commands format is a string of comma separated identifiers or integers used to configure supported boards. These six values in order are: Enable/Disable this card or Override, Type of card: PC/Xe (AccelePort) (0), PC/Xeve (1), PC/Xem or PC/Xr (2), EISA/Xem (3), PC/Xe (64K) (4), PC/Xi (5). Enable/Disable alternate pin arrangement, Number of ports on this card, I/O Port where card is configured (in HEX if using string identifiers), Base of memory window (in HEX if using string identifiers) A sample append command is given below which if used would configure and enable a PC/Xe with 8 ports, at i/o address 200, memory address 0xd0000 with alt pin turned off. The lilo.conf file should look like this: image = /vmlinuz root = /dev/hda2 label = vmlinuz append="digiepca=E,PC/Xe,D,8,200,D0000" likewise the below will perform the same function: image = /vmlinuz root = /dev/hda2 label = vmlinuz append="digiepca=1,0,0,8,512,851968" Note: PCI boards are auto-detected and configured (Hence their codes are not given here). Do not attempt to configure PCI boards with the lilo append command. If configuration data has been specified by using digiConfig (Described below), and you wish to override this configuration using lilo without specifying a specific card (Example if there are PCI cards in the system) the following override command will accomplish this: -> append="digiepca=2" If lilo is not enabled, the second method of configuring Digi hardware will have to be used. digiConfig is an application that can be used to inform the system of any additions, deletions, or modifications involving Digi hardware. To use this method the operator executes digiConfig anytime an EISA or ISA card is added that he wishes to use. This routine is also used to remove cards from the system, and to modify parameters of those cards already present in the system. Upon being executed digiConfig modifies files accessed by the Digi driver. To make these changes permanent; the operating system must be recompiled. After the operating system has been recompiled and booted, the changes made with digiConfig will be introduced to the user. This program MUST be executed every time Digi EISA/ISA hardware configuration changes. Note, it is not necessary to execute digiConfig in order to configure the Digi PCI cards. These cards are self-identifying and will be recognized by the driver. They cannot be displayed using digiConfig nor will digiConfig build the device nodes their device nodes. See footer 1. To execute digiConfig; simply type: digiConfig The application will query you for the type, memory address, port address, number of ports, alt pin disposition and status of each board that exist on the system. Note, currently this driver only supports PC/Xe, PC/Xeve, PC/Xi, PC/Xr, and PC/Xem as well as their EISA and PCI implementations if applicable. All supported cards (Other than PCI) that are present should be registered via digiConfig. See footer 2. After all cards have been configured select exit. The system will then inform you if any changes have been made, and ask you if it is okay to make these changes permanent. If the data entered is correct, select okay. Selecting cancel will prevent the changes from becoming active. digiConfig can then be re-executed to configure the system again.--------------------------------------------------------------------------2. Initializing Digi hardware with digiDload-------------------------------------------------------------------------- digiDload is the application executed after the Digi driver has been loaded. It is responsible for initializing the hardware and leaving it in a state such that the Digi board may be operated by the user. The application may be placed anywhere on the path, but its related support files must be located in /etc/digi. The related files are: sxfep.bin sxbios.bin xxfep.bin xxbios.bin The format for this command is "digiDload [v]". If given the "v" option turns on verbosity. If not given the application runs in quite mode. To execute the program simply type: digiDload Upon completion digiDload will generate the below message: "digiDload complete: Card initialized" At this point the card is configured and ready for normal usage. See technotes.doc for information on how how ports are determined and assigned.--------------------------------------------------------------------------3. Build PCI device nodes with buildPCI -------------------------------------------------------------------------- buildPCI is an application useful for building the necessary device nodes for Digi PCI cards. It is reccomended that this tool be used because the current digiConfig application does not provide this function for PCI cards (Though it does build device nodes for non-PCI cards). To use this program execute the following:first install the driver, and execute digiDload (See above). After digiDload has successfully loaded, execute the following: buildPCI <arg1> <arg2> Where arg1 is the number of ports connected to Digi cards that are not PCI (As shown by the digiConfig utility), and arg2 is the number of ports connected to Digi cards that are PCI. Note, buildPCI only has to be ran once to build the necessary device nodes. Though this program may be executed at anytime, we reccomend delaying execution until the first time you install the package and after digiDload has been executed.--------------------------------------------------------------------------4. Setting Terminal Options with ditty--------------------------------------------------------------------------ditty is a utility program that sets and displays the terminal options for Digi intelligent serial products. See man ditty for detailed information.Footnotes:1. The 1.2.x kernel does not provide a method of mapping the high addresses (Normally higher than RAM) associated with PCI. For this reason, this driver disables PCI support while running under the 1.2.x kernels.2. PCI cards should not and cannot be registered with digiConfig. After the driver has been loaded buildPCI may be executed to construct the necessary device nodes. This step is not necessary for system not having Digi PCI cards.3. This is because we forsee a time when buildPCI may auto-detect the available Digi PCI cards and this would only work if the program is executed after digiDload.4. A complete example is given in install.doc.-------------CHANGES--------------------All changes should be recorded here. All changes should be explained in verbose detail. -----------------------------------------------------------------------Programmer : Ronnie SanfordDate : June 1, 1996Description (Verbose) : Initial release of driver package.Files affected : allRelease version : 1.0.0f (BETA)----------------------------------------------------------------------------------------------------------------------------------------------Programmer : Ronnie SanfordDate : August 7, 1996Description (Verbose) : Made several modifications to provide PCI and EISA support: 1. We now allocate the termios structures based on the maximum number of channels that COULD be available to the system. We no longer use the number of channels declared in epcaconfig.h (NBDEVS) as the total channel number. This is because this value does not represent channels available to potential PCI cards. This new larger value is also passed back to the os in the num field of tty_driver. 2. Added code to copy the previous board structure (Now called static_boards) into a new local copy of the boards structure. This has been done so that PCI cards may be added to this board array and later referenced (And even queried.). 3. Added code to pc_init that checks for supported PCI cards. If found this code initializes a new entry into the drivers local board structure with the PCI cards address, and type, etc.. It also bumps the card count (num_cards). 4. Modified code in post_fep_init so that when this routine is executed the number of ports supported by a particular PCI card will be determined and loaded into the board structure. It would be much better if this code was placed in pc_init (Because we could then report to the os the true number of ports available; not just the max), but since the card has to be booted to determine the number of ports it supports, we are forced to do it after DIGI_INIT has called post_fep_init. In the future we may attempt to read the num ports attached directly (address 0x1ac). 5. Added board types to epca.h in support of various PCI boards (Some of which do not exist yet). Added procedures for these boards throughout the code. Note, windowing is not necessary for PCI boards. 6. Added code supporting the EISA/XEM. This included modifying epca.h with the new board type and adding this type into the driver. The EISA/XEM is basically identical to the PC/XEM, other than
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -