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
|
.\"
.\" Copyright (c) 1996 Michael Smith
.\" All rights reserved.
.\"
.\" 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.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
.\"
.\" $Id$
.\"
.Dd March 4, 1997
.Dt ED 4 i386
.Os FreeBSD
.Sh NAME
.Nm wl
.Nd
NCR Wavelan device driver
.Sh SYNOPSIS
.Cd "device wl0 at isa? port 0x300 net irq ? vector wlintr"
.Sh DESCRIPTION
The
.Nm
driver provides support for the ISA bus AT&T/NCR/Lucent Wavelan
ethernet-like wireless network cards.
.Pp
All card configuration values except for the base address are read from the PSA
(Parameter Storage Area) on the card, which can be configured with the
.Xr wlconfig 8
program. The base address for the card is set by dipswitches; see the manual
supplied with the card for details.
.Pp
The
.Nm
driver does not accept any flags, however its behaviour can be controlled with
a number of sysctl values:
.Bl -hang -offset indent
.It Em machdep.wl_xmit_delay
On some systems, the driver is too fast for the Wavelan card. This value can be
tweaked to slow the output rate of the driver at the expense of CPU performance.
A value of 200 is believed to be acceptable for 486 systems, while 1000 is
considered adequate for a 166MHz Pentium.
.It Em machdep.wl_xmit_watch
Causes extra debugging messages concerning the state of transmitted packets to
be printed.
.It Em machdep.wl_gather_snr
SNR statistics are gathered. This is not completely implemented yet.
.El
.Sh DIAGNOSTICS
.Bl -diag
.It "wl%d: PSA corrupt (invalid IRQ value)"
The IRQ value in the PSA is illegal. The card will be configured not to generate
any interrupts, ie. it will not work as a network device, however it will be possible
to use
.Xr wlconfig 8
to reconfigure the IRQ to a sensible value.
.It "wl%d init(): trouble resetting board."
.It "wl%d bldcu(): iscp_busy timeout."
.It "wl%d bldcu(): not ready after reset."
The board failed to respond correctly during reset and configuration.
.It "wl%d: busy?!"
While attempting to queue a packet for transmission, the card claims to
be busy although we were sure it wasn't.
.It "wl%d read(): board is not running."
An attempt was made to read a packet from the card, but we don't think that
it's running. Should never happen.
.It "wl%d read(): Invalid buffer"
The i82586 on the card has corrupted its buffers.
.It "wl%d read(): hwrst trouble."
Having failed to meet expectations, the i82586 on the card is refusing to reset.
.It "wl%d read(): No mbuf nth"
An error occurred allocating mbufs to copy a received packet to.
.It "wl%d ioctl(): board is not running"
The interface was marked as DOWN but still RUNNING. Harmless.
.It "wlack() int bits disappeared : %04x != int_type %04x"
While acknowledging an interrupt, some of the interrupt sources on the i83586
went away.
.It "wl%d: xmt intr but not busy, CU %04x"
A transmit interrupt occurred but we are not expecting one.
.It "wl%d: xmt intr but ac_status == 0"
A transmit interrupt occurred but there is no status to indicate that one should
have been generated.
.It "wl%d: xmt aborted"
The transmission of a packet was aborted.
.It "wl%d: no CTS"
A packet was not transmitted because the CTS input to the i82586 went away.
.It "wl%d: DMA underrun"
The DMA hardware on the Wavelan card failed, causing an outgoing packet to be
lost.
.It "wl%d: xmt deferred"
Transmission of a packet was deferred to avoid other traffic.
.It "wl%d: heart beat"
The i82586 thought it heard a heartbeat signal. This usually means that there's
someone else transmitting at the same time.
.It "wl%d: too many collisions"
A packet was aborted because too many collisions occurred trying to send it.
.It "wl%d RCV: !OK %x"
A receive operation did not complete OK.
.It "wl%d: slow accepting xmit"
The i82586 on the card is taking a long time to accept a transmit command.
.It "wl%d: i82586 Self Test failed!"
Diagnostics on the i82586 failed.
.It "wl%d: %s failed; status = %d, inw = %x, outw = %x"
A command to the i82586 failed.
.It "wl%d wlack(): board not accepting command."
The card is not responding to an interrupt acknowledge.
.El
.Sh CAVEATS
The cards are known to lose transmit interrupts under heavy load. Ajust the
machdep.wl_xmit_delay parameter to avoid this.
.Pp
On one test link, packet loss was significant enough to causes major lagging.
.Sh BUGS
The
.Nm
driver is very old and has been hacked on by many people. The i82586 is an
odd and funky device. The two are not necessarily a good mix.
.Sh SEE ALSO
.Xr wlconfig 8 ,
.Xr netintro 4 ,
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
device driver was written/ported for Mach by Anders Klemets, ported to BSD/OS
by Richard Morris, to FreeBSD 2.1 by Jim Binkley and to FreeBSD 2.2 by Michael
Smith. It has not appeared in any FreeBSD releases yet.
|