DEC 10/100Base-T
SCO Unix (LLI)
DC21X4 driver for SCO Unix
V03.32
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, 1995,
1996.
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 LLI driver. This driver is currently supported for the following
devices:
Digital Semiconductor 21140/21140A chipset
3. Preinstallation Hardware and Software Requirements:
A. Hardware Requirements:
An IBM-compatible personal computer with 80386 or
higher microprocessor and PCI bus.
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:
Fully complient Rev. 2.0 or above PCI BIOS supplied
with the PC.
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:
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.
SUL332TD.Z (42578) The compressed image of the distribution
diskette.
The DC21X4 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
6. Installing Software:
To install the SCO Unix LLI Device Driver:
Copying the distribution files
- Copy the file SUL332TD.Z to SUL332T.dd.Z on a
SCO Unix machine.
- Uncompress SUL332T.dd.Z to SUL332T.dd, using:
uncompress SUL332T.dd
- Copy the file to a diskette. To create a 3.5"
floppy in drive 0, use: dd if=SUL332T.dd of=/dev/rfd0135ds18 Mark
the diskette:
- Run custom. From the menu select:
- 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 DC21X4
drivers are called: d21x0, d21x1, d21x2 and d21x3. Remember that
d21x0 must be configured first, before any other driver is configured.
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 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:
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
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.
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"
- "d21xi Could not intialize driver, found
PCMC revision.1 with write-back cache mode"
- "d21xi Could not intialize driver, unsupported
bus"
- "d21xi Could not intialize driver, unsupported
PCI board - DC21040 revision.1"
- "d21xi Could not intialize driver, unsupported
board - DC21140 revision 1.0"
- "d21xi Could not intialize driver, unsupported
Digital Semiconductor"
- "d21xi Could not intialize driver, couldn't
link interrupt handler to interrupt line"
- "d21xi Could not intialize driver, unsupported
interrupt line was set by the PCI BIOS to CFIT"
- "d21xi Could not intialize driver, unsupported
selected serial media"
- "d21xi [d21xinit] Could not initialize
driver, autosense mode conflicts with GPR values in space.c"
- "d21xi Could not intialize driver, unsupported
DC21041 mode"
- "d21xi Could not intialize driver, PCI
board - couldn't read board's address"
- "d21xi Could not intialize driver, PCI
board - wrong checksum of board's address"
- "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"
- "d21xi Could not intialize driver, try
to read beyond the SROM last address"
- "d21xi Could not intialize driver, can't
read/write from/to the SROM"
- "d21xi Could not intialize driver, SROM's
checksum wrong"
- "d21xi Could not intialize driver, didn't
find board's info in the SROM"
- "d21xi Could not intialize driver, read
null address from the SROM"
- "d21xi Could not intialize driver, unsupported
board"
- "d21xi Could not intialize driver, unsupported
SROM version"
- "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"
- "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"
- "d21xi [d21x_close] Problems stopping
adapter"
- "d21xi [d21x_srvr] putbq failed"
- "d21xi Controller has transitioned to
halted state d21xi Halt ID halt_reason"
- "d21xi - wput : unknown stream message
db_type"
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"
- "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"
- "d21xi Could not allocate an error_ack
message block"
- "d21xi [d21x_unbind] Bound protocol x
not found in protocol table"
- "d21xi - Invalid MACIOC_SETMCA message"
- "d21xi - Invalid MACIOC_DELMCA message"
- "d21xi - Invalid MACIOC_CLRMCA message"
- "d21xi - Invalid MACIOC_GETMCA message"
- "d21xi - Invalid MACIOC_GETADDR message"
- "d21xi - Invalid MACIOC_SETADDR message"
- "d21xi - Invalid MACIOC_PROMISC message"
- "d21xi - Couldn't change driver's filter
mode to promiscous"
- "d21xi - Invalid MACIOC_GETRADDR message"
- "d21xi - Invalid MACIOC_GETMCSIZE message"
- "d21xi - Internal Error : Mismatch in
transmit list pointers"
- "d21xi - dl_unitdata_req with bad Ethernet
header size"
- "d21xi - dl_unitdata_req - stream is
not bound"
- "d21xi - dl_unitdata_req - DL unitdata
request is invalid length!"
- "d21xi - wput req : unknown; "
- "d21xi - wput ioctl : default, uknown
ioctl; "
- "d21xi - Internal error in autodetect!"
- "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 Cubix Customer Service for information and technical support:
Voice 1-800-829-0551
Fax 1-702-888-1001
BBS 1-702-888-1003