+-----------------------------------+
| D21X driver for SCO Unix |
| V04.22 |
+-----------------------------------+
1. Copyright Notice:
Digital Equipment Corporation makes no representations that
the use of its products in the manner described in this
publication will not infringe on existing or future patent
rights, nor do the descriptions contained in this
publication imply the granting of licenses to make, use, or
sell equipment or software in accordance with the
description.
Copyright Digital Equipment Corporation 1994-1998.
All rights reserved.
Do not redistribute the driver files.
Copyright SCO Unix, Inc. 1994.
SCO Unix is a registered trademark of SCO Inc.
Digital Semiconductor, DEC, DECnet, Digital, PATHWORKS,
ThinWire, and the DIGITAL logo, are trademarks of Digital
Equipment Corporation.
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 MDI
driver. This driver is currently supported for the following
devices:
Digital Semiconductor 21040
Digital Semiconductor 21040 PCI Evaluation Board (EB40)
Digital Semiconductor 21140
Digital Semiconductor 21140 PCI evaluation board (EB140)
Digital Semiconductor 21140A
Digital Semiconductor 21140A PCI evaluation board (EB140A-TX)
Digital Semiconductor 21041
Digital Semiconductor 21041 PCI Evaluation Board (EB41)
Digital Semiconductor 21142
Digital Semiconductor 21142 PCI evaluation board (EB142/EB142-TX)
Digital Semiconductor 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 Digital Semiconductor 21040 or Digital Semiconductor 21140
or Digital Semiconductor 21041 or Digital Semiconductor 21140A or
Digital Semiconductor 21142 or Digital Semiconductor 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 Digital Semiconductor 21050
(PCI-PCI bridge) or any other PCI-PCI bridge, the PCI BIOS
should support PCI-PCI bridge architecture.
C. Software Revision Requirements:
o OpenServer or higher version, or
SCO Unix 3.2.4 or higher version
o SCO AHS
4. Files and Directories:
This directories contains the following files:
Table 1: The SCO Unix MDI driver Directory Files
---------------------------------------------------------------------------
TSUM_INS.TXT This File
---------------------------------------------------
TSUM_REL.TXT Provides a description of updates to the new driver.
---------------------------------------------------
SUM422TD (10763) The volume image of the distribution package.
The D21X distribution diskette contains all the
files required for installing the driver using
custom and netconfig, in particular:
- custom related scripts.
- netconfig related scripts and AOF files.
- Driver.o, the driver
- Space.c, the parameter file
- space.h - header file, not intended to be
modified
---------------------------------------------------------------------
5. Installing the Hardware Boards:
Installing the Digital Semiconductor 21040/21140/21140A/21041/21142
PCI Evaluation Board
To install the EB40 or EB140 or EB41 or EB140A-TX or EB142 see the Digital
Semiconductor 21040 PCI Evaluation Board User's Guide or the Digital
Semiconductor 21140 PCI Evaluation Board User's Guide or the Digital
Semiconductor 21041 PCI Evaluation Board User's Guide or the Digital
Semiconductor 21140A PCI Evaluation Board User's Guide or the Digital
Semiconductor 21142 PCI Evaluation Board User's Guide or the Digital
Semiconductor 21143 PCI Evaluation Board User's Guide.
6. Installing Software:
To install the SCO Unix MDI Device Driver:
Copying the distribution files
------------------------------
- Copy the file SUM422TD to 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 SUM422TD
and compare the results.
TO INSTALL USING A FLOPPY DISKETTE:
- Copy the file to a 3.5" floppy in drive 0, use:
dd if=SUM422TD of=/dev/rfd0135ds18
Mark the diskette:
Digital Semiconductor 2104x/2114x 10/100 mbps Ethernet Controller MDI
driver
Rel.04.22
- Run custom. From the menu 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.
TO INSTALL DIRECTLY FROM A VOLUME IMAGE FILE:
- Rename it to VOL.000.000 using:
mv SUM422TD VOL.000.000
- Run custom. From the menu select:
Software -> Install New -> From Host -> Volume Image -> Full
And give the path for the volume image file.
CONTINUE THE INSTALLATION PROCESS:
- Run netconfig. Add the desired chain. The DC21X4 drivers are called:
"Digital Semiconductor 2104x Ethernet Controller" and
"Digital Semiconductor 2114x 10/100 mbps Ethernet Controller"
NOTE: For boards with more than one Digital Semiconductor 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.
- You can change the default value of the media by using the
"Advanced Options..." option in the menu.
- When the chain has been configured, select "Exit" 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/d21x/space.c and make the required changes.
When finished, Relink the kernel manually using:
/etc/conf/cf.d/link_unix
- 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_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 netconfig, by running the reconfiguration
script.
The serial mode interface can be changed during netconfig 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 Digital
Semiconductor 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 Digital Semiconductor
21140 revision 1 on it.
* "d21xi Could not intialize driver, unsupported Digital Semiconductor"
This message will be printed if the board doesn't have one of the following
Digital Semiconductor on it:
-Digital Semiconductor 21040
-Digital Semiconductor 21140
-Digital Semiconductor 21140A
-Digital Semiconductor 21041
-Digital Semiconductor 21142
-Digital Semiconductor 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 Digital Semiconductor 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 Digital Semiconductor 21041 or 21140
or 21140A or DC21142 or DC21143. And in boards with Digital Semiconductor 21040 -
if unsupported serial mode was choose by the user for the serial
interface of Digital Semiconductor 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_PROMISC message"
This message will be printed when the driver gets an invalid MACIOC_PROMISC
message.
* "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:
Call the Digital Semiconductor Information Line for information and technical
support:
United States and Canada 1-800-332-2717
Outside North America +1-508-628-4760
Ordering Digital Semiconductor Products:
To order Digital Semiconductor products, contact your local
Digital Semiconductor sales office. When working with your sales
representative, you may be able to take advantage of discounts
and volume pricing.
To order Digital Semiconductor samples or for a complete list of
products call the Digital Semiconductor Information Line.
You can order the following network products from Digital
Semiconductor:
21040-AA DS 21040 PCI-Ethernet LAN Controller
21041-AA DS 21041 PCI-Ethernet LAN Controller
21140-AB DS 21140 PCI Fast Ethernet LAN COntroller
21140-AC DS 21140A PCI Fast Ethernet LAN COntroller
21142-PA DS 21142 PCI Fast Ethernet LAN COntroller
21142-TA DS 21142 PCI Fast Ethernet LAN COntroller
21050-AA DS 21050 PCI-to-PCI Bridge
21A40-01 DS 21040 PCI Evaluation Board Kit
21A40-02 Quad DS 21040 PCI Evaluation Board Kit
21A40-03 DS 21140 PCI Fast Ethernet Evaluation Board Kit
21A41-01 DS 21041 PCI Evaluation Board Kit
21A50-01 DS 21050 Evaluation Board Kit
Ordering Associated Literature:
Digital Semiconductor documentation and literature is
available with the products. For a complete list and
for information about ordering, contact the Digital
Semiconductor Information Line.
Ordering Third-Party Literature:
You can order the following third-party literature directly
from the vendor:
Title Vendor
-------------------------------------------------------
PCI System Design Guide PCI Special Interest Group
N/S HH3-15A
5200 N.E Elam Young Pkwy
Hillsboro, Oregon 97124-6497
1-503-696-2000
-------------------------------------------------------
Electronic Orders
To place an order through your account at the Electronic Store,
dial 1-800-234-1998, using a modem set to 2400- or 9600-
baud. You must use a VT terminal or terminal emulator set
at 8 bits, no parity. If you need assistance using the
Electronic Store, call 1-800-DIGITAL (1-800-344-4825) and
ask for an Electronic Store specialist.
Telephone and Direct Mail Orders
From Call Write
__________________________________________________________
U.S.A. DECdirect Digital Equipment Corporation
Phone: P.O. Box CS2008
1-800-DIGITAL Nashua, NH 03061
(1-800-344-4825)
FAX: 603-884-5597
Puerto Phone: Digital Equipment Corporation
Rico 809-781-0505 3 Digital Plaza, 1st Street
FAX: 809-749-8377 Suite 200
Metro Office Park
San Juan, Puerto Rico 00920
Canada Phone: Digital Equipment of Canada Ltd.
1-800-267-6215 100 Herzberg Road
FAX: 613-592-1946 Kanata, Ontario, Canada K2K 2A6
Attn: DECdirect Sales
International - Local Digital subsidiary or
approved distributor
Internal DTN 264-3030 U.S. Software Supply Business
orders 603-884-3030 Digital Equipment Corporation
FAX: 603-884-9690 10 Cotton Road
Nashua, NH 03063-1260
Download 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.