Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ wd(7) — Interactive 3.2r4.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ip(7)

llc(7)

wd(7)  —  

NAME

wd − Western Digital 8003 PC adapter board

DESCRIPTION

The wd driver provides STREAMS access to the Western Digital 8003 family of Local Area Network adapters.  The board provides a pool of buffers for buffers received from the network and provides for all the management of the on-board buffers. 

The driver provides for IEEE 802.2 LLC Class 1 and Ethernet encapsulation of data.  All communication with the driver is done via STREAMS messages in the Link Interface format specified in the file /usr/include/sys/lihdr.h. 

The LLC1 protocol supports receipt of and response to XID and TEST but currently does not generate them.  This may change with a later release of the driver.  Group Service Access Points (SAPs) are not currently supported, although the broadcast SAP is. 

A user may bind to any non-group SAP address that is not already bound to another STREAM.  Attempts to bind to a non-legal SAP address are rejected. 

If the SAP value to be bound is a value larger than 255 (0xFF), then the type of encapsulation is taken to be the older Ethernet style rather than IEEE 802.2.  Rather than a SAP value, the value passed will be used as the Ethernet type field for the STREAM.  If the SAP value is −3, then the Novell form of 802.3 encapsulation is used.  This mode is provided to support Ported NetWare, but its use is discouraged since it violates the 802.3 standard usage. 

By supporting both link level types, the driver is capable of supporting a wide variety of protocols. 

For DL_ETHER-style networks, the SAP value is the Ethernet type value desired.  For DL_CSMACD-style networks, the SAP value is the IEEE 802.2 LSAP value desired as the source LSAP.  Destination LSAPs are specified in the address used with the DL_UNITDATA_REQ primitive.  The SubNetwork Access Point (SNAP) is understood and uses the values of the two GROWTH_field locations of DL_bind_req as the “organization” and “organization-specific” fields, respectively.  GROWTH_field[0] is treated as a three-octet string containing the organization identifier in network order, and GROWTH_field[1] is the two-octet organization-specific identifier in local system byte ordering.  For 802.3 hardware, a third type of use is possible.  By specifying an LSAP of −3, the Novell form of 802.3 usage is enabled.  Use of this mode is discouraged since it violates the 802.3 standard usage. 

A number of ioctl operations are supported.  Some of the operations may be specific to the Western Digital ViaNet product. 

DLGADDR Get the MAC address of the interface. 

DLSADDR Set a new MAC address to be used by the interface. 

DLGBROAD Get the MAC broadcast address. 

DLGSTAT Get the current board statistics counters. 

DLPROM Enable promiscuous mode. 

DLSMULT Define a multicast address and enable reception of the multicast address in the hardware.  The argument is the six-octet value of the multicast address to set. 

DLDMULT Delete a multicast address from the multicast table.  The argument is the six-octet multicast address to delete from the table. 

DLGMULT Get the multicast table.  With no buffer provided, it returns the number of entries in the multicast table.  If a buffer argument is provided, the buffer will be filled with as many of the multicast table entries as will fit in the space provided. 

Configuration

The space.c file provides a mechanism for specifying the WD8003 operating parameters to the driver.  If a different shared memory address or I/O port address are necessary, the space.c file should be updated accordingly. 

Western Digital WD8013 Adapter Board

When using a WD8013 board in a 16-bit slot, the driver will program the board into 16-bit access mode.  The ISA bus specification requires that the bus be put into 16-bit mode for this type of operation.  This causes the 128K region in which the WD8013’s shared memory region resides to be usable only by 16-bit boards during this time.  In order to coexist with 8-bit type boards (such as VGA) which may overlap this region, the wd driver only enters 16-bit mode during data transfer and leaves this mode when data transfer is complete.  Interrupts are disabled during this time to prevent an 8-bit device from interrupting the data transfer while 16-bit mode is enabled.  If it is known that the WD8013 has no conflicts with 8-bit boards in the system, it is possible to configure the driver to not disable interrupts during the data copy.  This may be accomplished by setting the wd_bflags field of the wdparams structure in the wd0/space.c file to WDF_NODISABLE.  The wd_bflags field is the structure member following the number of units field. 

The WD8013 board may have its shared memory region at a location above 1 MB.  This can eliminate the possible conflict with an 8-bit board. 

WARNINGS

Future releases of this software will conform to USL’s link level specification.  Consequently, some of the interfaces may change. 

SEE ALSO

ip(7), llc(7).  ANSI/IEEE Standard 802.2 − Logical Link Control. 

\*U  —  Version 1.0

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026