1.\" $OpenBSD: bce.4,v 1.2 2004/02/14 20:11:51 andreas Exp $
2.\" $NetBSD: bce.4,v 1.2 2003/10/05 11:58:36 wiz Exp $
3.\"
4.\" Copyright (c) 2003 The NetBSD Foundation, Inc.
5.\" All rights reserved.
6.\"
7.\" This code is derived from software contributed to The NetBSD Foundation
8.\" by Thomas Klausner.
9.\"
10.\" Redistribution and use in source and binary forms, with or without
11.\" modification, are permitted provided that the following conditions
12.\" are met:
13.\" 1. Redistributions of source code must retain the above copyright
14.\"    notice, this list of conditions and the following disclaimer.
15.\" 2. Redistributions in binary form must reproduce the above copyright
16.\"    notice, this list of conditions and the following disclaimer in the
17.\"    documentation and/or other materials provided with the distribution.
18.\" 3. All advertising materials mentioning features or use of this software
19.\"    must display the following acknowledgement:
20.\"        This product includes software developed by the NetBSD
21.\"        Foundation, Inc. and its contributors.
22.\" 4. Neither the name of The NetBSD Foundation nor the names of its
23.\"    contributors may be used to endorse or promote products derived
24.\"    from this software without specific prior written permission.
25.\"
26.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36.\" POSSIBILITY OF SUCH DAMAGE.
37.\"
38.Dd September 28, 2003
39.Dt BCE 4
40.Os
41.Sh NAME
42.Nm bce
43.Nd Broadcom BCM4401 Ethernet device driver
44.Sh SYNOPSIS
45.Cd "bce* at pci? dev ? function ?"
46.Sh DESCRIPTION
47The
48.Nm
49provides support for the Broadcom BCM4401 10/100 Ethernet card.
50Other cards from the 440x series may also be supported.
51.Pp
52The following media types and options (as given to
53.Xr ifconfig 8 )
54are supported:
55.Bl -tag -width xxx -offset indent
56.It Cm media No autoselect
57Enable autoselection of the media type and options (default).
58.It Cm media No 100baseTX Cm mediaopt No full-duplex
59Set 100Mbps (Fast Ethernet) operation and force full-duplex mode.
60.It Cm media No 100baseTX Cm mediaopt No half-duplex
61Set 100Mbps (Fast Ethernet) operation and force half-duplex mode.
62.It Cm media No 10baseT Cm mediaopt No full-duplex
63Set 10Mbps operation and force full-duplex.
64.It Cm media No 10baseT Cm mediaopt No half-duplex
65Set 10Mbps operation and force half-duplex.
66.El
67.Pp
68If no media options are present, the
69.Nm
70driver places the card into autoselect mode.
71.Sh DIAGNOSTICS
72.Bl -diag
73.It "bce%d: failed to enable memory mapping!"
74A fatal initialization error has occurred.
75.It "bce%d: unable to find mem space"
76A fatal initialization error has occurred.
77.It "bce%d: unable to wake up from power state D%d"
78The card has lost its configuration data during power save mode.
79.It "bce%d: couldn't map interrupt"
80A fatal initialization error has occurred.
81.It "bce%d: couldn't establish interrupt"
82A fatal initialization error has occurred.
83.It "bce%d: unable to alloc space for ring descriptors, error = %d"
84A fatal initialization error has occurred.
85.It "bce%d: unable to map DMA buffers, error = %d"
86A fatal initialization error has occurred.
87.It "bce%d: unable to create ring DMA map, error = %d"
88A fatal initialization error has occurred.
89.It "bce%d: unable to create tx DMA map, error = %d"
90A fatal initialization error has occurred.
91.It "bce%d: unable to create rx DMA map, error = %d"
92A fatal initialization error has occurred.
93.It "bce%d: Tx packet consumes too many DMA segments, dropping..."
94An outgoing packet didn't fit in the allocated number of segments.
95.It "bce%d: unable to load Tx buffer, error = %d"
96Short on resources when transmitting a packet, it will be retried later.
97.It "bce%d: device timeout"
98The device has stopped responding to the network or there is a problem
99with the network connection (cable).
100.It "bce%d: transmit fifo underflow"
101An error occurred, the interface will be reinitialized.
102.It "bce%d: receive fifo overflow"
103An error occurred, the interface will be reinitialized.
104.It "bce%d: receive descriptor underflow"
105An error occurred, the interface will be reinitialized.
106.It "bce%d: descriptor protocol error"
107An error occurred, the interface will be reinitialized.
108.It "bce%d: data error"
109An error occurred, the interface will be reinitialized.
110.It "bce%d: descriptor error"
111An error occurred, the interface will be reinitialized.
112.It "bce%d: general purpose timeout"
113An error occurred, the interface will be reinitialized.
114.It "bce%d: unable to allocate or map rx(%d) mbuf, error = %d"
115Failed to initialize the interface.
116.It "bce%d: timed out writing pkt filter ctl"
117Failed to add MAC address.
118.It "bce%d: timed out disabling ethernet mac"
119A problem occurred when resetting the interface.
120.It "bce%d: receive dma did not go idle after error"
121A problem occurred when resetting the interface.
122.It "bce%d: timed out resetting ethernet mac"
123A problem occurred when resetting the interface.
124.It "bce%d: while resetting core, reject did not set"
125A problem occurred when resetting the interface.
126.It "bce%d: while resetting core, busy did not clear"
127A problem occurred when resetting the interface.
128.It "bce%d: PHY read timed out reading phy %d, reg %d, val = %x"
129An error occurred when reading a PHY register on the MII.
130.It "bce%d: PHY read timed out writing phy %d, reg %d, val = %x"
131An error occurred when writing a PHY register on the MII.
132.El
133.Sh SEE ALSO
134.Xr bge 4 ,
135.Xr mii 4 ,
136.Xr pci 4 ,
137.Xr ukphy 4
138.Sh HISTORY
139The
140.Nm
141driver appeared in
142.Nx 1.6.2 .
143.Ox
144support was added in
145.Ox 3.5
146.Sh AUTHORS
147The
148.Nm
149driver was written by
150.An Cliff Wright Aq cliff@snipe444.org
151and ported to
152.Ox
153by
154.An Nathan L. Binkert Aq binkertn@umich.edu .
155