1.\" $NetBSD: re.4,v 1.18 2019/11/18 05:01:36 gutteridge Exp $ 2.\" 3.\" Copyright (c) 2003 4.\" Bill Paul <wpaul@windriver.com>. 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.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgement: 16.\" This product includes software developed by Bill Paul. 17.\" 4. Neither the name of the author nor the names of any co-contributors 18.\" may be used to endorse or promote products derived from this software 19.\" without specific prior written permission. 20.\" 21.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 22.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 23.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 24.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 25.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 26.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 27.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 28.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 29.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 30.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 31.\" THE POSSIBILITY OF SUCH DAMAGE. 32.\" 33.\" $FreeBSD: src/share/man/man4/re.4,v 1.4 2004/03/04 06:42:46 sanpei Exp $ 34.\" 35.Dd November 18, 2019 36.Dt RE 4 37.Os 38.Sh NAME 39.Nm re 40.Nd "RealTek 8139C+/8169/8169S/8168/8110S/8111 PCI Ethernet adapter driver" 41.Sh SYNOPSIS 42.Cd "re* at pci? dev ? function ?" 43.Cd "re* at cardbus? function ?" 44.Sh DESCRIPTION 45The 46.Nm 47driver provides support for various NICs based on the RealTek RTL8139C+, 48RTL8169, RTL8169S, RTL8168, and RTL8110S PCI/Cardbus Ethernet controllers, 49including the following: 50.Pp 51.Bl -bullet -compact 52.It 53Alloy Computer Products EtherGOLD 1439E 10/100 (8139C+) 54.It 55Compaq Evo N1015v Integrated Ethernet (8139C+) 56.It 57Gigabyte 7N400 Pro2 Integrated Gigabit Ethernet (8110S) 58.It 59NETGEAR GA311 (8169S) 60.It 61PLANEX COMMUNICATIONS Inc. GN-1200TC (8169S) 62.It 63Xterasys XN-152 10/100/1000 NIC (8169) 64.It 65Corega CG-LAPCIGT Gigabit Ethernet (8169S) 66.It 67D-Link DGE-528T Gigabit Ethernet (8169S) 68.It 69D-Link DGE-530T rev. C & D Gigabit Ethernet (8169) 70.It 71US Robotics (3Com) USR997902 Gigabit Ethernet (8169S) 72.It 73Linksys EG1032 rev. 3 Gigabit Ethernet (8169S) 74.It 75TP-Link TG-3468 v2 & v3 Gigabit Ethernet (8168) 76.El 77.Pp 78NICs based on the 8139C+ are capable of 10 and 100Mbps speeds over 79CAT5 cable. 80NICs based on the 8169, 8169S, 8168, and 8110S are capable of 10, 100, and 811000Mbps operation. 82.Pp 83All NICs supported by the 84.Nm 85driver have IP/TCP/UDP checksum offload and hardware VLAN tagging/insertion 86features, and use a descriptor-based DMA mechanism. 87They are also capable of TCP large send (TCP segmentation offload). 88.Pp 89The 8139C+ is a single-chip solution combining both a 10/100 MAC and PHY, 90and its PHY is supported by 91.Xr rlphy 4 . 92The 8169 is a 10/100/1000 MAC only, requiring a GMII or TBI external PHY 93and some 8169 based boards have Marvell 88E1000 PHY supported by 94.Xr makphy 4 . 95The 8169S and 8110S are single-chip devices containing both a 10/100/1000 96MAC and 10/100/1000 copper PHY, which is supported by 97.Xr rgephy 4 . 98Standalone 10/100/1000 cards are available in both 32-bit PCI and 9964-bit PCI models. 100The 8110S is designed for embedded LAN-on-motherboard applications. 101.Pp 102The 8169, 8169S, and 8110S also support jumbo frames, which can be 103configured via the interface MTU setting. 104Selecting an MTU larger than 1500 bytes with the 105.Xr ifconfig 8 106utility configures the adapter to receive and transmit jumbo frames. 107.Pp 108The 109.Nm 110driver supports the following media types: 111.Bl -tag -width 10baseTXUTP 112.It Cm autoselect 113Enable autoselection of the media type and options. 114The user can manually override 115the autoselected mode by adding media options to 116.Xr rc.conf 5 . 117.It Cm 10baseT/UTP 118Set 10Mbps operation. 119The 120.Xr ifconfig 8 121.Ic mediaopt 122option can also be used to select either 123.Cm full-duplex 124or 125.Cm half-duplex 126modes. 127.It Cm 100baseTX 128Set 100Mbps (Fast Ethernet) operation. 129The 130.Xr ifconfig 8 131.Ic mediaopt 132option can also be used to select either 133.Cm full-duplex 134or 135.Cm half-duplex 136modes. 137.It Cm 1000baseTX 138Set 1000baseTX operation over twisted pair. 139The RealTek GigE chips support 1000Mbps in 140.Cm full-duplex 141mode only. 142.\" .It Cm 1000baseSX 143.\" Set 1000Mbps (Gigabit Ethernet) operation. 144.\" Both 145.\" .Cm full-duplex 146.\" and 147.\" .Cm half-duplex 148.\" modes are supported. 149.El 150.Pp 151The 152.Nm 153driver supports the following media options: 154.Bl -tag -width full-duplex 155.It Cm full-duplex 156Force full duplex operation. 157.It Cm half-duplex 158Force half duplex operation. 159.El 160.Pp 161For more information on configuring this device, see 162.Xr ifconfig 8 . 163.Sh DIAGNOSTICS 164.Bl -diag 165.It "re%d: can't map i/o space" 166A fatal initialization error has occurred. 167.It "re%d: can't map mem space" 168A fatal initialization error has occurred. 169.It "re%d: couldn't map interrupt" 170A fatal initialization error has occurred. 171.It "re%d: watchdog timeout" 172The device has stopped responding to the network, or there is a problem with 173the network connection (cable). 174.El 175.Sh SEE ALSO 176.Xr arp 4 , 177.Xr cardbus 4 , 178.Xr mii 4 , 179.Xr netintro 4 , 180.Xr pci 4 , 181.Xr rgephy 4 , 182.Xr rlphy 4 , 183.Xr ifconfig 8 184.Rs 185.%T RealTek Semiconductor RTL8139C+, RTL8169, RTL8169S, and RTL8110S datasheets 186.%U http://www.realtek.com.tw 187.Re 188.Sh HISTORY 189The 190.Nm 191device driver first appeared in 192.Fx 5.2 193and was ported to 194.Nx 2.0 . 195.Sh AUTHORS 196The 197.Nm 198driver was written by 199.An Bill Paul Aq Mt wpaul@windriver.com . 200.Sh BUGS 201The Xterasys XN-152 32-bit PCI NIC, which uses the RTL8169 MAC and 202Marvell 88E1000 PHY, has a defect that causes DMA corruption 203if the board is plugged into a 64-bit PCI slot. 204The defect lies in the board design, not the chip itself: the PCI 205REQ64# and ACK64# lines should be pulled high, but they are not. 206The result is that the 8169 chip is tricked into performing 64-bit 207DMA transfers even though a 64-bit data path between the NIC and 208the bus does not actually exist. 209.Pp 210Unfortunately, it is not possible to correct this problem in software, 211however it is possible to detect it. 212When the 213.Nm 214driver is loaded, it will run a diagnostic routine designed to 215validate DMA operation by placing the chip in digital loopback mode 216and initiating a packet transmission. 217If the card functions properly, the transmitted data will 218be echoed back unmodified. 219If the echoed data is corrupt, the driver 220will print an error message on the console and abort the device attach. 221The user should ensure the NIC is installed in a 32-bit PCI slot to 222avoid this problem. 223.Pp 224The RealTek 8169, 8169S, and 8110S chips appear to only be capable of 225transmitting jumbo frames up to 7.5K in size. 226