xref: /freebsd/share/man/man4/bge.4 (revision 8194413b8d575b603cc1c0de2943c9a60f37d712)
195d67482SBill Paul.\" Copyright (c) 2001 Wind River Systems
295d67482SBill Paul.\" Copyright (c) 1997, 1998, 1999, 2000, 2001
395d67482SBill Paul.\"	Bill Paul <wpaul@windriver.com>. All rights reserved.
495d67482SBill Paul.\"
595d67482SBill Paul.\" Redistribution and use in source and binary forms, with or without
695d67482SBill Paul.\" modification, are permitted provided that the following conditions
795d67482SBill Paul.\" are met:
895d67482SBill Paul.\" 1. Redistributions of source code must retain the above copyright
995d67482SBill Paul.\"    notice, this list of conditions and the following disclaimer.
1095d67482SBill Paul.\" 2. Redistributions in binary form must reproduce the above copyright
1195d67482SBill Paul.\"    notice, this list of conditions and the following disclaimer in the
1295d67482SBill Paul.\"    documentation and/or other materials provided with the distribution.
1395d67482SBill Paul.\" 3. All advertising materials mentioning features or use of this software
1495d67482SBill Paul.\"    must display the following acknowledgement:
1595d67482SBill Paul.\"	This product includes software developed by Bill Paul.
1695d67482SBill Paul.\" 4. Neither the name of the author nor the names of any co-contributors
1795d67482SBill Paul.\"    may be used to endorse or promote products derived from this software
1895d67482SBill Paul.\"   without specific prior written permission.
1995d67482SBill Paul.\"
2095d67482SBill Paul.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
2195d67482SBill Paul.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2295d67482SBill Paul.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2395d67482SBill Paul.\" ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
2495d67482SBill Paul.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2595d67482SBill Paul.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2695d67482SBill Paul.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2795d67482SBill Paul.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
2895d67482SBill Paul.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
2995d67482SBill Paul.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
3095d67482SBill Paul.\" THE POSSIBILITY OF SUCH DAMAGE.
3195d67482SBill Paul.\"
3295d67482SBill Paul.\" $FreeBSD$
3395d67482SBill Paul.\"
34*8194413bSPyun YongHyeon.Dd November 7, 2010
3595d67482SBill Paul.Dt BGE 4
3695d67482SBill Paul.Os
3795d67482SBill Paul.Sh NAME
3895d67482SBill Paul.Nm bge
39*8194413bSPyun YongHyeon.Nd "Broadcom BCM57xx/BCM590x Gigabit/Fast Ethernet driver"
4095d67482SBill Paul.Sh SYNOPSIS
4116d78bb8STom RhodesTo compile this driver into the kernel,
4216d78bb8STom Rhodesplace the following lines in your
4390296834STom Rhodeskernel configuration file:
4486e3186eSTom Rhodes.Bd -ragged -offset indent
4595d67482SBill Paul.Cd "device miibus"
4695d67482SBill Paul.Cd "device bge"
4786e3186eSTom Rhodes.Ed
4886e3186eSTom Rhodes.Pp
4916d78bb8STom RhodesAlternatively, to load the driver as a
5016d78bb8STom Rhodesmodule at boot time, place the following line in
5186e3186eSTom Rhodes.Xr loader.conf 5 :
5286e3186eSTom Rhodes.Bd -literal -offset indent
5386e3186eSTom Rhodesif_bge_load="YES"
5486e3186eSTom Rhodes.Ed
5595d67482SBill Paul.Sh DESCRIPTION
5695d67482SBill PaulThe
5795d67482SBill Paul.Nm
58ed598065SChristian Bruefferdriver provides support for various NICs based on the Broadcom BCM570x,
59*8194413bSPyun YongHyeon571x, 572x, 575x, 576x, 578x, 5776x and 5778x Gigabit Ethernet controller
60*8194413bSPyun YongHyeonchips and the 590x and 5779x Fast Ethernet controller chips.
6195d67482SBill Paul.Pp
6295d67482SBill PaulAll of these NICs are capable of 10, 100 and 1000Mbps speeds over CAT5
6395d67482SBill Paulcopper cable, except for the SysKonnect SK-9D41 which supports only
6495d67482SBill Paul1000Mbps over multimode fiber.
6569826705SRuslan ErmilovThe BCM570x builds upon the technology of the Alteon Tigon II.
6669826705SRuslan ErmilovIt has two R4000 CPU cores and is PCI v2.2 and PCI-X v1.0 compliant.
6769826705SRuslan ErmilovIt supports IP, TCP
68959d6c24SRuslan Ermilovand UDP checksum offload for both receive and transmit,
6995d67482SBill Paulmultiple RX and TX DMA rings for QoS applications, rules-based
7095d67482SBill Paulreceive filtering, and VLAN tag stripping/insertion as well as
7169826705SRuslan Ermilova 256-bit multicast hash filter.
7269826705SRuslan ErmilovAdditional features may be
7395d67482SBill Paulprovided via value-add firmware updates.
7495d67482SBill PaulThe BCM570x supports TBI (ten bit interface) and GMII
752b3d1b3aSChristian Brueffertransceivers, which means it can be used with either copper or 1000baseX
7669826705SRuslan Ermilovfiber applications.
7769826705SRuslan ErmilovNote however the device only supports a single
7895d67482SBill Paulspeed in TBI mode.
7995d67482SBill Paul.Pp
80a02e220cSJohn PolstraMost BCM5700-based cards also use the Broadcom BCM5401 or BCM5411 10/100/1000
81f87717faSMike Pritchardcopper gigabit transceivers,
821d705c5cSColin Percivalwhich support autonegotiation of 10, 100 and 1000Mbps modes in
8395d67482SBill Paulfull or half duplex.
8495d67482SBill Paul.Pp
85*8194413bSPyun YongHyeonThe BCM5700, BCM5701, BCM5702, BCM5703, BCM5704 and BCM5717 also support
8611cff99dSChristian Bruefferjumbo frames, which can be configured
8795d67482SBill Paulvia the interface MTU setting.
8895d67482SBill PaulSelecting an MTU larger than 1500 bytes with the
8995d67482SBill Paul.Xr ifconfig 8
9095d67482SBill Paulutility configures the adapter to receive and transmit jumbo frames.
9195d67482SBill PaulUsing jumbo frames can greatly improve performance for certain tasks,
9295d67482SBill Paulsuch as file transfers and data streaming.
9395d67482SBill Paul.Pp
9495d67482SBill PaulThe
9595d67482SBill Paul.Nm
9695d67482SBill Pauldriver supports the following media types:
9769826705SRuslan Ermilov.Bl -tag -width ".Cm 10baseT/UTP"
9895d67482SBill Paul.It Cm autoselect
9995d67482SBill PaulEnable autoselection of the media type and options.
10095d67482SBill PaulThe user can manually override
10195d67482SBill Paulthe autoselected mode by adding media options to
10295d67482SBill Paul.Xr rc.conf 5 .
10395d67482SBill Paul.It Cm 10baseT/UTP
10495d67482SBill PaulSet 10Mbps operation.
10595d67482SBill PaulThe
10695d67482SBill Paul.Xr ifconfig 8
10795d67482SBill Paul.Ic mediaopt
10895d67482SBill Pauloption can also be used to select either
10995d67482SBill Paul.Cm full-duplex
11095d67482SBill Paulor
11195d67482SBill Paul.Cm half-duplex
11295d67482SBill Paulmodes.
11395d67482SBill Paul.It Cm 100baseTX
11479e8b03aSChristian BruefferSet 100Mbps (Fast Ethernet) operation.
11595d67482SBill PaulThe
11695d67482SBill Paul.Xr ifconfig 8
11795d67482SBill Paul.Ic mediaopt
11895d67482SBill Pauloption can also be used to select either
11995d67482SBill Paul.Cm full-duplex
12095d67482SBill Paulor
12195d67482SBill Paul.Cm half-duplex
12295d67482SBill Paulmodes.
12395d67482SBill Paul.It Cm 1000baseTX
12444704bfdSRuslan ErmilovSet 1000baseTX operation over twisted pair.
12544704bfdSRuslan ErmilovOnly
12695d67482SBill Paul.Cm full-duplex
127b4cb26bfSPaul Saabmode is supported.
12895d67482SBill Paul.It Cm 1000baseSX
12979e8b03aSChristian BruefferSet 1000Mbps (Gigabit Ethernet) operation.
13095d67482SBill PaulBoth
13195d67482SBill Paul.Cm full-duplex
13295d67482SBill Pauland
13395d67482SBill Paul.Cm half-duplex
13495d67482SBill Paulmodes are supported.
13595d67482SBill Paul.El
13695d67482SBill Paul.Pp
13795d67482SBill PaulThe
13895d67482SBill Paul.Nm
13995d67482SBill Pauldriver supports the following media options:
14069826705SRuslan Ermilov.Bl -tag -width ".Cm full-duplex"
14195d67482SBill Paul.It Cm full-duplex
14295d67482SBill PaulForce full duplex operation.
14395d67482SBill Paul.It Cm half-duplex
14495d67482SBill PaulForce half duplex operation.
14595d67482SBill Paul.El
14695d67482SBill Paul.Pp
14795d67482SBill PaulThe
14895d67482SBill Paul.Nm
14995d67482SBill Pauldriver also supports one special link option for 1000baseTX cards:
15069826705SRuslan Ermilov.Bl -tag -width ".Cm link0"
15195d67482SBill Paul.It Cm link0
15295d67482SBill PaulWith 1000baseTX cards, establishing a link between two ports requires
15395d67482SBill Paulthat one port be configured as a master and the other a slave.
15495d67482SBill PaulWith autonegotiation,
15595d67482SBill Paulthe master/slave settings will be chosen automatically.
15695d67482SBill PaulHowever when manually selecting the link state, it is necessary to
15795d67482SBill Paulforce one side of the link to be a master and the other a slave.
15895d67482SBill PaulThe
15995d67482SBill Paul.Nm
16095d67482SBill Pauldriver configures the ports as slaves by default.
16195d67482SBill PaulSetting the
16295d67482SBill Paul.Cm link0
16395d67482SBill Paulflag with
16495d67482SBill Paul.Xr ifconfig 8
16595d67482SBill Paulwill set a port as a master instead.
16695d67482SBill Paul.El
16795d67482SBill Paul.Pp
16895d67482SBill PaulFor more information on configuring this device, see
16995d67482SBill Paul.Xr ifconfig 8 .
17069f9d7b1SSimon L. B. Nielsen.Sh HARDWARE
17169f9d7b1SSimon L. B. NielsenThe
17269f9d7b1SSimon L. B. Nielsen.Nm
17369f9d7b1SSimon L. B. Nielsendriver provides support for various NICs based on the Broadcom BCM570x
17479e8b03aSChristian Bruefferfamily of Gigabit Ethernet controller chips, including the
17569f9d7b1SSimon L. B. Nielsenfollowing:
17669f9d7b1SSimon L. B. Nielsen.Pp
17769f9d7b1SSimon L. B. Nielsen.Bl -bullet -compact
17869f9d7b1SSimon L. B. Nielsen.It
179bb22863bSChristian Brueffer3Com 3c996-SX (1000baseSX)
180bb22863bSChristian Brueffer.It
18169f9d7b1SSimon L. B. Nielsen3Com 3c996-T (10/100/1000baseTX)
18269f9d7b1SSimon L. B. Nielsen.It
18369f9d7b1SSimon L. B. NielsenDell PowerEdge 1750 integrated BCM5704C NIC (10/100/1000baseTX)
18469f9d7b1SSimon L. B. Nielsen.It
18569f9d7b1SSimon L. B. NielsenDell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseTX)
18669f9d7b1SSimon L. B. Nielsen.It
18769f9d7b1SSimon L. B. NielsenDell PowerEdge 2650 integrated BCM5703 NIC (10/100/1000baseTX)
18869f9d7b1SSimon L. B. Nielsen.It
18922ccc253SJoel DahlDell PowerEdge R200 integrated BCM5750 NIC (10/100/1000baseTX)
19022ccc253SJoel Dahl.It
19122ccc253SJoel DahlDell PowerEdge R300 integrated BCM5722 NIC (10/100/1000baseTX)
19222ccc253SJoel Dahl.It
19369f9d7b1SSimon L. B. NielsenIBM x235 server integrated BCM5703x NIC (10/100/1000baseTX)
19469f9d7b1SSimon L. B. Nielsen.It
195878124feSGleb SmirnoffHP Compaq dc7600 integrated BCM5752 NIC (10/100/1000baseTX)
196878124feSGleb Smirnoff.It
19769f9d7b1SSimon L. B. NielsenHP ProLiant NC7760 embedded Gigabit NIC (10/100/1000baseTX)
19869f9d7b1SSimon L. B. Nielsen.It
19969f9d7b1SSimon L. B. NielsenHP ProLiant NC7770 PCI-X Gigabit NIC (10/100/1000baseTX)
20069f9d7b1SSimon L. B. Nielsen.It
201c8250f08SAndrew ThompsonHP ProLiant NC7771 PCI-X Gigabit NIC (10/100/1000baseTX)
202c8250f08SAndrew Thompson.It
20369f9d7b1SSimon L. B. NielsenHP ProLiant NC7781 embedded PCI-X Gigabit NIC (10/100/1000baseTX)
20469f9d7b1SSimon L. B. Nielsen.It
20569f9d7b1SSimon L. B. NielsenNetgear GA302T (10/100/1000baseTX)
20669f9d7b1SSimon L. B. Nielsen.It
20769f9d7b1SSimon L. B. NielsenSysKonnect SK-9D21 (10/100/1000baseTX)
20869f9d7b1SSimon L. B. Nielsen.It
20969f9d7b1SSimon L. B. NielsenSysKonnect SK-9D41 (1000baseSX)
21069f9d7b1SSimon L. B. Nielsen.El
2110d7c3728SScott Long.Sh LOADER TUNABLES
2120f89fde2SJung-uk KimThe following tunable can be set at the
2130d7c3728SScott Long.Xr loader 8
2140d7c3728SScott Longprompt before booting the kernel, or stored in
2150d7c3728SScott Long.Xr loader.conf 5 .
2160d7c3728SScott Long.Bl -tag -width indent
2170d7c3728SScott Long.It Va hw.bge.allow_asf
2180d7c3728SScott LongAllow the ASF feature for cooperating with IPMI.
2190d7c3728SScott LongCan cause system lockup problems on a small number of systems.
2200d7c3728SScott LongEnabled by default.
2210d7c3728SScott Long.El
2228024e982SPyun YongHyeon.Sh SYSCTL VARIABLES
2238024e982SPyun YongHyeonThe following variables are available as both
2248024e982SPyun YongHyeon.Xr sysctl 8
2258024e982SPyun YongHyeonvariables and
2268024e982SPyun YongHyeon.Xr loader 8
2278024e982SPyun YongHyeontunables:
2288024e982SPyun YongHyeon.Bl -tag -width indent
2298024e982SPyun YongHyeon.It Va dev.bge.%d.forced_collapse
2308024e982SPyun YongHyeonAllow collapsing multiple transmit buffers into a single buffer
2318024e982SPyun YongHyeonto increase transmit performance with the cost of CPU cycles.
2328024e982SPyun YongHyeonThe default value is 0 to disable transmit buffer collapsing.
2338024e982SPyun YongHyeon.It Va dev.bge.%d.forced_udpcsum
2348024e982SPyun YongHyeonEnable UDP transmit checksum offloading even if controller can generate
2358024e982SPyun YongHyeonUDP datagrams with checksum value 0.
2368024e982SPyun YongHyeonUDP datagrams with checksum value 0 can confuse receiver host as it means
2378024e982SPyun YongHyeonsender did not compute UDP checksum.
2388024e982SPyun YongHyeonThe default value is 0 which disables UDP transmit checksum offloading.
2398024e982SPyun YongHyeonThe interface need to be brought down and up again before a change takes
2408024e982SPyun YongHyeoneffect.
2418024e982SPyun YongHyeon.El
24295d67482SBill Paul.Sh DIAGNOSTICS
24395d67482SBill Paul.Bl -diag
24495d67482SBill Paul.It "bge%d: couldn't map memory"
24595d67482SBill PaulA fatal initialization error has occurred.
24695d67482SBill Paul.It "bge%d: couldn't map ports"
24795d67482SBill PaulA fatal initialization error has occurred.
24895d67482SBill Paul.It "bge%d: couldn't map interrupt"
24995d67482SBill PaulA fatal initialization error has occurred.
25095d67482SBill Paul.It "bge%d: no memory for softc struct!"
25195d67482SBill PaulThe driver failed to allocate memory for per-device instance information
25295d67482SBill Paulduring initialization.
25395d67482SBill Paul.It "bge%d: failed to enable memory mapping!"
25495d67482SBill PaulThe driver failed to initialize PCI shared memory mapping.
25595d67482SBill PaulThis might
25695d67482SBill Paulhappen if the card is not in a bus-master slot.
25795d67482SBill Paul.It "bge%d: no memory for jumbo buffers!"
25895d67482SBill PaulThe driver failed to allocate memory for jumbo frames during
25995d67482SBill Paulinitialization.
26095d67482SBill Paul.It "bge%d: watchdog timeout"
26195d67482SBill PaulThe device has stopped responding to the network, or there is a problem with
26295d67482SBill Paulthe network connection (cable).
26395d67482SBill Paul.El
26495d67482SBill Paul.Sh SEE ALSO
265a25ecdffSChristian Brueffer.Xr altq 4 ,
26695d67482SBill Paul.Xr arp 4 ,
267071d726dSTom Rhodes.Xr miibus 4 ,
26895d67482SBill Paul.Xr netintro 4 ,
26995d67482SBill Paul.Xr ng_ether 4 ,
2706a38205eSChristian Brueffer.Xr polling 4 ,
27195d67482SBill Paul.Xr vlan 4 ,
27295d67482SBill Paul.Xr ifconfig 8
27395d67482SBill Paul.Sh HISTORY
27495d67482SBill PaulThe
27595d67482SBill Paul.Nm
27695d67482SBill Pauldevice driver first appeared in
27769826705SRuslan Ermilov.Fx 4.5 .
27895d67482SBill Paul.Sh AUTHORS
27995d67482SBill PaulThe
28095d67482SBill Paul.Nm
28195d67482SBill Pauldriver was written by
28295d67482SBill Paul.An Bill Paul Aq wpaul@windriver.com .
283