xref: /NextBSD/share/man/man4/man4.i386/wl.4 (revision c21ffb8d6aca32c9584cfa072f309a5890a21aea)
1.\"
2.\" Copyright (c) 1997, Jim Binkley
3.\" 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 Jim Binkley
16.\" 4. The name of the author may not be used to endorse or promote products
17.\"    derived from this software without specific prior written permission.
18.\"
19.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
20.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
23.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29.\" SUCH DAMAGE.
30.\"
31.\" $FreeBSD$
32.Dd September 29, 2006
33.Dt WL 4 i386
34.Os
35.Sh NAME
36.Nm wl
37.Nd T1 speed ISA/radio lan card
38.Sh SYNOPSIS
39.Cd "device wl0 at isa? port 0x300 irq 5"
40.Sh DESCRIPTION
41The
42.Nm
43driver controls a radio lan card system made originally by
44NCR, then ATT, now Lucent.
45The system is spread-spectrum radio
46at around 915 MHz (or 2.4 GHz).
47With the supplied omni-directional antennae,
48about 400 feet (indoors, more outdoors) can be covered in circumference.
49This card can talk to the companion (wlp0) pccard.
50Speeds vary
51from 1 megabit to theoretically 2 megabits (roughly T1 in speed).
52.Pp
53The card has three fundamental hardware
54units, a so-called PSA or programmable storage area, a radio modem,
55and a Ethernet lan controller.
56The latter component is the
57ancient (and not very honorable) Intel 82586 Ethernet chip.
58Fundamentally it appears to the operating system as an Ethernet system,
59and speaks IEEE MAC addresses.
60The radio modem simply translates
61Ethernet packets to/from radio packets, that are either at 2.4 GHz
62or 915 MHz depending on the radio modem.
63It supports a collision
64avoidance scheme.
65The lan controller
66supports promiscuous mode, broadcast, and multicasting
67(although there is a glitch
68in the latter).
69"It thinks it is Ethernet".
70.Pp
71How it is used
72depends on the kind of antennae deployed with it.
73Point to point
74applications are possible as are Ethernet-like lan use.
75The vendor
76ships an omni-directional antennae that works in the
77vicinity of 400 feet (indoors).
78Point to point antennae can be purchased that will go miles.
79.Sh SETUP
80The card can either be initialized with the vendor supplied DOS setup software.
81Typically minimally an IRQ, port, and Network ID must be supplied.
82Michael Smith's
83.Xr wlconfig 8
84utility can now be used to do this work from
85the UNIX side.
86The card is "not" plug and play.
87The network id controls whether one set of cards can hear another.
88If different, cards will read physical packets, but they will be discarded
89by the radio modem.
90.Sh CONTROL
91In addition to the config utility, there are several sysctl
92switches that can be used to modify runtime parameters.
93The
94.Xr sysctl 8
95variables are as follows:
96.Bl -diag
97.It "machdep.wl_xmit_delay <useconds>"
98This variable will cause the driver to insert a delay on transmit.
99250 is the default.
100The delay should probably be a bit longer
101on faster cpus and less on slower cpus.
102It exists because the 82586
103was not designed to work with Pentium-speed cpu systems and if overdriven
104will have copious xmit side errors.
105.It machdep.wl_ignore_nwid <0 | 1>
106This switch defaults to 0; i.e., the nwid is not ignored.
107It can
108be set to 1 to cause the nwid to not be used.
109This may be useful
110when the device is in promiscuous mode as one can watch for all
111packets and ignore nwid differences.
112.It machdep.wl_xmit_watch <milliseconds>
113This switch is not currently useful.
114.It machdep.wl_gather_snr <milliseconds>
115This switch is not currently useful.
116.Pp
117There is also a signal strength cache in the driver.
118It may be interrogated
119with
120.Xr wlconfig 8 .
121Incoming packets
122are checked for certain hardware radio-modem values including signal
123strength, silence, and quality, which range fro 0..63, 0..63, and 0..15
124respectively.
125Thus one can read out signal strenth values to see
126how close/far peer nodes are.
127The signal strength cache is indexed by
128sender MAC address.
129There are two sysctls that change how it filters packets.
130Both are on
131by default.
132.It machdep.wl_wlcache_mcastonly <0 | 1>
133By default this switch is on.
134It forces the cache to filter out
135unicast packets.
136Only broadcast or multicast packets are accepted.
137.It machdep.wl_wlcache_iponly <0 | 1>
138By default this switch is on.
139It forces the driver to discard non-IP
140packets and also stores the IP src address.
141ARP packets are ignored,
142as are any other network protocol barring IPv4 packets.
143.El
144.Sh SEE ALSO
145.Xr sysctl 8 ,
146.Xr wlconfig 8
147.Pp
148.Pa http://www.wavelan.com
149.Sh HISTORY
150The
151.Nm
152driver was written by
153.An Anders Klemets
154(thousands of years ago?) and
155appears to be based on an even older Intel 82586 driver.
156The 82586
157controller was one of the first (if not the first?) integrated lan
158controller on the block.
159That does not mean it was the best either.
160Anders ported and or created a driver for the ISA wavelan and PCCARD
161wavelan system too (wlp).
162.An Robert T. Morris, Jr.
163ported the Mach drivers to BSDI.
164.An Jim Binkley
165ported them to
166.Fx 2.1 .
167.An Michael Smith
168ported the
169.Nm
170driver only to 2.2.2.
171Jim and Michael have been
172maintaining them.
173The current state of the driver is NOT ANYONE'S
174FAULT.
175Thanks to
176.An Bernie Doehner
177and
178.An Robert Buaas
179for contributions.
180.Sh AUTHORS
181Too numerous to mention.
182See above.
183.Sh CAVEATS
184The 82586 has numerous defects.
185It may experience transmit-side
186errors when modern faster cpus send packets at it faster than it can handle.
187The driver (and probably the chip) does not support an all multicast mode.
188As a result, it can be used with applications like
189.Xr mrouted 8 Pq Pa ports/net/mrouted ,
190but it must go into promiscuous mode for that to work.
191The driver
192is slow to change modes from "normal" to promiscuous mode, presumably
193due to delays in the configuration code.
194