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