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