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