1.\" Copyright (c) 2001 Wind River Systems 2.\" Copyright (c) 1997, 1998, 1999, 2000, 2001 3.\" Bill Paul <wpaul@windriver.com>. All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright 9.\" notice, this list of conditions and the following disclaimer. 10.\" 2. Redistributions in binary form must reproduce the above copyright 11.\" notice, this list of conditions and the following disclaimer in the 12.\" documentation and/or other materials provided with the distribution. 13.\" 3. All advertising materials mentioning features or use of this software 14.\" must display the following acknowledgement: 15.\" This product includes software developed by Bill Paul. 16.\" 4. Neither the name of the author nor the names of any co-contributors 17.\" may be used to endorse or promote products derived from this software 18.\" without specific prior written permission. 19.\" 20.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND 21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23.\" ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD 24.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 30.\" THE POSSIBILITY OF SUCH DAMAGE. 31.\" 32.\" $FreeBSD$ 33.\" 34.Dd December 18, 2004 35.Dt BGE 4 36.Os 37.Sh NAME 38.Nm bge 39.Nd "Broadcom BCM570x/5721/5750/5751 PCI Gigabit Ethernet adapter driver" 40.Sh SYNOPSIS 41.Cd "device miibus" 42.Cd "device bge" 43.Sh DESCRIPTION 44The 45.Nm 46driver provides support for various NICs based on the Broadcom BCM570x, 475721, 5750 and 5751 families of Gigabit Ethernet controller chips. 48.Pp 49All of these NICs are capable of 10, 100 and 1000Mbps speeds over CAT5 50copper cable, except for the SysKonnect SK-9D41 which supports only 511000Mbps over multimode fiber. 52The BCM570x builds upon the technology of the Alteon Tigon II. 53It has two R4000 CPU cores and is PCI v2.2 and PCI-X v1.0 compliant. 54It supports IP, TCP 55and UDP checksum offload for both receive and transmit, 56multiple RX and TX DMA rings for QoS applications, rules-based 57receive filtering, and VLAN tag stripping/insertion as well as 58a 256-bit multicast hash filter. 59Additional features may be 60provided via value-add firmware updates. 61The BCM570x supports TBI (ten bit interface) and GMII 62transceivers, which means it can be used with either copper or 1000baseX 63fiber applications. 64Note however the device only supports a single 65speed in TBI mode. 66.Pp 67Most BCM5700-based cards also use the Broadcom BCM5401 or BCM5411 10/100/1000 68copper gigabit transceivers, 69which support autonegotiation of 10, 100 and 1000Mbps modes in 70full or half duplex. 71.Pp 72The BCM570x also supports jumbo frames, which can be configured 73via the interface MTU setting. 74Selecting an MTU larger than 1500 bytes with the 75.Xr ifconfig 8 76utility configures the adapter to receive and transmit jumbo frames. 77Using jumbo frames can greatly improve performance for certain tasks, 78such as file transfers and data streaming. 79.Pp 80The 81.Nm 82driver supports the following media types: 83.Bl -tag -width ".Cm 10baseT/UTP" 84.It Cm autoselect 85Enable autoselection of the media type and options. 86The user can manually override 87the autoselected mode by adding media options to 88.Xr rc.conf 5 . 89.It Cm 10baseT/UTP 90Set 10Mbps operation. 91The 92.Xr ifconfig 8 93.Ic mediaopt 94option can also be used to select either 95.Cm full-duplex 96or 97.Cm half-duplex 98modes. 99.It Cm 100baseTX 100Set 100Mbps (Fast Ethernet) operation. 101The 102.Xr ifconfig 8 103.Ic mediaopt 104option can also be used to select either 105.Cm full-duplex 106or 107.Cm half-duplex 108modes. 109.It Cm 1000baseTX 110Set 1000baseTX operation over twisted pair. 111Only 112.Cm full-duplex 113mode is supported. 114.It Cm 1000baseSX 115Set 1000Mbps (Gigabit Ethernet) operation. 116Both 117.Cm full-duplex 118and 119.Cm half-duplex 120modes are supported. 121.El 122.Pp 123The 124.Nm 125driver supports the following media options: 126.Bl -tag -width ".Cm full-duplex" 127.It Cm full-duplex 128Force full duplex operation. 129.It Cm half-duplex 130Force half duplex operation. 131.El 132.Pp 133The 134.Nm 135driver also supports one special link option for 1000baseTX cards: 136.Bl -tag -width ".Cm link0" 137.It Cm link0 138With 1000baseTX cards, establishing a link between two ports requires 139that one port be configured as a master and the other a slave. 140With autonegotiation, 141the master/slave settings will be chosen automatically. 142However when manually selecting the link state, it is necessary to 143force one side of the link to be a master and the other a slave. 144The 145.Nm 146driver configures the ports as slaves by default. 147Setting the 148.Cm link0 149flag with 150.Xr ifconfig 8 151will set a port as a master instead. 152.El 153.Pp 154For more information on configuring this device, see 155.Xr ifconfig 8 . 156.Sh HARDWARE 157The 158.Nm 159driver provides support for various NICs based on the Broadcom BCM570x 160family of Gigabit Ethernet controller chips, including the 161following: 162.Pp 163.Bl -bullet -compact 164.It 1653Com 3c996-T (10/100/1000baseTX) 166.It 167Dell PowerEdge 1750 integrated BCM5704C NIC (10/100/1000baseTX) 168.It 169Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX) 170.It 171Dell PowerEdge 2650 integrated BCM5703 NIC (10/100/1000baseTX) 172.It 173IBM x235 server integrated BCM5703x NIC (10/100/1000baseTX) 174.It 175HP ProLiant NC7760 embedded Gigabit NIC (10/100/1000baseTX) 176.It 177HP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseTX) 178.It 179HP ProLiant NC7781 embedded PCI-X Gigabit NIC (10/100/1000baseTX) 180.It 181Netgear GA302T (10/100/1000baseTX) 182.It 183SysKonnect SK-9D21 (10/100/1000baseTX) 184.It 185SysKonnect SK-9D41 (1000baseSX) 186.El 187.Sh DIAGNOSTICS 188.Bl -diag 189.It "bge%d: couldn't map memory" 190A fatal initialization error has occurred. 191.It "bge%d: couldn't map ports" 192A fatal initialization error has occurred. 193.It "bge%d: couldn't map interrupt" 194A fatal initialization error has occurred. 195.It "bge%d: no memory for softc struct!" 196The driver failed to allocate memory for per-device instance information 197during initialization. 198.It "bge%d: failed to enable memory mapping!" 199The driver failed to initialize PCI shared memory mapping. 200This might 201happen if the card is not in a bus-master slot. 202.It "bge%d: no memory for jumbo buffers!" 203The driver failed to allocate memory for jumbo frames during 204initialization. 205.It "bge%d: watchdog timeout" 206The device has stopped responding to the network, or there is a problem with 207the network connection (cable). 208.El 209.Sh SEE ALSO 210.Xr arp 4 , 211.Xr miibus 4 , 212.Xr netintro 4 , 213.Xr ng_ether 4 , 214.Xr vlan 4 , 215.Xr ifconfig 8 216.Sh HISTORY 217The 218.Nm 219device driver first appeared in 220.Fx 4.5 . 221.Sh AUTHORS 222The 223.Nm 224driver was written by 225.An Bill Paul Aq wpaul@windriver.com . 226