
                     Installation Guide for
         DC21040 EISA/PCI Ethernet Adapter SCO Unix LLI driver

                     TSV30008 - Release 00.08
                          06-Oct-1994


1. Introduction
   ============

   This is release 00.08 of the DC21040 EISA/PCI Ethernet Adapter SCO Unix
   LLI driver. It is a custom installable LLI driver, configured using
   netconfig.

   This version supports up to 4 boards.

   The netconfig install script will prompt for the adapter type, and for 
   EISA boards the slot number too. The other parameters may be modified in 
   the space.c file.


2. Hardware and Software Requirements
   ==================================

   The DC21040 LLI driver requires the following software:
      - ODT 2.0 or higher version, or SCO Unix 3.2.4 or higher version
      - SCO Unix LLI driver disk


3. Distribution Contents
   =====================

   The DC21040 distribution diskette contains all the files required
   for installing the driver using custom and netconfig, in particular:
      - custom prep, init and remove scripts.
      - netconfig init, reconfigure and remove scripts.
      - netconfig info files
      - Driver.o, the driver
      - Space.c, the parameter file
      - /usr/include/sys/dce_include.h - header file, not intended to be 
        modified


4. Installing the board
   ====================

   DE425 EISA board installation
   -----------------------------

   1. Run your system's EISA configuration utility. Use the !DEC4250.CFG file.

   2. The default EISA parameters of the board set for the final product. 
      Following are the supported values, and the recommended selections:

      - The default interrupt selection mode is edge triggered. While 
        installing the board (EISA configuration) you may select one of the 
        following interrupt schemes:
        - Edge-Triggered Interrupt
        - Level-Triggered Interrupt (no sharing)
        - Level-Triggered Interrupt (sharing)

        Supported interrupt numbers are:
        -  5
        -  9
        - 10
        - 11    

      - Cable selection: the driver does NOT use the values defined during
        EISA configuration, therefore there is no need to modify this
        parameter.

        The cable type selection is done in the space.c file (DCE_SIA_MODE), 
        see below. Cuurently the default is AutoDetect.

      - Various bus parameters
                                                                         

   EB40 and DE435 PCI board installation
   -------------------------------------

   PCI setup differs between systems. See manufacture's documentation on
   setting up PCI boards.


5. Modifying parameters
   ====================

   The space.c file contains the different parameters that can be modified.
   They can be divided into several groups:

   1. Board parameters (some of which are also set up in the EISA configuration
      file). These include:
         DCE_HW_ACCESSES
         DCE_DC21040_SIA_MODE
         DCE_BUS_ARBITRATION
         DCE_BURST_LENGTH
         DCE_CACHE_ALIGNMENT
         DCE_PASS_BAD_FRAMES
         DCE_BACKOFF_CNTR
         DCE_10MB_THRESHOLD
         DCE_BACK_PRESSURE
         DCE_CAPTURE_EFFECT_ENABLE
         DCE_PARITY_ERROR_RESPONSE
         DCE_LATENCY_TIMER
         DCE_CRC_CALC

   2. Driver tuning parameters:
         DCE_RX_BUFS_TO_POST
         DCE_RX_PKTS_QUEUED_THRESH_HI
         DCE_RX_PKTS_QUEUED_THRESH_LO
         DCE_MAX_USRS
         DCE_UNIFORM_CARD_MODEL

   3. Board identification:
         DCE_PLX_DC21040_EISA_ID_VAL
         DCE_PCI_DC21040_CFID_VAL

   4. Driver diagnostics control:
         DCE_DEBUG

   The meaning of each is explained in detail in the space.c file, including
   allowed values for each parameter. The values in space.c apply to ALL
   the installed boards.

   Space.c is NOT the place to modify the board's slot number line.
   This must be modified in netconfig, by running the reconfiguration
   script.


6. Installing and configuring the SCO Unix driver
   ==============================================

   1. Run custom. From the menu select:
      Custom -> Install -> A New Product -> Entire Product

   2. Put the distribution diskette in the drive and select continue.

   3. When prompted for distribution floppy 1, just press enter.

   4. When custom has completed, remove the diskette and quit custom.

   5. Run netconfig. Add the desired chain. The DC21040 drivers are called:
      dce0, dce1, dce2 and dce3. Remember the dce0 must be configured first,
      before any other driver is configured.

   6. The driver's init script will prompt you for the board's bus type 
      (EISA [e] or PCI [p]). For EISA boards you will be prompted also
      for the slot number. 

   7. When the chain has been configured, select 'q' from the netconfig menu.
      If you don't wish to modify the space.c file relink the kernel at the 
      prompt.

   8. If you wish to change parameters in the space.c file, edit
      /etc/conf/pack.d/dce0/space.c and make the required changes.
      The changes will apply to all the installed boards.

      NOTE: If your system does not support 32-bit protected mode PCI
            BIOS calls, you MUST modify the parameter DCE_HW_ACCESSES
            to the PCI mechanism appropriate to your system (see space.c
            for details).

   9. To activate the adapter, you must reboot. When the system boots, you
      should see the following message among the other configuration messages:

      %dce   0x2000-0x2200  5     -     type=DC21040/TP addr=12-34-56-78-9a-bc

      with the appropriate I/O addresses, IRQ, serial media and IEEE address.


7. Installing multiple boards
   ==========================

   The driver supports up to 4 boards (EISA and PCI mixed). It is not
   recommended to configure more than 1 PCI board due to PCI BIOS limitation.

8. Errors and trouble shooting
   ===========================
                              
   1. Mismatch between EISA configuration file and netconfig/space.c:

      In order for the adapter to work correctly, the same values that are
      used during the EISA configuration must be used during netconfig and
      in the space.c file. Mismatches may cause the adapter to malfunction,
      or even hang the system (slot number, IRQ mismatches, e.g.).

      Currently, the space.c takes precedence for all values, except for
      the interrupt line which is taken from the EISA setup.

   2. Mismatch between PCI configuration and netconfig/space.c:

      In order for the adapter to work correctly, the same values that are 
      used during the PCI configuration (e.g CFLT) must be used in the 
      space.c file. Mismatches may cause the adapter to malfunction, or even 
      hang the system.

      Currently, the PCI setup takes precedence except for the value for the
      latency timer, which is taken from the space.c file.

   3. Wrong HW access method for PCI configuration space:

      If the DCE_HW_ACCESSES parameter in space.c is set to a value not 
      supported by your system there will be problems at boot time. Set
      this parameter to a value that is supported by your system.

      By default, the parameter is set so the driver uses 32-bit protected
      mode PCI BIOS calls.
      
