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