dnet - Ethernet driver for DEC 21040, 21041, 21140 Ethernet cards




The dnet Ethernet driver is a multithreaded, loadable, clonable, STREAMS
GLD driver. Multiple controllers installed within the system are
supported by the driver. The dnet driver functions include controller
initialization, frame transmit and receive, functional addresses,
promiscuous and multicast support, and error recovery and reporting.


The cloning character-special device, /dev/dnet, is used to access all
DEC 21040/21041/21140 devices installed in the system.

The dnet driver is dependent on /kernel/misc/gld, a loadable kernel
module that provides the dnet driver with the DLPI and STREAMS
functionality required of a LAN driver. See gld(4D) for more details on
the primitives supported by the driver.

The device is initialized on the first attach and de-initialized
(stopped) on the last detach.

The values returned by the driver in the DL_INFO_ACK primitive in
response to a DL_INFO_REQ from the user are as follows:

o The maximum SDU is 1500 (ETHERMTU - defined in

o The minimum SDU is 0.

o The DLSAP address length is 8.

o The MAC type is DL_ETHER.

o The sap length value is -2, meaning the physical address
component is followed immediately by a 2-byte sap component
within the DLSAP address.

o The broadcast address value is the Ethernet/IEEE broadcast
address (FF:FF:FF:FF:FF:FF).

Once in the DL_ATTACHED state, the user must send a DL_BIND_REQ to
associate a particular Service Access Point (SAP) with the stream.


The PCI configuration process varies from system to system. Follow the
instructions provided by the vendor.

Known Problems and Limitations

o On multiport cards (exception: Osicom (Rockwell) RNS2340), the
first port is the top port. (On the Osicom RNS2340, the first
port is the bottom port.)

o If the dnet driver fails to determine the correct speed and
duplex mode resulting in a corresponding drop in performance,
set the speed and duplex mode using the dnet.conf file.

o The dnet driver incorrectly counts carrier lost or no carrier
errors while in full-duplex mode. There is no carrier signal
present when in full-duplex mode and it should not be counted
as an error.

o Version 4 SROM formats are not supported.


The /kernel/drv/dnet.conf file supports the following options:

For full duplex operation use full-duplex=1, for half
duplex use full-duplex=0. Half-duplex operation gives
better results on older 10mbit networks.

For 10mbit operation use speed=10, for 100mbit operation
use speed=100. Certain 21140 based cards will operate at
either speed. Use the speed property to override the
100mbit default in this case.


character special device

dnet configuration file


See attributes(7) for descriptions of the following attributes:

|Architecture | x86 |


attributes(7), dlpi(4P), gld(4D) streamio(4I)

Writing Device Drivers

STREAMS Programming Guide

October 20, 2000 DNET(4D)