xref: /freebsd/share/man/man4/fxp.4 (revision 1670a1c2a47d10ecccd001970b859caf93cd3b6e)
1.\"
2.\" Copyright (c) 1997 David E. O'Brien
3.\"
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer.
11.\" 2. Redistributions in binary form must reproduce the above copyright
12.\"    notice, this list of conditions and the following disclaimer in the
13.\"    documentation and/or other materials provided with the distribution.
14.\"
15.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
16.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
19.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25.\"
26.\" $FreeBSD$
27.\"
28.Dd May 12, 2010
29.Dt FXP 4
30.Os
31.Sh NAME
32.Nm fxp
33.Nd "Intel EtherExpress PRO/100 Ethernet device driver"
34.Sh SYNOPSIS
35To compile this driver into the kernel,
36place the following lines in your
37kernel configuration file:
38.Bd -ragged -offset indent
39.Cd "device miibus"
40.Cd "device fxp"
41.Ed
42.Pp
43Alternatively, to load the driver as a
44module at boot time, place the following line in
45.Xr loader.conf 5 :
46.Bd -literal -offset indent
47if_fxp_load="YES"
48.Ed
49.Sh DESCRIPTION
50The
51.Nm
52driver provides support for Ethernet adapters based on the Intel
53i82557, i82558, i82559, i82550, and i82562 chips.
54The driver supports TCP/UDP/IP checksum offload for both transmit
55and receive on i82550 and i82551.
56On i82559 only TCP/UDP checksum offload for receive is supported.
57TCP segmentation offload (TSO) for IPv4 as well as VLAN hardware
58tag insertion/stripping is supported on i82550 and i82551.
59Wake On Lan (WOL) support is provided on all controllers
60except i82557, i82259ER and early i82558 revisions.
61.Pp
62The
63.Nm
64driver supports the following media types:
65.Bl -tag -width "10baseT/UTP"
66.It Cm autoselect
67Enable autoselection of the media type and options.
68The autoselected mode can be overridden by adding the media options to
69.Xr rc.conf 5 .
70.It Cm 10baseT/UTP
71Set 10Mbps operation.
72.It Cm 100baseTX
73Set 100Mbps (Fast Ethernet) operation.
74.El
75.Pp
76The
77.Nm
78driver supports the following media options:
79.Bl -tag -width "full-duplex"
80.It Cm full-duplex
81Force full duplex operation.
82.It Cm half-duplex
83Force half duplex operation.
84.El
85.Pp
86Note that 100baseTX media type is not available on the Pro/10.
87For further information on configuring this device, see
88.Xr ifconfig 8 .
89.Pp
90The
91.Nm
92driver supports reception and transmission of extended frames
93for
94.Xr vlan 4 .
95This capability of
96.Nm
97can be controlled by means of the
98.Cm vlanmtu
99parameter
100to
101.Xr ifconfig 8 .
102.Pp
103The
104.Nm
105driver also supports a special link option:
106.Bl -tag -width link0
107.It Cm link0
108Some chip revisions have loadable microcode which can be used to reduce the
109interrupt load on the host cpu.
110Not all boards have microcode support.
111Setting the
112.Cm link0
113flag with
114.Xr ifconfig 8
115will download the microcode to the chip if it is available.
116.El
117.Sh HARDWARE
118Adapters supported by the
119.Nm
120driver include:
121.Pp
122.Bl -bullet -compact
123.It
124Intel EtherExpress PRO/10
125.It
126Intel InBusiness 10/100
127.It
128Intel PRO/100B / EtherExpressPRO/100 B PCI Adapter
129.It
130Intel PRO/100+ Management Adapter
131.It
132Intel PRO/100 VE Desktop Adapter
133.It
134Intel PRO/100 VM Network Connection
135.It
136Intel PRO/100 M Desktop Adapter
137.It
138Intel PRO/100 S Desktop, Server and Dual-Port Server Adapters
139.It
140Contec C-NET(PI)-100TX (PC-98)
141.It
142NEC PC-9821Ra20, Rv20, Xv13, Xv20 internal 100Base-TX (PC-98)
143.It
144NEC PC-9821X-B06 (PC-98)
145.It
146Many on-board network interfaces on Intel motherboards
147.El
148.Sh LOADER TUNABLES
149Tunables can be set at the
150.Xr loader 8
151prompt before booting the kernel or stored in
152.Xr loader.conf 5 .
153The following variables are available as both
154.Xr loader 8
155tunables and
156.Xr sysctl 8
157variables:
158.Bl -tag -width "xxxxxx"
159.It Va dev.fxp.%d.int_delay
160Maximum amount of time, in microseconds, that an interrupt may
161be delayed in an attempt to coalesce interrupts.
162This is only effective if the Intel microcode is loaded.
163The accepted range is 300 to 3000, the default is 1000.
164.It Va dev.fxp.%d.bundle_max
165Number of packets that will be bundled, before an interrupt is
166generated.
167This is only effective if the Intel microcode is loaded.
168The accepted range is 1 to 65535, the default is 6.
169.It Va dev.fxp.%d.noflow
170Controls whether flow control should be used or not.
171The default is 1 (no flow control).
172.El
173.Sh SYSCTL VARIABLES
174The following variables are available as
175.Xr sysctl 8
176variables.
177.Bl -tag -width "xxxxxx"
178.It Va dev.fxp.%d.rnr
179This is a read-only variable and shows the number of events of
180RNR (resource not ready).
181.It Va dev.fxp.%d.stats
182This is a read-only variable and displays useful MAC counters
183maintained in the driver.
184.El
185.Sh DIAGNOSTICS
186.Bl -diag
187.It "fxp%d: couldn't map memory"
188A fatal initialization error has occurred.
189.It "fxp%d: couldn't map interrupt"
190A fatal initialization error has occurred.
191.It "fxp%d: Failed to malloc memory"
192There are not enough mbuf's available for allocation.
193.It "fxp%d: device timeout"
194The device has stopped responding to the network, or there is a problem with
195the network connection (cable).
196.It "fxp%d: Microcode loaded, int_delay: %d usec  bundle_max: %d"
197The chip has successfully downloaded the microcode, and changed the
198parameterized values to the given settings.
199.El
200.Sh SEE ALSO
201.Xr altq 4 ,
202.Xr arp 4 ,
203.Xr miibus 4 ,
204.Xr netintro 4 ,
205.Xr ng_ether 4 ,
206.Xr polling 4 ,
207.Xr vlan 4 ,
208.Xr ifconfig 8
209.Sh HISTORY
210The
211.Nm
212device driver first appeared in
213.Fx 2.1 .
214.Sh AUTHORS
215.An -nosplit
216The
217.Nm
218device driver was written by
219.An David Greenman .
220It has then been updated to use the busdma API and made endian-clean by
221.An Maxime Henrion .
222This manual page was written by
223.An David E. O'Brien .
224