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.\" $Id: vr.4,v 1.2 1998/12/05 09:31:25 rnordier Exp $ 32.\" 33.Dd November 22, 1998 34.Dt VR 4 i386 35.Os FreeBSD 36.Sh NAME 37.Nm vr 38.Nd 39VIA Technologies VT3043 and VT86C100A ethernet device driver 40.Sh SYNOPSIS 41.Cd "device vr0" 42.Sh DESCRIPTION 43The 44.Nm 45driver provides support for PCI ethernet adapters and embedded 46controllers based on the VIA Technologies VT3043 Rhine I and 47VT86C100A Rhine II fast ethernet controller chips. This includes 48the D-Link DFE530-TX and various other commodity fast ethernet 49cards. 50.Pp 51The VIA Rhine chips use bus master DMA and have a software interface 52designed to resemble that of the DEC 21x4x "tulip" chips. The major 53differences are that the receive filter in the Rhine chips is 54much simpler and is programmed through registers rather than by 55downloading a special setup frame through the transmit DMA engine, 56and that transmit and receive DMA buffers must be longword 57aligned. The Rhine chips are meant to be interfaced with external 58physical layer devices via an MII bus. They support both 5910 and 100Mbps speeds in either full or half duplex. 60.Pp 61The 62.Nm 63driver supports the following media types: 64.Pp 65.Bl -tag -width xxxxxxxxxxxxxxxxxxxx 66.It autoselect 67Enable autoselection of the media type and options. 68The user can manually override 69the autoselected mode by adding media options to the 70.Pa /etc/rc.conf 71file. 72.It 10baseT/UTP 73Set 10Mbps operation. The 74.Ar mediaopt 75option can also be used to select either 76.Ar full-duplex 77or 78.Ar half-duplex modes. 79.It 100baseTX 80Set 100Mbps (fast ethernet) operation. The 81.Ar mediaopt 82option can also be used to select either 83.Ar full-duplex 84or 85.Ar half-duplex 86modes. 87.El 88.Pp 89The 90.Nm 91driver supports the following media options: 92.Pp 93.Bl -tag -width xxxxxxxxxxxxxxxxxxxx 94.It full-duplex 95Force full duplex operation 96.It half-duplex 97Force half duplex operation. 98.El 99.Pp 100Note that the 100baseTX media type is only available if supported 101by the adapter. 102For more information on configuring this device, see 103.Xr ifconfig 8 . 104.Sh DIAGNOSTICS 105.Bl -diag 106.It "vr%d: couldn't map memory" 107A fatal initialization error has occurred. 108.It "vr%d: couldn't map interrupt" 109A fatal initialization error has occurred. 110.It "vr%d: watchdog timeout" 111The device has stopped responding to the network, or there is a problem with 112the network connection (cable). 113.It "vr%d: no memory for rx list" 114The driver failed to allocate an mbuf for the receiver ring. 115.It "vr%d: no memory for tx list" 116The driver failed to allocate an mbuf for the transmitter ring when 117allocating a pad buffer or collapsing an mbuf chain into a cluster. 118.It "vr%d: chip is in D3 power state -- setting to D0" 119This message applies only to adapters which support power 120management. Some operating systems place the controller in low power 121mode when shutting down, and some PCI BIOSes fail to bring the chip 122out of this state before configuring it. The controller loses all of 123its PCI configuration in the D3 state, so if the BIOS does not set 124it back to full power mode in time, it won't be able to configure it 125correctly. The driver tries to detect this condition and bring 126the adapter back to the D0 (full power) state, but this may not be 127enough to return the driver to a fully operational condition. If 128you see this message at boot time and the driver fails to attach 129the device as a network interface, you will have to perform second 130warm boot to have the device properly configured. 131.Pp 132Note that this condition only occurs when warm booting from another 133operating system. If you power down your system prior to booting 134.Fx , 135the card should be configured correctly. 136.El 137.Sh SEE ALSO 138.Xr arp 4 , 139.Xr netintro 4 , 140.Xr ifconfig 8 141.Rs 142.%T The VIA Technologies VT86C100A data sheet 143.%O http://www.via.com.tw 144.Re 145.Sh HISTORY 146The 147.Nm 148device driver first appeared in 149.Fx 3.0 . 150.Sh AUTHOR 151The 152.Nm 153driver was written by 154.An Bill Paul Aq wpaul@ctr.columbia.edu . 155.Sh BUGS 156The 157.Nm 158driver always copies transmit mbuf chains into longword-aligned 159buffers prior to transmission in order to pacify the Rhine chips. 160If buffers are not aligned correctly, the chip will round the 161supplied buffer address and begin DMAing from the wrong location. 162This buffer copying impairs transmit performance on slower systems but can't 163be avoided. On faster machines (e.g. a Pentium II), the performance 164impact is much less noticable. 165