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 September 27, 2001 35.Dt BGE 4 36.Os 37.Sh NAME 38.Nm bge 39.Nd "Broadcom BCM570x 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 47family of gigabit ethernet controller chips, including the 48following: 49.Pp 50.Bl -bullet -compact 51.It 523Com 3c996-T (10/100/1000baseTX) 53.It 54Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX) 55.It 56IBM x235 server integrated BCM5703x NIC (10/100/1000baseTX) 57.It 58HP ProLiant NC7760 embedded Gigabit NIC (10/100/1000baseTX) 59.It 60HP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseTX) 61.It 62HP ProLiant NC7781 embedded PCI-X Gigabit NIC (10/100/1000baseTX) 63.It 64Netgear GA302T (10/100/1000baseTX) 65.It 66SysKonnect SK-9D21 (10/100/1000baseTX) 67.It 68SysKonnect SK-9D41 (1000baseSX) 69.El 70.Pp 71All of these NICs are capable of 10, 100 and 1000Mbps speeds over CAT5 72copper cable, except for the SysKonnect SK-9D41 which supports only 731000Mbps over multimode fiber. 74The BCM570x builds upon the technology of the Alteon Tigon II. 75It has two R4000 CPU cores and is PCI v2.2 and PCI-X v1.0 compliant. 76It supports IP, TCP 77and UDP checksum offload for both receive and transmit, 78multiple RX and TX DMA rings for QoS applications, rules-based 79receive filtering, and VLAN tag stripping/insertion as well as 80a 256-bit multicast hash filter. 81Additional features may be 82provided via value-add firmware updates. 83The BCM570x supports TBI (ten bit interface) and GMII 84transceivers, which means it can be used with either copper of 1000baseX 85fiber applications. 86Note however the device only supports a single 87speed in TBI mode. 88.Pp 89Most BCM5700-based cards also use the Broadcom BCM5401 or BCM5411 10/100/1000 90copper gigabit transceivers, 91which support autonegotiation of 10, 100 and 1000mbps modes in 92full or half duplex. 93.Pp 94The BCM570x also supports jumbo frames, which can be configured 95via the interface MTU setting. 96Selecting an MTU larger than 1500 bytes with the 97.Xr ifconfig 8 98utility configures the adapter to receive and transmit jumbo frames. 99Using jumbo frames can greatly improve performance for certain tasks, 100such as file transfers and data streaming. 101.Pp 102The 103.Nm 104driver supports the following media types: 105.Bl -tag -width ".Cm 10baseT/UTP" 106.It Cm autoselect 107Enable autoselection of the media type and options. 108The user can manually override 109the autoselected mode by adding media options to 110.Xr rc.conf 5 . 111.It Cm 10baseT/UTP 112Set 10Mbps operation. 113The 114.Xr ifconfig 8 115.Ic mediaopt 116option can also be used to select either 117.Cm full-duplex 118or 119.Cm half-duplex 120modes. 121.It Cm 100baseTX 122Set 100Mbps (fast ethernet) operation. 123The 124.Xr ifconfig 8 125.Ic mediaopt 126option can also be used to select either 127.Cm full-duplex 128or 129.Cm half-duplex 130modes. 131.It Cm 1000baseTX 132Set 1000baseTX operation over twisted pair. 133Only 134.Cm full-duplex 135mode is supported. 136.It Cm 1000baseSX 137Set 1000Mbps (gigabit ethernet) operation. 138Both 139.Cm full-duplex 140and 141.Cm half-duplex 142modes are supported. 143.El 144.Pp 145The 146.Nm 147driver supports the following media options: 148.Bl -tag -width ".Cm full-duplex" 149.It Cm full-duplex 150Force full duplex operation. 151.It Cm half-duplex 152Force half duplex operation. 153.El 154.Pp 155The 156.Nm 157driver also supports one special link option for 1000baseTX cards: 158.Bl -tag -width ".Cm link0" 159.It Cm link0 160With 1000baseTX cards, establishing a link between two ports requires 161that one port be configured as a master and the other a slave. 162With autonegotiation, 163the master/slave settings will be chosen automatically. 164However when manually selecting the link state, it is necessary to 165force one side of the link to be a master and the other a slave. 166The 167.Nm 168driver configures the ports as slaves by default. 169Setting the 170.Cm link0 171flag with 172.Xr ifconfig 8 173will set a port as a master instead. 174.El 175.Pp 176For more information on configuring this device, see 177.Xr ifconfig 8 . 178.Sh DIAGNOSTICS 179.Bl -diag 180.It "bge%d: couldn't map memory" 181A fatal initialization error has occurred. 182.It "bge%d: couldn't map ports" 183A fatal initialization error has occurred. 184.It "bge%d: couldn't map interrupt" 185A fatal initialization error has occurred. 186.It "bge%d: no memory for softc struct!" 187The driver failed to allocate memory for per-device instance information 188during initialization. 189.It "bge%d: failed to enable memory mapping!" 190The driver failed to initialize PCI shared memory mapping. 191This might 192happen if the card is not in a bus-master slot. 193.It "bge%d: no memory for jumbo buffers!" 194The driver failed to allocate memory for jumbo frames during 195initialization. 196.It "bge%d: watchdog timeout" 197The device has stopped responding to the network, or there is a problem with 198the network connection (cable). 199.El 200.Sh SEE ALSO 201.Xr arp 4 , 202.Xr miibus 4 , 203.Xr netintro 4 , 204.Xr ng_ether 4 , 205.Xr vlan 4 , 206.Xr ifconfig 8 207.Sh HISTORY 208The 209.Nm 210device driver first appeared in 211.Fx 4.5 . 212.Sh AUTHORS 213The 214.Nm 215driver was written by 216.An Bill Paul Aq wpaul@windriver.com . 217