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