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