1.\" Copyright (c) 2003 2.\" Bill Paul <wpaul@windriver.com>. All rights reserved. 3.\" 4.\" Redistribution and use in source and binary forms, with or without 5.\" modification, are permitted provided that the following conditions 6.\" are met: 7.\" 1. Redistributions of source code must retain the above copyright 8.\" notice, this list of conditions and the following disclaimer. 9.\" 2. Redistributions in binary form must reproduce the above copyright 10.\" notice, this list of conditions and the following disclaimer in the 11.\" documentation and/or other materials provided with the distribution. 12.\" 3. All advertising materials mentioning features or use of this software 13.\" must display the following acknowledgement: 14.\" This product includes software developed by Bill Paul. 15.\" 4. Neither the name of the author nor the names of any co-contributors 16.\" may be used to endorse or promote products derived from this software 17.\" without specific prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 22.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 23.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 24.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 25.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 26.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 27.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 29.\" THE POSSIBILITY OF SUCH DAMAGE. 30.\" 31.\" $FreeBSD$ 32.\" 33.Dd July 16, 2004 34.Dt RE 4 35.Os 36.Sh NAME 37.Nm re 38.Nd "RealTek 8139C+/8169/8169S/8110S PCI Ethernet adapter driver" 39.Sh SYNOPSIS 40To compile support for the 41.Nm 42driver into your kernel, place the following lines in your 43kernel configuration file: 44.Bd -ragged -offset indent 45.Cd "device miibus" 46.Cd "device re" 47.Ed 48.Pp 49Alternatively, to load the 50.Nm 51driver at boot time, place the following line in 52.Xr loader.conf 5 : 53.Bd -literal -offset indent 54if_re_load="YES" 55.Ed 56.Sh DESCRIPTION 57The 58.Nm 59driver provides support for various NICs based on the RealTek RTL8139C+, 60RTL8169, RTL8169S and RTL8110S PCI Ethernet controllers. 61.Pp 62NICs based on the 8139C+ are capable of 10 and 100Mbps speeds over CAT5 63cable. 64NICs based on the 8169, 8169S and 8110S are capable of 10, 100 and 651000Mbps operation. 66.Pp 67All NICs supported by the 68.Nm 69driver have TCP/IP checksum offload and hardware VLAN tagging/insertion 70features, and use a descriptor-based DMA mechanism. 71They are also 72capable of TCP large send (TCP segmentation offload). 73.Pp 74The 8139C+ is a single-chip solution combining both a 10/100 MAC and PHY. 75The 8169 is a 10/100/1000 MAC only, requiring a GMII or TBI external PHY. 76The 8169S and 8110S are single-chip devices containing both a 10/100/1000 77MAC and 10/100/1000 copper PHY. 78Standalone 10/100/1000 cards are available 79in both 32-bit PCI and 64-bit PCI models. 80The 8110S is designed for 81embedded LAN-on-motherboard applications. 82.Pp 83The 8169, 8169S and 8110S also support jumbo frames, which can be configured 84via the interface MTU setting. 85The MTU is limited to 7422, since the chip cannot transmit larger frames. 86Selecting an MTU larger than 1500 bytes with the 87.Xr ifconfig 8 88utility configures the adapter to receive and transmit jumbo frames. 89.Pp 90The 91.Nm 92driver supports the following media types: 93.Bl -tag -width ".Cm 10baseT/UTP" 94.It Cm autoselect 95Enable autoselection of the media type and options. 96The user can manually override 97the autoselected mode by adding media options to 98.Xr rc.conf 5 . 99.It Cm 10baseT/UTP 100Set 10Mbps operation. 101The 102.Xr ifconfig 8 103.Cm mediaopt 104option can also be used to select either 105.Cm full-duplex 106or 107.Cm half-duplex 108modes. 109.It Cm 100baseTX 110Set 100Mbps (Fast Ethernet) operation. 111The 112.Xr ifconfig 8 113.Cm mediaopt 114option can also be used to select either 115.Cm full-duplex 116or 117.Cm half-duplex 118modes. 119.It Cm 1000baseTX 120Set 1000baseTX operation over twisted pair. 121The RealTek gigE chips support 1000Mbps in 122.Cm full-duplex 123mode only. 124.\" .It Cm 1000baseSX 125.\" Set 1000Mbps (Gigabit Ethernet) operation. 126.\" Both 127.\" .Cm full-duplex 128.\" and 129.\" .Cm half-duplex 130.\" modes are supported. 131.El 132.Pp 133The 134.Nm 135driver supports the following media options: 136.Bl -tag -width ".Cm full-duplex" 137.It Cm full-duplex 138Force full duplex operation. 139.It Cm half-duplex 140Force half duplex operation. 141.El 142.Pp 143For more information on configuring this device, see 144.Xr ifconfig 8 . 145.Sh HARDWARE 146The 147.Nm 148driver supports RealTek RTL8139C+, RTL8169, RTL8169S and RTL8110S 149based Fast Ethernet and Gigabit Ethernet adapters including: 150.Pp 151.Bl -bullet -compact 152.It 153Alloy Computer Products EtherGOLD 1439E 10/100 (8139C+) 154.It 155Compaq Evo N1015v Integrated Ethernet (8139C+) 156.It 157Corega CG-LAPCIGT Gigabit Ethernet (8169S) 158.It 159D-Link DGE-528(T) Gigabit Ethernet (8169S) 160.It 161Gigabyte 7N400 Pro2 Integrated Gigabit Ethernet (8110S) 162.It 163LevelOne GNC-0105T (8169S) 164.It 165PLANEX COMMUNICATIONS Inc.\& GN-1200TC (8169S) 166.It 167Xterasys XN-152 10/100/1000 NIC (8169) 168.El 169.Sh DIAGNOSTICS 170.Bl -diag 171.It "re%d: couldn't map memory" 172A fatal initialization error has occurred. 173.It "re%d: couldn't map ports" 174A fatal initialization error has occurred. 175.It "re%d: couldn't map interrupt" 176A fatal initialization error has occurred. 177.It "re%d: no memory for softc struct!" 178The driver failed to allocate memory for per-device instance information 179during initialization. 180.It "re%d: failed to enable memory mapping!" 181The driver failed to initialize PCI shared memory mapping. 182This might 183happen if the card is not in a bus-master slot. 184.It "re%d: no memory for jumbo buffers!" 185The driver failed to allocate memory for jumbo frames during 186initialization. 187.It "re%d: watchdog timeout" 188The device has stopped responding to the network, or there is a problem with 189the network connection (cable). 190.El 191.Sh SEE ALSO 192.Xr arp 4 , 193.Xr miibus 4 , 194.Xr netintro 4 , 195.Xr ng_ether 4 , 196.Xr polling 4 , 197.Xr vlan 4 , 198.Xr ifconfig 8 199.Rs 200.%T RealTek Semiconductor RTL8139C+, RTL8169, RTL8169S and RTL8110S datasheets 201.%O http://www.realtek.com.tw/ 202.Re 203.Sh HISTORY 204The 205.Nm 206device driver first appeared in 207.Fx 5.2 . 208.Sh AUTHORS 209The 210.Nm 211driver was written by 212.An Bill Paul Aq wpaul@windriver.com . 213.Sh BUGS 214The Xterasys XN-152 32-bit PCI NIC, which uses the RTL8169 MAC and 215Marvell 88E1000 PHY, has a defect that causes DMA corruption 216if the board is plugged into a 64-bit PCI slot. 217The defect 218lies in the board design, not the chip itself: the PCI REQ64# and ACK64# 219lines should be pulled high, but they are not. 220The result is that the 2218169 chip is tricked into performing 64-bit DMA transfers even though 222a 64-bit data path between the NIC and the bus does not actually exist. 223.Pp 224Unfortunately, it is not possible to correct this problem in software, 225however it is possible to detect it. 226When the 227.Nm 228driver is loaded, it will run a diagnostic routine designed to 229validate DMA operation by placing the chip in digital loopback mode 230and initiating a packet transmission. 231If the card functions properly, 232the transmitted data will 233be echoed back unmodified. 234If the echoed data is corrupt, the driver 235will print an error message on the console and abort the device attach. 236The 237user should insure the NIC is installed in a 32-bit PCI slot to 238avoid this problem. 239.Pp 240The RealTek 8169, 8169S and 8110S chips appear to only be capable of 241transmitting jumbo frames up to 7.5K in size. 242