1.\" $NetBSD: re.4,v 1.7 2004/08/06 13:24:38 lukem 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 August 6, 2004 36.Dt RE 4 37.Os 38.Sh NAME 39.Nm re 40.Nd "RealTek 8139C+/8169/8169S/8110S PCI Ethernet adapter driver" 41.Sh SYNOPSIS 42.Cd "re* at pci? dev ? function ?" 43.Sh DESCRIPTION 44The 45.Nm 46driver provides support for various NICs based on the RealTek RTL8139C+, 47RTL8169, RTL8169S, and RTL8110S PCI Ethernet controllers, including 48the following: 49.Pp 50.Bl -bullet -compact 51.It 52Alloy Computer Products EtherGOLD 1439E 10/100 (8139C+) 53.It 54Compaq Evo N1015v Integrated Ethernet (8139C+) 55.It 56Gigabyte 7N400 Pro2 Integrated Gigabit Ethernet (8110S) 57.It 58NETGEAR GA311 (8169S) 59.It 60PLANEX COMMUNICATIONS Inc. GN-1200TC (8169S) 61.It 62Xterasys XN-152 10/100/1000 NIC (8169) 63.El 64.Pp 65NICs based on the 8139C+ are capable of 10 and 100Mbps speeds over 66CAT5 cable. 67NICs based on the 8169, 8169S, and 8110S are capable of 10, 100, and 681000Mbps operation. 69.Pp 70All NICs supported by the 71.Nm 72driver have TCP/IP checksum offload and hardware VLAN tagging/insertion 73features, and use a descriptor-based DMA mechanism. 74They are also capable of TCP large send (TCP segmentation offload). 75.Pp 76The 8139C+ is a single-chip solution combining both a 10/100 MAC and PHY. 77The 8169 is a 10/100/1000 MAC only, requiring a GMII or TBI external PHY. 78The 8169S and 8110S are single-chip devices containing both a 10/100/1000 79MAC and 10/100/1000 copper PHY. 80Standalone 10/100/1000 cards are available in both 32-bit PCI and 8164-bit PCI models. 82The 8110S is designed for embedded LAN-on-motherboard applications. 83.Pp 84The 8169, 8169S, and 8110S also support jumbo frames, which can be 85configured via the interface MTU setting. 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 10baseTXUTP 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.Ic 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.Ic 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 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 DIAGNOSTICS 146.Bl -diag 147.It "re%d: couldn't map memory" 148A fatal initialization error has occurred. 149.It "re%d: couldn't map ports" 150A fatal initialization error has occurred. 151.It "re%d: couldn't map interrupt" 152A fatal initialization error has occurred. 153.It "re%d: no memory for softc struct!" 154The driver failed to allocate memory for per-device instance information 155during initialization. 156.It "re%d: failed to enable memory mapping!" 157The driver failed to initialize PCI shared memory mapping. 158This might happen if the card is not in a bus-master slot. 159.It "re%d: no memory for jumbo buffers!" 160The driver failed to allocate memory for jumbo frames during 161initialization. 162.It "re%d: watchdog timeout" 163The device has stopped responding to the network, or there is a problem with 164the network connection (cable). 165.El 166.Sh SEE ALSO 167.Xr arp 4 , 168.Xr mii 4 , 169.Xr netintro 4 , 170.Xr pci 4 , 171.Xr ifconfig 8 172.Rs 173.%T RealTek Semiconductor RTL8139C+, RTL8169, RTL8169S, and RTL8110S datasheets 174.%O http://www.realtek.com.tw 175.Re 176.Sh HISTORY 177The 178.Nm 179device driver first appeared in 180.Fx 5.2 181and was ported to 182.Nx 2.0 . 183.Sh AUTHORS 184The 185.Nm 186driver was written by 187.An Bill Paul Aq wpaul@windriver.com . 188.Sh BUGS 189The Xterasys XN-152 32-bit PCI NIC, which uses the RTL8169 MAC and 190Marvell 88E1000 PHY, has a defect that causes DMA corruption 191if the board is plugged into a 64-bit PCI slot. 192The defect lies in the board design, not the chip itself: the PCI 193REQ64# and ACK64# lines should be pulled high, but they are not. 194The result is that the 8169 chip is tricked into performing 64-bit 195DMA transfers even though a 64-bit data path between the NIC and 196the bus does not actually exist. 197.Pp 198Unfortunately, it is not possible to correct this problem in software, 199however it is possible to detect it. 200When the 201.Nm 202driver is loaded, it will run a diagnostic routine designed to 203validate DMA operation by placing the chip in digital loopback mode 204and initiating a packet transmission. 205If the card functions properly, the transmitted data will 206be echoed back unmodified. 207If the echoed data is corrupt, the driver 208will print an error message on the console and abort the device attach. 209The user should ensure the NIC is installed in a 32-bit PCI slot to 210avoid this problem. 211.Pp 212The RealTek 8169, 8169S, and 8110S chips appear to only be capable of 213transmitting jumbo frames up to 7.5K in size. 214.Pp 215The 216.Nm 217driver does not work on the sparc64 platform yet. 218