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 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.El 170.Sh SYSCTL VARIABLES 171The following variables are available as 172.Xr sysctl 8 173variables. 174.Bl -tag -width "xxxxxx" 175.It Va dev.fxp.%d.rnr 176This is a read-only variable and shows the number of events of 177RNR (resource not ready). 178.It Va dev.fxp.%d.stats 179This is a read-only variable and displays useful MAC counters 180maintained in the driver. 181.El 182.Sh DIAGNOSTICS 183.Bl -diag 184.It "fxp%d: couldn't map memory" 185A fatal initialization error has occurred. 186.It "fxp%d: couldn't map interrupt" 187A fatal initialization error has occurred. 188.It "fxp%d: Failed to malloc memory" 189There are not enough mbuf's available for allocation. 190.It "fxp%d: device timeout" 191The device has stopped responding to the network, or there is a problem with 192the network connection (cable). 193.It "fxp%d: Microcode loaded, int_delay: %d usec bundle_max: %d" 194The chip has successfully downloaded the microcode, and changed the 195parameterized values to the given settings. 196.El 197.Sh SEE ALSO 198.Xr altq 4 , 199.Xr arp 4 , 200.Xr miibus 4 , 201.Xr netintro 4 , 202.Xr ng_ether 4 , 203.Xr polling 4 , 204.Xr vlan 4 , 205.Xr ifconfig 8 206.Sh HISTORY 207The 208.Nm 209device driver first appeared in 210.Fx 2.1 . 211.Sh AUTHORS 212.An -nosplit 213The 214.Nm 215device driver was written by 216.An David Greenman . 217It has then been updated to use the busdma API and made endian-clean by 218.An Maxime Henrion . 219This manual page was written by 220.An David E. O'Brien . 221