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