xref: /dragonfly/share/man/man4/bge.4 (revision 25a2db75)
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: src/share/man/man4/bge.4,v 1.1.2.4 2003/02/17 21:20:39 trhodes Exp $
33.\" $DragonFly: src/share/man/man4/bge.4,v 1.10 2008/07/11 10:38:50 thomas Exp $
34.\"
35.Dd March 4, 2007
36.Dt BGE 4
37.Os
38.Sh NAME
39.Nm bge
40.Nd "Broadcom BCM570x PCI gigabit ethernet adapter driver"
41.Sh SYNOPSIS
42.Cd "device miibus"
43.Cd "device bge"
44.Sh DESCRIPTION
45The
46.Nm
47driver provides support for various NICs based on the Broadcom BCM570x
48family of gigabit ethernet controller chips, including the
49following:
50.Pp
51.Bl -bullet -compact
52.It
533Com 3c996-T (10/100/1000baseT)
54.It
55Dell PowerEdge 2550 integrated BCM5700 NIC (10/100/1000baseT)
56.It
57Netgear GA302T (10/100/1000baseT)
58.It
59SysKonnect SK-9D21 (10/100/1000baseT)
60.It
61SysKonnect SK-9D41 (1000baseSX)
62.El
63.Pp
64All of these NICs are capable of 10, 100 and 1000Mbps speeds over CAT5
65copper cable, except for the SysKonnect SK-9D41 which supports only
661000Mbps over multimode fiber.
67The BCM570x builds upon the technology of the Alteon Tigon II.
68It has two R4000 CPU cores and is PCI v2.2 and PCI-X v1.0 compliant.
69It supports IP, TCP
70and UDP checksum offload for both receive and transmit,
71multiple RX and TX DMA rings for QoS applications, rules-based
72receive filtering, and VLAN tag stripping/insertion as well as
73a 256-bit multicast hash filter.
74Additional features may be
75provided via value-add firmware updates.
76The BCM570x supports TBI (ten bit interface) and GMII
77transceivers, which means it can be used with either copper or 1000baseX
78fiber applications.
79Note however the device only supports a single
80speed in TBI mode.
81.Pp
82Most cards also use the Broadcom BCM5401 or BCM5411 10/100/1000
83copper gigabit transceivers,
84which support autonegotiation of 10, 100 and 1000mbps modes in
85full or half duplex.
86.Pp
87The BCM5700 also supports jumbo frames, which can be configured
88via the interface MTU setting.
89Selecting an MTU larger than 1500 bytes with the
90.Xr ifconfig 8
91utility configures the adapter to receive and transmit jumbo frames.
92Using jumbo frames can greatly improve performance for certain tasks,
93such as file transfers and data streaming.
94.Pp
95The
96.Nm
97driver supports the following media types:
98.Bl -tag -width ".Cm 10baseT/UTP"
99.It Cm autoselect
100Enable autoselection of the media type and options.
101The user can manually override
102the autoselected mode by adding media options to
103.Xr rc.conf 5 .
104.It Cm 10baseT/UTP
105Set 10Mbps operation.
106The
107.Xr ifconfig 8
108.Ic mediaopt
109option can also be used to select either
110.Cm full-duplex
111or
112.Cm half-duplex
113modes.
114.It Cm 100baseTX
115Set 100Mbps (fast ethernet) operation.
116The
117.Xr ifconfig 8
118.Ic mediaopt
119option can also be used to select either
120.Cm full-duplex
121or
122.Cm half-duplex
123modes.
124.It Cm 1000baseT
125Set 1000baseT operation over twisted pair.
126.Cm full-duplex
127and
128.Cm half-duplex
129modes are supported.
130.It Cm 1000baseSX
131Set 1000Mbps (gigabit ethernet) operation.
132Both
133.Cm full-duplex
134and
135.Cm half-duplex
136modes are supported.
137.El
138.Pp
139The
140.Nm
141driver supports the following media options:
142.Bl -tag -width ".Cm full-duplex"
143.It Cm full-duplex
144Force full duplex operation.
145.It Cm half-duplex
146Force half duplex operation.
147.El
148.Pp
149The
150.Nm
151driver also supports one special link option for 1000baseT cards:
152.Bl -tag -width ".Cm link0"
153.It Cm link0
154With 1000baseT cards, establishing a link between two ports requires
155that one port be configured as a master and the other a slave.
156With autonegotiation,
157the master/slave settings will be chosen automatically.
158However when manually selecting the link state, it is necessary to
159force one side of the link to be a master and the other a slave.
160The
161.Nm
162driver configures the ports as slaves by default.
163Setting the
164.Cm link0
165flag with
166.Xr ifconfig 8
167will set a port as a master instead.
168.El
169.Pp
170For more information on configuring this device, see
171.Xr ifconfig 8 .
172The
173.Nm
174driver supports
175.Xr polling 4 .
176.Sh TUNABLES
177.Bl -tag -width ".Va hw.bge.fake_autoneg"
178.It Va hw.bge.fake_autoneg
179Set to 1 for some
180.Tn IBM
181blade servers,
182if auto-negotiation between the onboard
183.Nm
184and the switch module is broken.
185Disabled by default.
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 ifmedia 4 ,
212.Xr miibus 4 ,
213.Xr netintro 4 ,
214.Xr ng_ether 4 ,
215.Xr polling 4 ,
216.Xr vlan 4 ,
217.Xr ifconfig 8
218.Sh HISTORY
219The
220.Nm
221device driver first appeared in
222.Fx 4.5 .
223.Sh AUTHORS
224The
225.Nm
226driver was written by
227.An Bill Paul Aq wpaul@windriver.com .
228