xref: /freebsd/share/man/man4/vr.4 (revision f4b37ed0f8b307b1f3f0f630ca725d68f1dff30d)
1.\" Copyright (c) 1997, 1998
2.\"	Bill Paul <wpaul@ctr.columbia.edu>. 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 February 25, 2012
34.Dt VR 4
35.Os
36.Sh NAME
37.Nm vr
38.Nd "VIA Technologies Rhine I/II/III Ethernet device driver"
39.Sh SYNOPSIS
40To compile this driver into the kernel,
41place the following lines in your
42kernel configuration file:
43.Bd -ragged -offset indent
44.Cd "device miibus"
45.Cd "device vr"
46.Ed
47.Pp
48Alternatively, to load the driver as a
49module at boot time, place the following line in
50.Xr loader.conf 5 :
51.Bd -literal -offset indent
52if_vr_load="YES"
53.Ed
54.Sh DESCRIPTION
55The
56.Nm
57driver provides support for PCI Ethernet adapters and embedded
58controllers based on the VIA Technologies VT3043 Rhine I,
59VT86C100A Rhine II, and VT6105/VT6105M Rhine III Fast Ethernet
60controller chips.
61.Pp
62The VIA Rhine chips use bus master DMA and have a descriptor layout
63designed to resemble that of the DEC 21x4x
64.Dq tulip
65chips.
66The register
67layout is different however and the receive filter in the Rhine chips
68is much simpler and is programmed through registers rather than by
69downloading a special setup frame through the transmit DMA engine.
70Transmit and receive DMA buffers must be longword
71aligned.
72The Rhine chips are meant to be interfaced with external
73physical layer devices via an MII bus.
74They support both
7510 and 100Mbps speeds in either full or half duplex.
76.Pp
77The
78.Nm
79driver supports the following media types:
80.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
81.It autoselect
82Enable autoselection of the media type and options.
83The user can manually override
84the autoselected mode by adding media options to the
85.Pa /etc/rc.conf
86file.
87.It 10baseT/UTP
88Set 10Mbps operation.
89The
90.Ar mediaopt
91option can also be used to select either
92.Ar full-duplex
93or
94.Ar half-duplex
95modes.
96.It 100baseTX
97Set 100Mbps (Fast Ethernet) operation.
98The
99.Ar mediaopt
100option can also be used to select either
101.Ar full-duplex
102or
103.Ar half-duplex
104modes.
105.El
106.Pp
107The
108.Nm
109driver supports the following media options:
110.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
111.It full-duplex
112Force full duplex operation.
113.It half-duplex
114Force half duplex operation.
115.El
116.Pp
117Note that the 100baseTX media type is only available if supported
118by the adapter.
119For more information on configuring this device, see
120.Xr ifconfig 8 .
121.Sh HARDWARE
122The
123.Nm
124driver supports VIA Technologies Rhine I, Rhine II, and Rhine III based
125Fast Ethernet adapters including:
126.Pp
127.Bl -bullet -compact
128.It
129AOpen/Acer ALN-320
130.It
131D-Link DFE520-TX
132.It
133D-Link DFE530-TX
134.It
135Hawking Technologies PN102TX
136.It
137Soekris Engineering net5501
138.El
139.Sh SYSCTL VARIABLES
140The following variables are available as
141.Xr sysctl 8
142variables:
143.Bl -tag -width indent
144.It Va dev.vr.%d.stats
145Display lots of useful MAC counters maintained in the driver.
146.El
147.Sh DIAGNOSTICS
148.Bl -diag
149.It "vr%d: couldn't map memory"
150A fatal initialization error has occurred.
151.It "vr%d: couldn't map interrupt"
152A fatal initialization error has occurred.
153.It "vr%d: watchdog timeout"
154The device has stopped responding to the network, or there is a problem with
155the network connection (cable).
156.It "vr%d: no memory for rx list"
157The driver failed to allocate an mbuf for the receiver ring.
158.It "vr%d: no memory for tx list"
159The driver failed to allocate an mbuf for the transmitter ring when
160allocating a pad buffer or collapsing an mbuf chain into a cluster.
161.It "vr%d: chip is in D3 power state -- setting to D0"
162This message applies only to adapters which support power
163management.
164Some operating systems place the controller in low power
165mode when shutting down, and some PCI BIOSes fail to bring the chip
166out of this state before configuring it.
167The controller loses all of
168its PCI configuration in the D3 state, so if the BIOS does not set
169it back to full power mode in time, it will not be able to configure it
170correctly.
171The driver tries to detect this condition and bring
172the adapter back to the D0 (full power) state, but this may not be
173enough to return the driver to a fully operational condition.
174If
175you see this message at boot time and the driver fails to attach
176the device as a network interface, you will have to perform second
177warm boot to have the device properly configured.
178.Pp
179Note that this condition only occurs when warm booting from another
180operating system.
181If you power down your system prior to booting
182.Fx ,
183the card should be configured correctly.
184.El
185.Sh SEE ALSO
186.Xr altq 4 ,
187.Xr arp 4 ,
188.Xr miibus 4 ,
189.Xr netintro 4 ,
190.Xr ng_ether 4 ,
191.Xr polling 4 ,
192.Xr ifconfig 8
193.Rs
194.%T The VIA Technologies VT86C100A data sheet
195.%U http://www.via.com.tw
196.Re
197.Sh HISTORY
198The
199.Nm
200device driver first appeared in
201.Fx 3.0 .
202.Sh AUTHORS
203The
204.Nm
205driver was written by
206.An Bill Paul Aq Mt wpaul@ctr.columbia.edu .
207.Sh BUGS
208The
209.Nm
210driver always copies transmit mbuf chains into longword-aligned
211buffers prior to transmission in order to pacify the Rhine chips.
212If buffers are not aligned correctly, the chip will round the
213supplied buffer address and begin DMAing from the wrong location.
214This buffer copying impairs transmit performance on slower systems but cannot
215be avoided.
216On faster machines (e.g.\& a Pentium II), the performance
217impact is much less noticeable.
218