The elxl driver currently supports the following network cards: EtherLink XL (3C900-TPO, 3C900-COMBO, 3C900B-TPO, 3C900B-COMBO, and 3C900B-TPC), EtherLink XL 10/100 (3C905-TX Fast, 3C905-T4 Fast, 3C905B-TX Fast, 3C905B-T4 Fast, and 3C905C-TX-M Fast), and EtherLink Server 10/100 (3C980-TX Fast and 3C980C-TXM).
The elxl Ethernet driver is a multi-threaded, loadable, clonable, STREAMS hardware driver supporting the connectionless Data Link Provider Interface, dlpi(7P). Multiple EtherLink XL controllers installed within the system are supported by the driver. The elxl driver provides basic support for the EtherLink hardware. Functions include chip initialization, frame transmit and receive, multicast and promiscuous mode support, and error recovery and reporting.
The cloning, character-special device /dev/elxl is used to access all EtherLink devices installed within the system.
The elxl driver is dependent on /kernel/misc/gld, a loadable kernel module that provides the elxl driver with the DLPI and STREAMS functionality required of a LAN driver. See gld(7D) for more details on the primatives supported by the driver.
The values returned by the driver in the DL_INFO_ACK primitive in response to the DL_INFO_REQ from the user are as follows:
Maximum SDU is 1500 (ETHERMTU).
Minimum SDU is 0. The driver will pad to the mandatory 60-octet minimum packet size.
The dlsap address length is 8.
MAC type is DL_ETHER.
The sap length value is –2, meaning the physical address component is followed immediately by a 2-byte sap component within the DLSAP address.
The broadcast address value is Ethernet/IEEE broadcast address (FF:FF:FF:FF:FF:FF).
3C905B cards in a Compaq ProLiant 6500 can fail to generate interrupts. There is no known workaround for this problem. However, because some slots appear to be more prone to the problem than others, try correcting the problem by moving the card to another PCI slot. If that fails, try rebooting the machine a number of times to free the card from the wedged state.
Early versions of the 3Com 3C905C-TX-M adapter firmware do not support PXE network boot on Solaris systems. If you are using a version earlier than 4.11, upgrade the firmware. The PXE version is indicated by the Managed Boot Agent version number. This number is not normally displayed during boot, but is shown on the PXE configuration screen.
The /kernel/drv/elxl.conf file supports the following tunable properties that you can set in the elxl.conf file:
Minimum number of bytes in transmit FIFO (if lower then the packet size), before NIC starts the frame transfer. The higher the value, the less chance for a transmission underrun error that triggers a transmission retry. Default value is 250, maximum value is 1514.
The number of frames the device may receive from the network without system attention before the device begins dropping the frames. Valid range is 1 to 256. Default is 24.
The number of outgoing frames that the system can queue on the driver queue before blocking a send request. Valid range is 1 to 512. Default is 128.
Minimal number of allocated receive data buffers. Must be equal or greater than effective number of recv-descriptors. Default (max value) is 128.
Maximum number of allocated receive data buffers. Must be equal or greater then min-recv-data-buffers number.
Amount of time in addition to the standard inter-frame time used by IEEE 802.3 deference rule. Expressed in 32 multiples of bit time. Used only in half-duplex context. This small IFS is to make the defer-after-transmit time slightly longer than the defer-after-receive time. This greatly reduces the high collision rate seen with heavy TCP traffic (almost exactly one collision per ACK), giving slightly improved overall throughput in half-duplex mode. Default IFS is 32. This property is ignored in full-duplex mode.
When set, it forces full-duplex mode for NIC capable of working in full-duplex mode. If this property is set, the auto-negotiation feature (if supported) of the network controller is disabled. For full duplex operation use full-duplex=1. For half duplex use full-duplex=0. Half-duplex operation provides better results on older 10-Mbit networks.
Link speed in Mbps. Valid values are 10 and 100. If this property is set, the auto-negotiation feature of the network controller (if supported) is disabled.
See attributes(5) for descriptions of the following attributes: