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 includes, 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 xl
driver additionally supports Wake
on LAN (WoL). See arp(8) and
ifconfig(8) for more details.
The following media types and options (as given to ifconfig(8)) are supported:
media
autoselect- Enable autoselection of media type and options. Note that this media type is only available with adapters that have external 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
100baseFXmediaopt
full-duplex- For those cards that support it, force full-duplex 100Mbps operation over fiber.
media
100baseFXmediaopt
half-duplex- For those cards that support it, force half-duplex 100Mbps operation over fiber.
media
100baseTXmediaopt
full-duplex- Set 100Mbps (Fast Ethernet) operation and force full-duplex mode.
media
100baseTXmediaopt
half-duplex- Set 100Mbps (Fast Ethernet) operation and force half-duplex mode.
media
10baseTmediaopt
full-duplex- Set 10baseT (UTP) operation and force full-duplex mode.
media
10baseTmediaopt
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 message 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 condition 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 performed to have the device properly configured.
Note that this condition only occurs when warm booting from another operating 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 attempt 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⟩.