XL(4)                     OpenBSD Programmer's Manual                    XL(4)

NAME
     xl - 3Com EtherLink XL and Fast EtherLink XL 10/100 Ethernet device

SYNOPSIS
     xl* at pci?
     xl* at cardbus?
     amphy* at mii?
     bmtphy* at mii?
     exphy* at mii?
     nsphy* at mii?
     tqphy* at mii?

DESCRIPTION
     The xl device driver supports the 3Com EtherLink XL and Fast EtherLink XL
     family of Ethernet cards, and embedded controllers based on the 3Com
     ``boomerang'' and ``cyclone'' bus master EtherLink XL chips.  This in-
     cludes, among others, the following models:

           3C555    EtherLink XL Mini PCI
           3C556    EtherLink XL Mini PCI
           3C556B   EtherLink XL Mini PCI
           3C575    10/100 LAN CardBus PC Card
           3C656    10/100 LAN+Modem CardBus PC Card
           3C900    EtherLink XL PCI
           3C900B   EtherLink XL PCI
           3C905    Fast EtherLink XL PCI
           3C905B   Fast EtherLink XL PCI
           3C905C   Fast EtherLink XL PCI
           3C980    Fast EtherLink Server NIC
           3CSOHO   OfficeConnect Fast Ethernet NIC
           9201     NVIDIA nForce2 integrated 3Com 9201 (nForce2-ST,
                    nForce2-GT)
           920BEMB  3c920B-EMB-WNM Integrated Fast Ethernet.

     It also supports embedded 3C905-TX and 3C905B-TX Ethernet hardware found
     in certain Dell OptiPlex and Dell Precision desktop machines, as well as
     some Dell Latitude laptop docking stations.

     Category 3, 4 or 5 unshielded twisted-pair (UTP) cable should be used for
     RJ-45 (10baseT), thick Ethernet coaxial (RG59 B/U, 50 ohm) for AUI/DIX,
     and thin Ethernet coaxial (RG58 A/U or C/U, 50 ohm +/- 4) for BNC
     (10base2).  Some 3Com NICs also support MII connectors (switchable
     10/100Mbps UTP).  The 3C905B-FX and other similar cards are capable of
     100Mbps over fiber.

     Hardware receive IP/TCP/UDP checksum offload for IPv4 is supported on the
     3C905B.

     The following media types and options (as given to ifconfig(8)) are sup-
     ported:

           media autoselect
                Enable autoselection of media type and options.  Note that
                this media type is only available with adapters that have ex-
                ternal PHYs or built-in autonegotiation logic.  For 3C900 and
                3C900B adapters, the driver will choose the mode specified in
                the EEPROM.  This can be changed by adding media options to
                the appropriate hostname.if(5) file.

           media 100baseFX mediaopt full-duplex
                For those cards that support it, force full-duplex 100Mbps op-
                eration over fiber.

           media 100baseFX mediaopt half-duplex
                For those cards that support it, force half-duplex 100Mbps op-
                eration over fiber.

           media 100baseTX mediaopt full-duplex
                Set 100Mbps (Fast Ethernet) operation and force full-duplex
                mode.

           media 100baseTX mediaopt half-duplex
                Set 100Mbps (Fast Ethernet) operation and force half-duplex
                mode.

           media 10baseT mediaopt full-duplex
                Set 10baseT (UTP) operation and force full-duplex mode.

           media 10baseT mediaopt half-duplex
                Set 10baseT (UTP) operation and force half-duplex mode.

           media 10base5
                Set 10base5 (thick-net) operation (half-duplex only).

           media 10base2
                Set 10base2 (thin-net) operation (half-duplex only).

     For more information on configuring this device, see ifconfig(8).  To
     view a list of media types and options supported by this card try
     ifconfig <device> media.  For example, ifconfig xl0 media.

DIAGNOSTICS
     xl%d: couldn't map memory  A fatal initialization error has occurred.

     xl%d: couldn't map interrupt  A fatal initialization error has occurred.

     xl%d: device timeout  The device has stopped responding to the network,
     or there is a problem with the network connection (cable).

     xl%d: no memory for rx list  The driver failed to allocate an mbuf for
     the receiver ring.

     xl%d: no memory for tx list  The driver failed to allocate an mbuf for
     the transmitter ring when allocating a pad buffer or collapsing an mbuf
     chain into a cluster.

     xl%d: command never completed!  Some commands issued to the 3C90x ASIC
     take time to complete: the driver is supposed to wait until the ``command
     in progress'' bit in the status register clears before continuing.  In
     some instances, this bit may not clear.  To avoid getting caught in an
     infinite wait loop, the driver only polls the bit a finite number of
     times before giving up, at which point it issues this message.  This mes-
     sage may be printed during driver initialization on slower machines.  If
     this message appears but the driver continues to function normally, the
     message can probably be ignored.

     xl%d: chip is in D3 power state -- setting to D0  This message applies
     only to 3C905B adapters, which support power management.  Some operating
     systems place the 3C905B in low power mode when shutting down, and some
     PCI BIOSes fail to bring the chip out of this state before configuring
     it.  The 3C905B loses all of its PCI configuration in the D3 state, so if
     the BIOS does not set it back to full power mode in time, it won't be
     able to configure it correctly.  The driver tries to detect this condi-
     tion and bring the adapter back to the D0 (full power) state, but this
     may not be enough to return the driver to a fully operational condition.
     If this message appears at boot time and the driver fails to attach the
     device as a network interface, a second warm boot will have to be per-
     formed to have the device properly configured.

     Note that this condition only occurs when warm booting from another oper-
     ating system.  If the system is powered down prior to booting OpenBSD,
     the card should be configured correctly.

     xl%d: WARNING: no media options bits set in the media options
     register!  This warning may appear when using the driver on some Dell
     Latitude docking stations with built-in 3C905-TX adapters.  For whatever
     the reason, the ``MII available'' bit in the media options register on
     this particular equipment is not set, even though it should be (the
     3C905-TX always uses an external PHY transceiver).  The driver will at-
     tempt to guess the proper media type based on the PCI device ID word.
     The driver makes a lot of noise about this condition because the author
     considers it a manufacturing defect.

SEE ALSO
     amphy(4), arp(4), bmtphy(4), cardbus(4), exphy(4), ifmedia(4), intro(4),
     netintro(4), nsphy(4), tqphy(4), hostname.if(5), ifconfig(8)

HISTORY
     The xl device driver first appeared in FreeBSD 3.0.  OpenBSD support was
     added in OpenBSD 2.4.

AUTHORS
     The xl driver was written by Bill Paul <wpaul@ctr.columbia.edu>.

OpenBSD 4.7                    September 7, 2008                             3
