xref: /freebsd/share/man/man4/fxp.4 (revision 0a36787e4c1fa0cf77dcf83be0867178476e372b)
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 November 26, 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
140Many on-board network interfaces on Intel motherboards
141.El
142.Sh LOADER TUNABLES
143Tunables can be set at the
144.Xr loader 8
145prompt before booting the kernel or stored in
146.Xr loader.conf 5 .
147The following variables are available as both
148.Xr loader 8
149tunables and
150.Xr sysctl 8
151variables:
152.Bl -tag -width "xxxxxx"
153.It Va dev.fxp.%d.int_delay
154Maximum amount of time, in microseconds, that an interrupt may
155be delayed in an attempt to coalesce interrupts.
156This is only effective if the Intel microcode is loaded.
157The accepted range is 300 to 3000, the default is 1000.
158.It Va dev.fxp.%d.bundle_max
159Number of packets that will be bundled, before an interrupt is
160generated.
161This is only effective if the Intel microcode is loaded.
162The accepted range is 1 to 65535, the default is 6.
163.El
164.Sh SYSCTL VARIABLES
165The following variables are available as
166.Xr sysctl 8
167variables.
168.Bl -tag -width "xxxxxx"
169.It Va dev.fxp.%d.rnr
170This is a read-only variable and shows the number of events of
171RNR (resource not ready).
172.It Va dev.fxp.%d.stats
173This is a read-only variable and displays useful MAC counters
174maintained in the driver.
175.El
176.Sh DIAGNOSTICS
177.Bl -diag
178.It "fxp%d: couldn't map memory"
179A fatal initialization error has occurred.
180.It "fxp%d: couldn't map interrupt"
181A fatal initialization error has occurred.
182.It "fxp%d: Failed to malloc memory"
183There are not enough mbuf's available for allocation.
184.It "fxp%d: device timeout"
185The device has stopped responding to the network, or there is a problem with
186the network connection (cable).
187.It "fxp%d: Microcode loaded, int_delay: %d usec  bundle_max: %d"
188The chip has successfully downloaded the microcode, and changed the
189parameterized values to the given settings.
190.El
191.Sh SEE ALSO
192.Xr altq 4 ,
193.Xr arp 4 ,
194.Xr miibus 4 ,
195.Xr netintro 4 ,
196.Xr ng_ether 4 ,
197.Xr polling 4 ,
198.Xr vlan 4 ,
199.Xr ifconfig 8
200.Sh HISTORY
201The
202.Nm
203device driver first appeared in
204.Fx 2.1 .
205.Sh AUTHORS
206.An -nosplit
207The
208.Nm
209device driver was written by
210.An David Greenman .
211It has then been updated to use the busdma API and made endian-clean by
212.An Maxime Henrion .
213This manual page was written by
214.An David E. O'Brien .
215