xref: /netbsd-src/share/man/man4/fxp.4 (revision 11a6dbe72840351315e0652b2fc6663628c84cad)
1.\"	$NetBSD: fxp.4,v 1.16 2008/04/30 13:10:54 martin Exp $
2.\"
3.\" Copyright (c) 1998, 2002 The NetBSD Foundation, Inc.
4.\" All rights reserved.
5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
8.\" NASA Ames Research Center.
9.\"
10.\" Redistribution and use in source and binary forms, with or without
11.\" modification, are permitted provided that the following conditions
12.\" are met:
13.\" 1. Redistributions of source code must retain the above copyright
14.\"    notice, this list of conditions and the following disclaimer.
15.\" 2. Redistributions in binary form must reproduce the above copyright
16.\"    notice, this list of conditions and the following disclaimer in the
17.\"    documentation and/or other materials provided with the distribution.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29.\" POSSIBILITY OF SUCH DAMAGE.
30.\"
31.Dd October 15, 2005
32.Dt FXP 4
33.Os
34.Sh NAME
35.Nm fxp
36.Nd Intel i8255x 10/100 Ethernet device driver
37.Sh SYNOPSIS
38.Cd "fxp* at cardbus? function ?"
39.Cd "fxp* at pci? dev ? function ?"
40.Sh DESCRIPTION
41The
42.Nm
43device driver supports Ethernet interfaces based on the Intel i82557,
44i82558, i82559, and i82550 10/100 PCI Ethernet chips.
45.Pp
46Certain versions of the i8255x support loading microcode which implements
47a receive interrupt mitigation function, known as
48.Dq CPUSaver .
49Use of this option can improve performance in some situations by reducing
50interrupt load on the host.
51This option is available on the following chip versions:
52.Pp
53.Bl -bullet -compact
54.It
55i82558 step A4 (rev 4)
56.It
57i82558 step B0 (rev 5)
58.It
59i82559 step A0 (rev 8)
60.It
61i82559S step A (rev 9)
62.It
63i82550 (rev 12)
64.It
65i82550 step C (rev 13)
66.El
67.Pp
68This option is enabled by setting the
69.Dq link0
70option with
71.Xr ifconfig 8 .
72.Pp
73Some chipset revisions can suffer from a receiver-side lockup bug which
74can be mitigated by resetting the chip every sixteen seconds without
75traffic.
76Since the probe for affected chipsets generates false positives
77and the workaround can cause momentary loss of responsiveness, particularly
78noticeable when playing audio, the workaround is not enabled by default.
79The boot messages will indicate if any interface may have this issue.
80The workaround is enabled by setting the
81.Dq link1
82option with
83.Xr ifconfig 8 .
84.Sh HARDWARE
85Cards supported by the
86.Nm
87driver include:
88.Pp
89.Bl -bullet -compact
90.It
91Intel EtherExpress Pro 10+
92.It
93Intel EtherExpress Pro 100B
94.It
95Intel EtherExpress Pro 100+
96.It
97Intel InBusiness 10/100
98.It
99Intel PRO/100 S
100.El
101.Sh MEDIA SELECTION
102Media selection is supported via MII.
103See
104.Xr ifmedia 4
105and
106.Xr mii 4
107for more information.
108.Pp
109EtherExpress Pro 10+ boards may use a Seeq 80c24 AutoDUPLEX(tm)
110media interface.
111Boards with these chips do not support media
112selection, as the 80c24 has no programming interface, and no
113way to read link status.
114These boards claim a media of "manual"
115since they self-configure based on the configuration of the link
116partner (hub or switch).
117.Sh DIAGNOSTICS
118.Bl -diag
119.It "fxp0: WARNING: SCB timed out!"
120The driver timed out waiting for the chip's command interface to
121become ready.
122.It "fxp0: too many segments, aborting"
123The driver encountered a packet that included too many DMA segments,
124and was not able to allocate a new buffer to transmit the packet from.
125The packet has been dropped.
126.It "fxp0: too many segments, retrying"
127The driver encountered a packet that included too many DMA segments,
128and allocated a new buffer to transmit the packet from.
129.It "fxp0: can't load mbuf chain, error = %d"
130The driver was unable to load a transmit DMA map, and has reported the
131errno value.
132.It "fxp0: device timeout"
133The device failed to generate a transmit complete interrupt for the
134last packet transmitted.
135The device has been reset.
136.It "fxp0: can't load rx buffer, error = %d"
137The driver was unable to load the DMA map for a receive buffer, and
138has reported the errno value.
139This error is currently fatal, and will
140panic the system.
141.It "fxp0: fxp_mdi_read: timed out"
142The MDIO failed to become ready during an MII read operation.
143.It "fxp0: fxp_mdi_write: timed out"
144The MDIO failed to become ready during an MII write operation.
145.It "fxp0: May need receiver lock-up workaround"
146The interface may need to be periodically reset to workaround a receiver
147lock-up bug.
148.El
149.Sh SEE ALSO
150.Xr cardbus 4 ,
151.Xr ifmedia 4 ,
152.Xr intro 4 ,
153.Xr mii 4 ,
154.Xr pci 4 ,
155.Xr ifconfig 8
156