---
name: "xl"
section: "4"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/xl/4"
---

# xl(4)

3Com EtherLink XL and Fast EtherLink XL 10/100 Ethernet device

## 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.

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)](/arp/8.md) and [ifconfig(8)](/ifconfig/8.md) for more details.

The following media types and options (as given to [ifconfig(8)](/ifconfig/8.md)) 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)](/hostname.if/5.md) file.

- **media** 100baseFX **mediaopt** full-duplex

  For those cards that support it, force full-duplex 100Mbps operation over fiber.

- **media** 100baseFX **mediaopt** half-duplex

  For those cards that support it, force half-duplex 100Mbps operation 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)](/ifconfig/8.md). To view a list of media types and options supported by this card try **ifconfig** **\<device\>** **media**. For example, **ifconfig** **xl0** **media**.

## DIAGNOSTICS

- xl0: couldn't map memory

  A fatal initialization error has occurred.

- xl0: couldn't map interrupt

  A fatal initialization error has occurred.

- xl0: device timeout

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

- xl0: no memory for rx list

  The driver failed to allocate an mbuf for the receiver ring.

- xl0: 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.

- xl0: 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.

- xl0: 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)](/amphy/4.md), [arp(4)](/arp/4.md), [bmtphy(4)](/bmtphy/4.md), [cardbus(4)](/cardbus/4.md), [exphy(4)](/exphy/4.md), [ifmedia(4)](/ifmedia/4.md), [intro(4)](/intro/4.md), [netintro(4)](/netintro/4.md), [nsphy(4)](/nsphy/4.md), [tqphy(4)](/tqphy/4.md), [hostname.if(5)](/hostname.if/5.md), [ifconfig(8)](/ifconfig/8.md)

## 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*⟩.
