TSUL_INS.TXT Driver File Contents (FASTLine.zip)

              +-----------------------------------+
              |     d21xCAPS_ driver for SCO Unix      |
              |             V4.3.0                |
              +-----------------------------------+



1. Legal Notice:

              This installation guide as well as the software described in it is
              furnished under license and may only be used or copied in
              accordance with the terms of the license. The information in this
              manual is furnished for informational use only, is subject to
              change without notice, and should not be construed as a commitment
              by Intel Corporation. Intel Corporation assumes no responsibility
              or liability for any errors or inaccuracies that may appear in
              this document or any software that may be provided in association
              with this document. 
 
              Except as permitted by such license, no part of this document may
              be reproduced, stored in a retrieval system, or transmitted in any
              form or by any means without the express written consent of Intel
              Corporation.

              Copyright (c) 1998 Intel Corporation
              All Right Reserved.

              Do not redistribute the driver files.

              Copyright SCO Unix, Inc. 1994.

              SCO Unix is a registered trademark of SCO Inc.

              All other trademarks and registered trademarks are the
              property of their respective holders.



2. Overview:

             This Readme file explains how to install the SCO Unix LLI
             driver. This driver is currently supported for the following
             devices:
                 Intel 21040
                 Intel 21040 PCI Evaluation Board (EB40)
                 Intel 21140
                 Intel 21140 PCI evaluation board (EB140)
                 Intel 21140A
                 Intel 21140A PCI evaluation board (EB140A-TX)
                 Intel 21041
                 Intel 21041 PCI Evaluation Board (EB41)
                 Intel 21142
                 Intel 21142 PCI evaluation board (EB142/EB142-TX)
                 Intel 21143
	


3. Preinstallation Hardware and Software Requirements:

   A.  Hardware Requirements:

         o An IBM-compatible personal computer with 80386 or higher
           microprocessor and PCI bus.

         o A Intel 21040 or Intel 21140 or Intel 21041 or Intel 21140A or
           Intel 21142 or Intel 21143 based Ethernet / Fast Ethernet adapter
           for that bus.

   B. Firmware Requirements:

         o Fully complient Rev. 2.0 or above PCI BIOS supplied with the PC.

         o If Ethernet adapter makes use of Intel 21050
           (PCI-PCI bridge) or any other PCI-PCI bridge, the PCI BIOS
           should support PCI-PCI bridge architecture.

   C.  Software Revision Requirements:

         o ODT 2.0 or higher version, or
           SCO Unix 3.2.4 or higher version, or
           SCO OpenServer 5.0 or higher version
         o SCO Unix LLI driver disk




4. Files and Directories:

This directories contains the following files:

  Table 1:  The  SCO Unix LLI driver Directory Files
  ---------------------------------------------------------------------------
  TSUL_INS.TXT            This File
                          ---------------------------------------------------
  TSUL_REL.TXT            Provides a description of updates to the new driver.
                          ---------------------------------------------------
  SUL430TD.Z  (64678)     The compressed image of the distribution diskette.
                          The D21X 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/d21x_space.h - header file, not
                              intended to be modified
---------------------------------------------------------------------



5. Installing the Hardware Boards:

   Installing the Intel 21040/21140/21140A/21041/21142/21143 PCI Evaluation
   Board

   To install the EB40 or EB140 or EB41 or EB140A-TX or EB142 see the Intel
   21040 PCI Evaluation Board User's Guide or the Intel 21140 PCI Evaluation
   Board User's Guide or the Intel 21041 PCI Evaluation Board User's Guide or
   the Intel 21140A PCI Evaluation Board User's Guide or the Intel 21142 PCI
   Evaluation Board User's Guide or the Intel 21143 PCI Evaluation Board User's
   Guide.



6. Installing Software:

   To install the SCO Unix LLI Device Driver:

   Copying the distribution files
   ------------------------------

   -  Copy the file SUL430TD.Z to SUL430T.dd.Z on a SCO Unix machine.
      The number in parentheses near the file's name (above) is the checksum
      for the file. To verify, use:
          sum -r SUL430T.dd.Z
      and compare the results.
   -  Uncompress SUL430T.dd.Z to SUL430T.dd, using:
          uncompress SUL430T.dd
   -  Copy the file to a diskette. To create a 3.5" floppy in drive 0, use:
          dd if=SUL430T.dd of=/dev/rfd0135ds18
      Mark the diskette:
         Intel 21x4x based 10/100 Mbps Ethernet Controller LLI Driver
         Release 4.3.0


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

      For SCO OpenServer, run the Software Manager. From the menus select:
      Software -> Install New -> From Host -> Media Floppy -> Full

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

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

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

   -  Run netconfig. Add the desired chain. The D21X drivers are called:
      d21x0, d21x1, d21x2 and d21x3. Remember that d21x0 must be configured
      first, before any other driver is configured.

         NOTE: For boards with more than one Intel 21X4X on
               them, a driver must be installed for each active port on the
               board. Thus, if a board has two separate ports, two separate
               chains must be created in order to connect both ports to
               networks. This is similar to installing two boards, each with
               one port.

               Not all ports must be active. If only one port is used,
               it must be the first port (as it is found on the bus
               by the PCI BIOS).

   -  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.

   -  If you wish to change parameters in the space.c file, edit
      /etc/conf/pack.d/d21x0/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 XXX_HW_ACCESSES
            to the PCI mechanism appropriate to your system (see space.c
            for details).

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

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

      or

      %d21x   0x2000-0x207F  5     -     type=DC21140/100TX addr=12-34-56-78-9a-bc

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




7.  Parameters

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

   1. Port parameters. These include:
         XXX_HW_ACCESSES
         XXX_DC2114X_SERIAL_MODE
         XXX_BUS_ARBITRATION
         XXX_BURST_LENGTH
         XXX_CACHE_ALIGNMENT
         XXX_PASS_BAD_FRAMES
         XXX_BACKOFF_CNTR
         XXX_10MB_THRESHOLD
         XXX_100MB_THRESHOLD
         XXX_PARITY_ERROR_RESPONSE
         XXX_LATENCY_TIMER
         XXX_CRC_CALC
         XXX_DC2114X_GPR_CTRL
         XXX_DC2114X_GPR_DATA
         XXX_TURBO
         XXX_SNOOZE
         XXX_MWI,		/* Enable/Disable MWI extended PCI command */
         XXX_MRM,		/* Enable/Disable MRM extended PCI command */
         XXX_MRL		/* Enable/Disable MRL extended PCI command */
   2. Driver tuning parameters:
         XXX_RX_BUFS_TO_POST
         XXX_RX_PKTS_QUEUED_THRESH_HI
         XXX_RX_PKTS_QUEUED_THRESH_LO
         XXX_MAX_USRS

   3. Driver diagnostics control:
         XXX_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.




8. Errors and trouble shooting


   1. 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.

   2. Wrong HW access method for PCI configuration space:

      If the XXX_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.

   3. Driver binds to wrong PCI board (network):

      When multiple PCI boards are installed, the chains are bound to
      the adapters in the order that the adapters are found on the PCI
      bus by the PCI BIOS. Thus, d21x0 will bind to the first adapter
      found by the PCI BIOS, d21x1 to the second etc. Removing or adding
      boards without changing the configuration in netconfig can cause
      a shift in the order that chains are bound. Also, mis-identifying
      the order in which the adapters are found by the BIOS can cause
      wrong bindings. This is especially true when using boards with
      PCI-PCI bridges. The adapters on such boards are located on a PCI
      bus with a number higher than 0 (bus #1, #2 etc.) and will be found
      by the PCI BIOS after all the devices on bus zero.


9. Driver's error messages (when working in debug level > 0)

In "d21xi" the 'i' stands for a number between 0 and 3, indicating
the particular instance of the driver the message is reported by.

  * "d21xi Could not intialize driver, PCI BIOS couldn't read/write configuration register"

    This message will be printed in PCI board - if can't read or write the
    configuration registers when using the PCI BIOS.

  * "d21xi Could not intialize driver, found PCMC revision.1 with write-back cache mode"

    This message will be printed in PCI board - if PCMC rev.1 chip was found
    and it works with write-back cache mode (this mode can cause crash in the
    driver).

  * "d21xi Could not intialize driver, unsupported bus"

    This message will be printed when unsupported bus (PCI is the supported
    bus), found.

  * "d21xi Could not intialize driver, unsupported PCI board - DC21040
     revision.1"

    This message will be printed in PCI board - if it is a board with Intel
    21040 revision 1 on it.

  * "d21xi Could not intialize driver, unsupported board - DC21140 revision 1.0"

    This message will be printed if the board has Intel
    21140 revision 1 on it.

  * "d21xi Could not intialize driver, unsupported Intel"

    This message will be printed if the board doesn't have one of the following
    Intel on it:

        -Intel 21040
        -Intel 21140
        -Intel 21140A
        -Intel 21041
        -Intel 21142
        -Intel 21143

  * "d21xi Could not intialize driver, couldn't link interrupt handler to interrupt line"

    This message will be printed if the driver couldn't link the interrupt
    line to the interrupt handler.

  * "d21xi Could not intialize driver, unsupported interrupt line was set by the PCI BIOS to CFIT"

    This message will be printed in PCI board - if the value of the interrupt
    line that was read from the CFLT register > 0xF

  * "d21xi Could not intialize driver, unsupported selected serial media"

    This message will be printed in boards with Intel 21041
    or 21140 or 21140A or DC21142 or DC21143  - if unsupported serial mode was choose by
    the user or read from the SROM (in case the user choose to use the SROM
    value) for the serial interface of Intel 21041 or 21140
    or 21140A or DC21142 or DC21143. And in boards with Intel 21040 -
    if unsupported serial mode was choose by the user for the serial
    interface of Intel 21040

  * "d21xi [d21xinit] Could not initialize driver, autosense mode conflicts
     with GPR values in space.c"

     For DC21140/DC21140A/DC21142 based adapters, the selected serial mode is
     AUTOSENSE and there are GPR values in space.c that override the defaults.
     Either select serial mode explicitely, or set the GPR values in space.c
     back to the default values (see space.c).

  * "d21xi Could not intialize driver, unsupported DC21041 mode"

    This message will be printed in boards with DC21041 on it - if the chip
    was programmed to be in DC21040 mode (this mode is unsupported by the driver)

  * "d21xi Could not intialize driver, PCI board - couldn't read board's address"

    This message will be printed in PCI board (when reading IEEE address
    using CSR9) if couldn't read board address.

  * "d21xi Could not intialize driver, PCI board - wrong checksum of board's address"

    This message will be printed in PCI board (when reading IEEE address
    using CSR9) if wrong checksum of the IEEE address was read.

  * "d21xi Could not intialize driver, PCI board - the upper 16 bits of the CBIO != 0"

    This message will be printed in PCI board - if one of the upper 16 bits of
    the CBIO register was set by the PCI BIOS

  * "d21xi Could not intialize driver, SROM address is odd"

    This message will be printed if the driver tried to read odd address in
    the SROM.

  * "d21xi Could not intialize driver, try to read beyond the SROM last address"

    This message will be printed if the driver tried to read beyond the last
    SROM address.

  * "d21xi Could not intialize driver, can't read/write from/to the SROM"

    This message will be printed if the driver couldn't read/write from/to
    the SROM

  * "d21xi Could not intialize driver, SROM's checksum wrong"

    This message will be printed if the checksum of the SROM is wrong.

  * "d21xi Could not intialize driver, didn't find board's info in the SROM"

    This message will be printed if the board leaf-info in the SROM.

  * "d21xi Could not intialize driver, read null address from the SROM"

    This message will be printed if the null IEEE address was read from the
    SROM.

  * "d21xi Could not intialize driver, unsupported board"

    This message will be printed if the driver found SROM on the board but
    didn't find DC21140 or DC21041 or DC2114A or DC21142 or DC21143 chip.

  * "d21xi Could not intialize driver, unsupported SROM version"

    This message will be printed if unsupported SROM version was found by the
    driver.

  * "d21x ERROR, major number n, Ethernet controller configuration problem"

    This message will be printed in the d21x_open routine when the driver
    couldn't find a specific board with specific major number

  * "d21xi [d21x_open] Ethernet controller not found"

    This message will be printed in the d21x_open routine when a specific board
    wasn't found by the D21Xinit routine and a request for opening a new stream
    to the driver was requested.

  * "d21xi [d21x_open] too many users are opened"

    This message will be printed in the d21x_open routine when a request for
    opening a new stream was given and there are too many streams open for
    this driver

  * "d21xi [d21x_close] Problems deleting the alias address"

    This message will be printed in the d21x_close routine when closing a
    stream that was opened to the driver and has set an alias address and the
    driver can't delete the address and create a new address table to the
    Intel 21X4 for some HW problems.

  * "d21xi [d21x_close] Problems stopping adapter"

    This message will be printed in the d21x_close routine when the last
    user of the stream close the connection to the adapter and the driver try
    to stop the adapter without success (due to PCI BIOS problems)

  * "d21xi [d21x_srvr] putbq failed"

    This message will be printed in the d21x_srvr routine when the driver
    can't put a unitdata_req in the upper protocol's queue and can't return
    it to its own queue (usually indicates a system problem).

 * "d21xi Controller has transitioned to halted state
     d21xi Halt ID halt_reason"

    This message will be printed when the driver detects a HW error and is
    moving to Halt state.

  * "d21xi - wput : unknown stream message db_type"

    This message will be printed in the d21x_wput routine when the driver is
    given an unknown STREAM message.

  * "d21xi Controller has transitioned to halted state!
     Halt ID: TX Jabber Timer Expired"
     or:
     "d21xi Controller has transitioned to halted state!
     Halt ID: Transmit Jabber Timer expiration interrupt"

    This messages will be printed when a TX jabber timer expired when DC21X4
    sends a packet. In this case the driver stop the adapter operation.

  * "d21xi Controller has transitioned to halted state!
     Halt ID: Couldn't use PCI BIOS"

    This messages will be printed when a the driver failed to use the PCI BIOS
    for read and write the configuration registers

  * "d21xi Controller has transitioned to halted state!
     Halt ID: Setupacket Timeout"

    This messages will be printed when the driver fails to send setup packet

  * "d21xi Controller has transitioned to halted state!
     Halt ID: System Error occured"

    This messages will be printed when the driver reads DC21X4 status
    register and finds that the system error bit is set

  * "d21xi Could not allocate an error_ack message block"

    This message will be printed when the driver couldn't allocate an error ack
    message (system resources problem).

  * "d21xi [d21x_unbind] Bound protocol x not found in protocol table"

    This message will be printed when the driver gets an unbind request with a
    protocol value and there is no bound stream with this protocol value.

  * "d21xi - Invalid MACIOC_SETMCA message"

    This message will be printed when the driver gets an invalid MACIOC_SETMCA
    message.

  * "d21xi - Invalid MACIOC_DELMCA message"

    This message will be printed when the driver gets an invalid MACIOC_DELMCA
    message.

  * "d21xi - Invalid MACIOC_CLRMCA message"

    This message will be printed when the driver gets an invalid MACIOC_CLRMCA
    message.

  * "d21xi - Invalid MACIOC_GETMCA message"

    This message will be printed when the driver gets an invalid MACIOC_GETMCA
    message.

  * "d21xi - Invalid MACIOC_GETADDR message"

    This message will be printed when the driver gets an invalid MACIOC_GETADDR
    message.


  * "d21xi - Invalid MACIOC_SETADDR message"

    This message will be printed when the driver gets an invalid MACIOC_SETADDR
    message.

  * "d21xi - Invalid MACIOC_PROMISC message"

    This message will be printed when the driver gets an invalid MACIOC_PROMISC
    message.

  * "d21xi - Couldn't change driver's filter mode to promiscous"

    This message will be printed when the driver gets a MACIOC_PROMISC but the
    number of users that open the driver is > 1.

  * "d21xi - Invalid MACIOC_GETRADDR message"

    This message will be printed when the driver gets an invalid MACIOC_GETRADDR
    message.

  * "d21xi - Invalid MACIOC_GETMCSIZE message"

    This message will be printed when the driver gets an invalid
    MACIOC_GETMCSIZE message.

  * "d21xi - Internal Error : Mismatch in transmit list pointers"

    This message will be printed when something wrong the driver internals
    transmit pointers.

  * "d21xi - dl_unitdata_req with bad Ethernet header size"

    This message will be printed when the driver gets a packet with length >
    Ethernet packet length.

  * "d21xi - dl_unitdata_req - stream is not bound"

    This message will be printed when the driver gets packets to send from
    an unbound protocol.

  * "d21xi - dl_unitdata_req - DL unitdata request is invalid length!"

    This message will be printed when the driver gets a packet to transmit
    which isn't a legal Ethernet size.

  * "d21xi - wput req : unknown; "

    This message will be printed when an unknown wput request was sent from the
    upper layer.


  * "d21xi - wput ioctl : default, uknown ioctl; "
    This message will be printed when an unknown ioctl message was sent from the
    upper layer.

  * "d21xi - Internal error in autodetect!"
    This message will be printed when internal error was detected in media
    autodetection


  * "d21xi [d21xinit] could not initialize driver, unable to set phy's connection"
    This message will be printed when the driver fails to set MII PHY connection

  * "d21xi [d21xinit] could not initialize driver, unsupported admin control command"
    This message will be printed when the driver try to set an unsupported admin
    command to the MII PHY.

  * "d21xi [d21xinit] could not initialize driver, can't read MII PHY register
    This message will be printed when the driver try to read one of the MII PHY
    regiters without a success.





10. Hotline and Support Information - Important Notice

As of May 17, 1998, Digital Equipment Corporation's StrongARM, 
PCI Bridge, and Networking component businesses, along with the chip 
fabrication facility in Hudson, Massachusetts, were acquired by 
Intel Corporation and transferred to Intel Massachusetts, Inc. 
As a result of this transaction, certain references to web sites, 
telephone numbers, and fax numbers have changed in the documentation. 
This information will be updated in the next version of this manual. 
Copies of documents that have an ordering number and are referenced 
in this document, or other Intel literature may be obtained by calling 
1-800-332-2717 or by visiting Intel's website for developers at:
http://developer.intel.com

The Intel Massachusetts Customer Technology Center continues to 
service Network Product technical inquiries. Please use the 
following information lines for support:   

For documentation and general information:
Intel Massachusetts Information Line
United States: 1-800-332-2717
Outside United States: +1-303-675-2148
Electronic mail address: techdoc@intel.com

For technical support:
Intel Massachusetts Customer Technology Center
Phone (U.S. and international): 1-978-568-7474
Fax: 1-978-568-6698
Electronic mail address: techsup@intel.com


Upgrading Drivers 
See the components page available on the Intel World Wide Web 
Internet site at:
http://developer.intel.com/design/network/new21/download/dsc-software-nc.htm   
Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 1.28