xref: /freebsd/share/man/man4/re.4 (revision 3642298923e528d795e3a30ec165d2b469e28b40)
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