xref: /freebsd/share/man/man4/fxp.4 (revision 4b9d6057)
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.Dd November 26, 2010
27.Dt FXP 4
28.Os
29.Sh NAME
30.Nm fxp
31.Nd "Intel EtherExpress PRO/100 Ethernet device driver"
32.Sh SYNOPSIS
33To compile this driver into the kernel,
34place the following lines in your
35kernel configuration file:
36.Bd -ragged -offset indent
37.Cd "device miibus"
38.Cd "device fxp"
39.Ed
40.Pp
41Alternatively, to load the driver as a
42module at boot time, place the following line in
43.Xr loader.conf 5 :
44.Bd -literal -offset indent
45if_fxp_load="YES"
46.Ed
47.Sh DESCRIPTION
48The
49.Nm
50driver provides support for Ethernet adapters based on the Intel
51i82557, i82558, i82559, i82550, and i82562 chips.
52The driver supports TCP/UDP/IP checksum offload for both transmit
53and receive on i82550 and i82551.
54On i82559 only TCP/UDP checksum offload for receive is supported.
55TCP segmentation offload (TSO) for IPv4 as well as VLAN hardware
56tag insertion/stripping is supported on i82550 and i82551.
57Wake On Lan (WOL) support is provided on all controllers
58except i82557, i82259ER and early i82558 revisions.
59.Pp
60The
61.Nm
62driver supports the following media types:
63.Bl -tag -width "10baseT/UTP"
64.It Cm autoselect
65Enable autoselection of the media type and options.
66The autoselected mode can be overridden by adding the media options to
67.Xr rc.conf 5 .
68.It Cm 10baseT/UTP
69Set 10Mbps operation.
70.It Cm 100baseTX
71Set 100Mbps (Fast Ethernet) operation.
72.El
73.Pp
74The
75.Nm
76driver supports the following media options:
77.Bl -tag -width "full-duplex"
78.It Cm full-duplex
79Force full duplex operation.
80.It Cm half-duplex
81Force half duplex operation.
82.El
83.Pp
84Note that 100baseTX media type is not available on the Pro/10.
85For further information on configuring this device, see
86.Xr ifconfig 8 .
87.Pp
88The
89.Nm
90driver supports reception and transmission of extended frames
91for
92.Xr vlan 4 .
93This capability of
94.Nm
95can be controlled by means of the
96.Cm vlanmtu
97parameter
98to
99.Xr ifconfig 8 .
100.Pp
101The
102.Nm
103driver also supports a special link option:
104.Bl -tag -width link0
105.It Cm link0
106Some chip revisions have loadable microcode which can be used to reduce the
107interrupt load on the host cpu.
108Not all boards have microcode support.
109Setting the
110.Cm link0
111flag with
112.Xr ifconfig 8
113will download the microcode to the chip if it is available.
114.El
115.Sh HARDWARE
116Adapters supported by the
117.Nm
118driver include:
119.Pp
120.Bl -bullet -compact
121.It
122Intel EtherExpress PRO/10
123.It
124Intel InBusiness 10/100
125.It
126Intel PRO/100B / EtherExpressPRO/100 B PCI Adapter
127.It
128Intel PRO/100+ Management Adapter
129.It
130Intel PRO/100 VE Desktop Adapter
131.It
132Intel PRO/100 VM Network Connection
133.It
134Intel PRO/100 M Desktop Adapter
135.It
136Intel PRO/100 S Desktop, Server and Dual-Port Server Adapters
137.It
138Many on-board network interfaces on Intel motherboards
139.El
140.Sh LOADER TUNABLES
141Tunables can be set at the
142.Xr loader 8
143prompt before booting the kernel or stored in
144.Xr loader.conf 5 .
145The following variables are available as both
146.Xr loader 8
147tunables and
148.Xr sysctl 8
149variables:
150.Bl -tag -width "xxxxxx"
151.It Va dev.fxp.%d.int_delay
152Maximum amount of time, in microseconds, that an interrupt may
153be delayed in an attempt to coalesce interrupts.
154This is only effective if the Intel microcode is loaded.
155The accepted range is 300 to 3000, the default is 1000.
156.It Va dev.fxp.%d.bundle_max
157Number of packets that will be bundled, before an interrupt is
158generated.
159This is only effective if the Intel microcode is loaded.
160The accepted range is 1 to 65535, the default is 6.
161.El
162.Sh SYSCTL VARIABLES
163The following variables are available as
164.Xr sysctl 8
165variables.
166.Bl -tag -width "xxxxxx"
167.It Va dev.fxp.%d.rnr
168This is a read-only variable and shows the number of events of
169RNR (resource not ready).
170.It Va dev.fxp.%d.stats
171This is a read-only variable and displays useful MAC counters
172maintained in the driver.
173.El
174.Sh DIAGNOSTICS
175.Bl -diag
176.It "fxp%d: couldn't map memory"
177A fatal initialization error has occurred.
178.It "fxp%d: couldn't map interrupt"
179A fatal initialization error has occurred.
180.It "fxp%d: Failed to malloc memory"
181There are not enough mbuf's available for allocation.
182.It "fxp%d: device timeout"
183The device has stopped responding to the network, or there is a problem with
184the network connection (cable).
185.It "fxp%d: Microcode loaded, int_delay: %d usec  bundle_max: %d"
186The chip has successfully downloaded the microcode, and changed the
187parameterized values to the given settings.
188.El
189.Sh SEE ALSO
190.Xr altq 4 ,
191.Xr arp 4 ,
192.Xr miibus 4 ,
193.Xr netintro 4 ,
194.Xr ng_ether 4 ,
195.Xr polling 4 ,
196.Xr vlan 4 ,
197.Xr ifconfig 8
198.Sh HISTORY
199The
200.Nm
201device driver first appeared in
202.Fx 2.1 .
203.Sh AUTHORS
204.An -nosplit
205The
206.Nm
207device driver was written by
208.An David Greenman .
209It has then been updated to use the busdma API and made endian-clean by
210.An Maxime Henrion .
211This manual page was written by
212.An David E. O'Brien .
213