FXP(4) Kernel Interfaces Manual FXP(4)
fxp -- Intel i8255x 10/100 Ethernet device driver
fxp* at cardbus? function ?
fxp* at pci? dev ? function ?
The fxp device driver supports Ethernet interfaces based on the Intel
i82557, i82558, i82559, and i82550 10/100 PCI Ethernet chips.
Certain versions of the i8255x support loading microcode which implements
a receive interrupt mitigation function, known as ``CPUSaver''. Use of
this option can improve performance in some situations by reducing
interrupt load on the host. This option is available on the following
o i82558 step A4 (rev 4)
o i82558 step B0 (rev 5)
o i82559 step A0 (rev 8)
o i82559S step A (rev 9)
o i82550 (rev 12)
o i82550 step C (rev 13)
This option is enabled by setting the ``link0'' option with ifconfig(8).
Some chipset revisions can suffer from a receiver-side lockup bug which
can be mitigated by resetting the chip every sixteen seconds without
traffic. Since the probe for affected chipsets generates false positives
and the workaround can cause momentary loss of responsiveness,
particularly noticeable when playing audio, the workaround is not enabled
by default. The boot messages will indicate if any interface may have
this issue. The workaround is enabled by setting the ``link1'' option
Cards supported by the fxp driver include:
o Intel EtherExpress Pro 10+
o Intel EtherExpress Pro 100B
o Intel EtherExpress Pro 100+
o Intel InBusiness 10/100
o Intel PRO/100 S
Media selection is supported via MII. See ifmedia(4) and mii(4) for more
EtherExpress Pro 10+ boards may use a Seeq 80c24 AutoDUPLEX(tm) media
interface. Boards with these chips do not support media selection, as
the 80c24 has no programming interface, and no way to read link status.
These boards claim a media of "manual" since they self-configure based on
the configuration of the link partner (hub or switch).
fxp0: WARNING: SCB timed out! The driver timed out waiting for the
chip's command interface to become ready.
fxp0: too many segments, aborting The driver encountered a packet that
included too many DMA segments, and was not able to allocate a new buffer
to transmit the packet from. The packet has been dropped.
fxp0: too many segments, retrying The driver encountered a packet that
included too many DMA segments, and allocated a new buffer to transmit
the packet from.
fxp0: can't load mbuf chain, error = %d The driver was unable to load a
transmit DMA map, and has reported the errno value.
fxp0: device timeout The device failed to generate a transmit complete
interrupt for the last packet transmitted. The device has been reset.
fxp0: can't load rx buffer, error = %d The driver was unable to load the
DMA map for a receive buffer, and has reported the errno value. This
error is currently fatal, and will panic the system.
fxp0: fxp_mdi_read: timed out The MDIO failed to become ready during an
MII read operation.
fxp0: fxp_mdi_write: timed out The MDIO failed to become ready during an
MII write operation.
fxp0: May need receiver lock-up workaround The interface may need to be
periodically reset to workaround a receiver lock-up bug.
cardbus(4), ifmedia(4), intro(4), mii(4), pci(4), ifconfig(8)
NetBSD 6.1.5 October 15, 2005 NetBSD 6.1.5