pcn - AMD PCnet Ethernet controller device driver
The pcn Ethernet driver is a multi-threaded, loadable, clonable driver for the AMD PCnet family of Ethernet controllers that use the Generic LAN Driver (GLD) facility to implement the required STREAMS and Data Link Provider (see dlpi(7P)) interfaces.
This driver supports a number of integrated motherboards and add-in adapters based on the AMD PCnet-ISA, PCnet-PCI, and PCnet-32 controller chips. The pcn 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/pcn, is used to access all PCnet devices installed in the system.
The pcn driver uses the Solaris GLD module which handles all the STREAMS and DLPI specific functions of the driver. It is a style 2 DLPI driver and therefore supports only the connectionless mode of data transfer. Thus, a DLPI user should issue a DL_ATTACH_REQ primitive to select the device to be used. Valid DLPI primitives are defined in <sys/dlpi.h>. Refer to dlpi(7P) for more information.
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:
Maximum SDU is 1500 (ETHERMTU - defined in <sys/ethernet.h>).
Minimum SDU is 0.
DLSAP address length is 8.
MAC type is DL_ETHER.
sap length value is −2, meaning the physical address component is followed immediately by a 2-byte sap component within the DLSAP address.
Service mode is DL_CLDLS.
No optional quality of service (QOS) support is included at present, accordingly, the QOS fields are 0.
Provider style is DL_STYLE2.
Version is DL_VERSION_2.
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.
Occasional data corruption has occurred when pcn and pcscsi drivers in HP Vectra XU 5/90 and Compaq Deskpro XL systems are used under high network and SCSI loads. These drivers do not perform well in a production server. A possible workaround is to disable the pcn device with the system BIOS and use a separate add-in network interface.
The Solaris pcn driver does not support IRQ 4.
Character special device
See attributes(5) for descriptions of the following attributes: