+-----------------------------------+ | 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 GEMINI 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 SCO UnixWare 7 (System V Release 5) Build level 15.3 (EAP) or higher 4. Files and Directories: This directories contains the following files: Table 1: The SCO Unix GEMINI driver Directory Files --------------------------------------------------------------------------- TSUG_INS.TXT This File --------------------------------------------------- TSUG_REL.TXT Provides a description of updates to the new driver. --------------------------------------------------- SUG430TD.PKG (13461) Distibution package file. The D21X distribution package contains all the files required for installing the driver using netcfg, in particular: - netcfg related scripts and Drvmap files. - .bcfg - Driver configuration files. - Driver.o, the driver object file - Master file - Node file - System file - Space.c, the parameter file --------------------------------------------------------------------- 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 GEMINI Device Driver: Copying the distribution files ------------------------------ - Create/Choose a temporary directory (e.g. /tmp/install), use: mkdir /tmp/install - Change the current directory to the above directory, use: cd /tmp/install - Copy the file SUG430TD.PKG to this directory. For DOS file, use: doscp SUG430TD.PKG . The number in parentheses near the file's name (above) is the checksum for the file. To verify, use: sum -r SUG430TD.PKG and compare the results. - Remove any previously installed versions using: netcfg pkgrm d21x TO USE THE PACKAGE FILE DIRECTLY: - Install the package using: pkgadd -d /tmp/install/SUG430TD.PKG CONTINUE THE INSTALLATION PROCESS: - Run netconfig. Add the desired chain. The d21x drivers are called: "Intel 2104x based 10 Mbps Ethernet Controller" and "Intel 2114x based 10/100 Mbps Ethernet Controller" During this process a dialog will allow you to modify the advanced option. This option allows the user to override the medium type chosen by the board designer. We advise users not to change the default settings unless really necessary. The same dialog can be reached after the installation is compeleted through the "Modify Hardware Configuration" item in netcfg's "Hardware" menu. 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. - When the chain has been configured, select "Exit" from the netconfig menu. - If you wish to change parameters in the space.c file, edit /etc/conf/pack.d/d21x/space.c and make the required changes. When finished, Relink the kernel manually using: /etc/nd stop /sbin/modadmin -U d21x /etc/conf/bin/idbuild -M d21x /etc/nd start - In some versions of UnixWare 7 you must reboot the machine in order for some of the changes to take effect. In others it is enough to do the following: /etc/nd stop /sbin/modadmin -U d21x /etc/nd start 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_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 */ XXX_0_MAC_ADDR XXX_1_MAC_ADDR XXX_2_MAC_ADDR XXX_3_MAC_ADDR 2. Driver tuning parameters: XXX_RX_BUFS_TO_POST 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, except the MAC address parameter. Space.c is NOT the place to modify the board's slot number line. This must be modified in netcfg, by running the reconfiguration "resmgr" script. The serial mode interface can be changed during netcfg as explained before. 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. 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 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, minor 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 minor 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_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 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 - 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_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 - m_data with bad Ethernet header size" This message will be printed when the driver gets a packet with length > Ethernet packet length. * "d21xi - m_data - driver is not bound" This message will be printed when the driver gets packets to send from an unbound protocol. * "d21xi - uwput req : unknown; " This message will be printed when an unknown uwput request was sent from the upper layer. * "d21xi - uwput 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 * "m_data : buffer reside in more than 2 pages - system error!" This meesage will appear when the driver discover that buffer with size < 4K reside in more that 2 pages. * "d21x_alloc_rx_bufs : (buffer_size % 4) != 0)" This message will be print when the driver discover system error in buffer allocation. * "d21x_mac_hwfail_ind routine Can't allocate message block" This message will be printed when a HW problem was discovered and the driver can't allocate an error message * "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.htmDownload Driver Pack
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.