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