1b7e09688SBill Paul.\" Copyright (c) 2004 2b7e09688SBill Paul.\" Bill Paul <wpaul@windriver.com>. All rights reserved. 33071824fSBill Paul.\" 43071824fSBill Paul.\" Redistribution and use in source and binary forms, with or without 53071824fSBill Paul.\" modification, are permitted provided that the following conditions 63071824fSBill Paul.\" are met: 73071824fSBill Paul.\" 1. Redistributions of source code must retain the above copyright 83071824fSBill Paul.\" notice, this list of conditions and the following disclaimer. 93071824fSBill Paul.\" 2. Redistributions in binary form must reproduce the above copyright 103071824fSBill Paul.\" notice, this list of conditions and the following disclaimer in the 113071824fSBill Paul.\" documentation and/or other materials provided with the distribution. 123071824fSBill Paul.\" 3. All advertising materials mentioning features or use of this software 133071824fSBill Paul.\" must display the following acknowledgement: 143071824fSBill Paul.\" This product includes software developed by Bill Paul. 153071824fSBill Paul.\" 4. Neither the name of the author nor the names of any co-contributors 163071824fSBill Paul.\" may be used to endorse or promote products derived from this software 173071824fSBill Paul.\" without specific prior written permission. 183071824fSBill Paul.\" 193071824fSBill Paul.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 203071824fSBill Paul.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 213071824fSBill Paul.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 223071824fSBill Paul.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 233071824fSBill Paul.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 243071824fSBill Paul.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 253071824fSBill Paul.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 263071824fSBill Paul.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 273071824fSBill Paul.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 283071824fSBill Paul.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 293071824fSBill Paul.\" THE POSSIBILITY OF SUCH DAMAGE. 303071824fSBill Paul.\" 31e6b71fcbSBenedict Reuschling.Dd May 29, 2011 323071824fSBill Paul.Dt VGE 4 333071824fSBill Paul.Os 343071824fSBill Paul.Sh NAME 353071824fSBill Paul.Nm vge 36bc5fa959SPyun YongHyeon.Nd "VIA Networking Technologies Velocity Gigabit Ethernet adapter driver" 373071824fSBill Paul.Sh SYNOPSIS 3816d78bb8STom RhodesTo compile this driver into the kernel, 3916d78bb8STom Rhodesplace the following lines in your 4090296834STom Rhodeskernel configuration file: 4186e3186eSTom Rhodes.Bd -ragged -offset indent 423071824fSBill Paul.Cd "device miibus" 433071824fSBill Paul.Cd "device vge" 4486e3186eSTom Rhodes.Ed 4586e3186eSTom Rhodes.Pp 4616d78bb8STom RhodesAlternatively, to load the driver as a 4716d78bb8STom Rhodesmodule at boot time, place the following line in 4886e3186eSTom Rhodes.Xr loader.conf 5 : 4986e3186eSTom Rhodes.Bd -literal -offset indent 5086e3186eSTom Rhodesif_vge_load="YES" 5186e3186eSTom Rhodes.Ed 523071824fSBill Paul.Sh DESCRIPTION 533071824fSBill PaulThe 543071824fSBill Paul.Nm 555983c3e7SChristian Bruefferdriver provides support for various NICs and embedded Ethernet interfaces 56bc5fa959SPyun YongHyeonbased on the VIA Technologies VT6120, VT6122, VT6130 and VT6132 Velocity 57bc5fa959SPyun YongHyeonFamily Gigabit Ethernet controller chips. 583071824fSBill Paul.Pp 5979649302SGavin AtkinsonThe VT6120/VT6122 is a 33/66MHz 64-bit PCI device which combines a tri-speed 60bc5fa959SPyun YongHyeonMAC with an integrated 10/100/1000 copper PHY. 6181a11242SRuslan Ermilov(Some older cards use an external PHY.) 62bc5fa959SPyun YongHyeonThe VT6130/VT6132 is the PCI express version of Velocity family. 635983c3e7SChristian BruefferThe MAC supports TCP/IP hardware 643071824fSBill Paulchecksums (IPv4 only), TCP large send, VLAN tag insertion and stripping, 653071824fSBill Paulas well as VLAN filtering, a 64-entry CAM filter and a 64-entry VLAN filter, 663071824fSBill Paul64-bit multicast hash filter, 4 separate transmit DMA queues, flow control 67e6b71fcbSBenedict Reuschlingand jumbo frames (not on VT6130/VT6132) up to 16K in size. 68bc5fa959SPyun YongHyeonThe Velocity family controllers have a 16K receive FIFO and 48K transmit FIFO. 693071824fSBill Paul.Pp 703071824fSBill PaulThe 713071824fSBill Paul.Nm 72bc5fa959SPyun YongHyeondriver takes advantage of the controller's checksum offload and VLAN 73e6b71fcbSBenedict Reuschlingtagging features, as well as the jumbo frame (except VT6130/VT6132) and CAM 74e6b71fcbSBenedict Reuschlingfilter support. 753071824fSBill PaulThe CAM filter is used for multicast address filtering to provide 765983c3e7SChristian Brueffer64 perfect multicast address filter support. 775983c3e7SChristian BruefferIf it is necessary for the interface to join more than 64 multicast 785983c3e7SChristian Brueffergroups, the driver will switch over to using the hash filter. 793071824fSBill Paul.Pp 803071824fSBill PaulThe jumbo frame support can be enabled by setting the interface MTU 813071824fSBill Paulto any value larger than the default of 1500 bytes, up to a maximum 825983c3e7SChristian Bruefferof 9000 bytes. 83e6b71fcbSBenedict ReuschlingJumbo frames are disabled on the VT6130/VT6132 controllers because the TX 84e6b71fcbSBenedict ReuschlingMAC will hang when trying to send a frame that is larger than 4K. 855983c3e7SChristian BruefferThe receive and transmit checksum offload support 863071824fSBill Paulcan be toggled on and off using the 873071824fSBill Paul.Xr ifconfig 8 883071824fSBill Paulutility. 893071824fSBill Paul.Pp 903071824fSBill PaulThe 913071824fSBill Paul.Nm 923071824fSBill Pauldriver supports the following media types: 9381a11242SRuslan Ermilov.Bl -tag -width ".Cm 10baseT/UTP" 943071824fSBill Paul.It Cm autoselect 953071824fSBill PaulEnable autoselection of the media type and options. 963071824fSBill PaulThe user can manually override 973071824fSBill Paulthe autoselected mode by adding media options to 983071824fSBill Paul.Xr rc.conf 5 . 993071824fSBill Paul.It Cm 10baseT/UTP 1003071824fSBill PaulSet 10Mbps operation. 1013071824fSBill PaulThe 1023071824fSBill Paul.Xr ifconfig 8 10381a11242SRuslan Ermilov.Cm mediaopt 1043071824fSBill Pauloption can also be used to select either 1053071824fSBill Paul.Cm full-duplex 1063071824fSBill Paulor 1073071824fSBill Paul.Cm half-duplex 1083071824fSBill Paulmodes. 1093071824fSBill Paul.It Cm 100baseTX 1103071824fSBill PaulSet 100Mbps (Fast Ethernet) operation. 1113071824fSBill PaulThe 1123071824fSBill Paul.Xr ifconfig 8 11381a11242SRuslan Ermilov.Cm mediaopt 1143071824fSBill Pauloption can also be used to select either 1153071824fSBill Paul.Cm full-duplex 1163071824fSBill Paulor 1173071824fSBill Paul.Cm half-duplex 1183071824fSBill Paulmodes. 1193071824fSBill Paul.It Cm 1000baseTX 1203071824fSBill PaulSet 1000baseTX operation over twisted pair. 12181a11242SRuslan ErmilovThe 12281a11242SRuslan Ermilov.Xr ifconfig 8 12381a11242SRuslan Ermilov.Cm mediaopt 12481a11242SRuslan Ermilovoption can also be used to select either 1253071824fSBill Paul.Cm full-duplex 12681a11242SRuslan Ermilovor 1273071824fSBill Paul.Cm half-duplex 12881a11242SRuslan Ermilovmodes. 1293071824fSBill Paul.El 1303071824fSBill Paul.Pp 1313071824fSBill PaulThe 1323071824fSBill Paul.Nm 1333071824fSBill Pauldriver supports the following media options: 13481a11242SRuslan Ermilov.Bl -tag -width ".Cm full-duplex" 1353071824fSBill Paul.It Cm full-duplex 1363071824fSBill PaulForce full duplex operation. 1373071824fSBill Paul.It Cm half-duplex 1383071824fSBill PaulForce half duplex operation. 1393071824fSBill Paul.El 1403071824fSBill Paul.Pp 1413071824fSBill PaulFor more information on configuring this device, see 1423071824fSBill Paul.Xr ifconfig 8 . 1433071824fSBill Paul.Sh HARDWARE 1443071824fSBill PaulThe 1453071824fSBill Paul.Nm 146bc5fa959SPyun YongHyeondriver supports VIA Networking VT6120, VT6122, VT6130 and VT6132 based 1473071824fSBill PaulGigabit Ethernet adapters including: 1483071824fSBill Paul.Pp 1493071824fSBill Paul.Bl -bullet -compact 1503071824fSBill Paul.It 1515983c3e7SChristian BruefferVIA Networking LAN-on-motherboard Gigabit Ethernet 152a7d5415eSBill Paul.It 1533c44fd1bSBill PaulZyXEL GN650-T 64-bit PCI Gigabit Ethernet NIC (ZX1701) 154a7d5415eSBill Paul.It 1553c44fd1bSBill PaulZyXEL GN670-T 32-bit PCI Gigabit Ethernet NIC (ZX1702) 1563071824fSBill Paul.El 1575f8249eeSPyun YongHyeon.Sh LOADER TUNABLES 1585f8249eeSPyun YongHyeonTunables can be set at the 1595f8249eeSPyun YongHyeon.Xr loader 8 1605f8249eeSPyun YongHyeonprompt before booting the kernel or stored in 1615f8249eeSPyun YongHyeon.Xr loader.conf 5 . 1625f8249eeSPyun YongHyeon.Bl -tag -width "xxxxxx" 1635f8249eeSPyun YongHyeon.It Va hw.vge.msi_disable 1645f8249eeSPyun YongHyeonThis tunable disables MSI support on the Ethernet hardware. 1655f8249eeSPyun YongHyeonThe default value is 0. 1665f8249eeSPyun YongHyeon.El 1675f8249eeSPyun YongHyeon.Sh SYSCTL VARIABLES 1685f8249eeSPyun YongHyeonThe following variables are available as both 1695f8249eeSPyun YongHyeon.Xr sysctl 8 1705f8249eeSPyun YongHyeonvariables and 1715f8249eeSPyun YongHyeon.Xr loader 8 1725f8249eeSPyun YongHyeontunables: 1735f8249eeSPyun YongHyeon.Bl -tag -width "xxxxxx" 1745f8249eeSPyun YongHyeon.It Va dev.vge.%d.int_holdoff 1755f8249eeSPyun YongHyeonMaximum number of time to delay interrupts. 1765f8249eeSPyun YongHyeonThe valid range is 0 to 5100 in units of 1us, the default is 1775f8249eeSPyun YongHyeon150 (150us). 1780dded339SGlen BarberThe resolution of timer is about 20us so finer tuning than 1795f8249eeSPyun YongHyeon20us wouldn't be available. 1805f8249eeSPyun YongHyeonThe interface should be brought down and up again before a change 1815f8249eeSPyun YongHyeontakes effect. 1825f8249eeSPyun YongHyeon.It Va dev.vge.%d.rx_coal_pkt 1835f8249eeSPyun YongHyeonMaximum number of packets to fire Rx completion interrupt. 1845f8249eeSPyun YongHyeonThe valid range is 1 to 255, the default is 64. 1855f8249eeSPyun YongHyeon.It Va dev.vge.%d.tx_coal_pkt 1865f8249eeSPyun YongHyeonMaximum number of packets to fire Tx completion interrupt. 1875f8249eeSPyun YongHyeonThe valid range is 1 to 255, the default is 128. 1885f8249eeSPyun YongHyeon.El 1893071824fSBill Paul.Sh DIAGNOSTICS 1903071824fSBill Paul.Bl -diag 191a7d5415eSBill Paul.It "vge%d: couldn't map memory" 1923071824fSBill PaulA fatal initialization error has occurred. 193a7d5415eSBill Paul.It "vge%d: couldn't map ports" 1943071824fSBill PaulA fatal initialization error has occurred. 195a7d5415eSBill Paul.It "vge%d: couldn't map interrupt" 1963071824fSBill PaulA fatal initialization error has occurred. 197a7d5415eSBill Paul.It "vge%d: failed to enable memory mapping!" 1983071824fSBill PaulThe driver failed to initialize PCI shared memory mapping. 1993071824fSBill PaulThis might 2003071824fSBill Paulhappen if the card is not in a bus-master slot. 201a7d5415eSBill Paul.It "vge%d: watchdog timeout" 2023071824fSBill PaulThe device has stopped responding to the network, or there is a problem with 2033071824fSBill Paulthe network connection (cable). 2043071824fSBill Paul.El 2053071824fSBill Paul.Sh SEE ALSO 20691dba98dSChristian Brueffer.Xr altq 4 , 2073071824fSBill Paul.Xr arp 4 , 2083071824fSBill Paul.Xr miibus 4 , 2093071824fSBill Paul.Xr netintro 4 , 2103071824fSBill Paul.Xr ng_ether 4 , 211a6c410e7SChristian Brueffer.Xr polling 4 , 2123071824fSBill Paul.Xr vlan 4 , 2133071824fSBill Paul.Xr ifconfig 8 2143071824fSBill Paul.Sh HISTORY 2153071824fSBill PaulThe 2163071824fSBill Paul.Nm 2173071824fSBill Pauldevice driver first appeared in 2183071824fSBill Paul.Fx 5.3 . 2193071824fSBill Paul.Sh AUTHORS 2203071824fSBill PaulThe 2213071824fSBill Paul.Nm 2223071824fSBill Pauldriver was written by 223*6c899950SBaptiste Daroussin.An Bill Paul Aq Mt wpaul@windriver.com . 224