Merge branch 'vendor/GCC44' into gcc442
[dragonfly.git] / share / man / man4 / man4.i386 / wl.4
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: src/share/man/man4/man4.i386/wl.4,v 1.10.2.5 2002/03/19 18:24:15 schweikh Exp $
32 .\" $DragonFly: src/share/man/man4/man4.i386/wl.4,v 1.5 2008/04/15 19:19:49 swildner Exp $
33 .Dd July 7, 1997
34 .Dt WL 4 i386
35 .Os
36 .Sh NAME
37 .Nm wl
38 .Nd T1 speed ISA/radio lan card
39 .Sh SYNOPSIS
40 .Cd "device wl0 at isa? port 0x300 irq 5"
41 .Sh DESCRIPTION
42 The
43 .Nm
44 driver controls a radio lan card system made originally by
45 NCR, then ATT, now Lucent.  The system is spread-spectrum radio
46 at around 915 MHz (or 2.4 GHz).  With the supplied omni-directional antennae,
47 about 400 feet (indoors, more outdoors) can be covered in circumference.
48 This card can talk to the companion (wlp0) pccard.  Speeds vary
49 from 1 megabit to theoretically 2 megabits (roughly T1 in speed).
50 .Pp
51 The card has three fundamental hardware
52 units, a so-called PSA or programmable storage area, a radio modem,
53 and an ethernet lan controller.  The latter component is the
54 ancient (and not very honorable) Intel 82586 ethernet chip.
55 Fundamentally it appears to the operating system as an ethernet system,
56 and speaks IEEE MAC addresses.  The radio modem simply translates
57 ethernet packets to/from radio packets, that are either at 2.4 GHz
58 or 915 MHz depending on the radio modem.  It supports a collision
59 avoidance scheme.  The lan controller
60 supports promiscuous mode, broadcast, and multicasting
61 (although there is a glitch
62 in the latter).  "It thinks it is ethernet".
63 .Pp
64 How it is used
65 depends on the kind of antennae deployed with it.  Point to point
66 applications are possible as are ethernet-like lan use.  The vendor
67 ships an omni-directional antennae that works in the
68 vicinity of 400 feet (indoors).
69 Point to point antennae can be purchased that will go miles.
70 .Sh SETUP
71 The card can either be initialized with the vendor supplied DOS setup software.
72 Typically minimally an IRQ, port, and Network ID must be supplied.
73 Michael Smith's
74 .Xr wlconfig 8
75 utility can now be used to do this work from the
76 .Ux
77 side.  The card is "not" plug and play.
78 The network id controls whether one set of cards can hear another.
79 If different, cards will read physical packets, but they will be discarded
80 by the radio modem.
81 .Sh CONTROL
82 In addition to the config utility, there are several sysctl
83 switches that can be used to modify runtime parameters.
84 The
85 .Xr sysctl 8
86 variables are as follows:
87 .Bl -diag
88 .It "machdep.wl_xmit_delay <useconds>"
89 This variable will cause the driver to insert a delay on transmit.
90 250 is the default.  The delay should probably be a bit longer
91 on faster cpus and less on slower cpus.  It exists because the 82586
92 was not designed to work with pentium-speed cpu systems and if overdriven
93 will have copious xmit side errors.
94 .It machdep.wl_ignore_nwid <0 | 1>
95 This switch defaults to 0; i.e., the nwid is not ignored.  It can
96 be set to 1 to cause the nwid to not be used.  This may be useful
97 when the device is in promiscuous mode as one can watch for all
98 packets and ignore nwid differences.
99 .It machdep.wl_xmit_watch <milliseconds>
100 This switch is not currently useful.
101 .It machdep.wl_gather_snr <milliseconds>
102 This switch is not currently useful.
103 .Pp
104 There is also a signal strength cache in the driver.  It may be interrogated
105 with
106 .Xr wlconfig 8 .
107 Incoming packets
108 are checked for certain hardware radio-modem values including signal
109 strength, silence, and quality, which range fro 0..63, 0..63, and 0..15
110 respectively.  Thus one can read out signal strenth values to see
111 how close/far peer nodes are.  The signal strength cache is indexed by
112 sender MAC address.
113 There are two sysctls that change how it filters packets.  Both are on
114 by default.
115 .It machdep.wl_wlcache_mcastonly <0 | 1>
116 By default this switch is on.
117 It forces the cache to filter out
118 unicast packets.  Only broadcast or multicast packets are accepted.
119 .It machdep.wl_wlcache_iponly <0 | 1>
120 By default this switch is on.  It forces the driver to discard non-IP
121 packets and also stores the IP src address.  ARP packets are ignored,
122 as are any other network protocol barring IPv4 packets.
123 .El
124 .Sh CAVEATS
125 The 82586 has numerous defects.  It may experience transmit-side
126 errors when modern faster cpus send packets at it faster than it can handle.
127 The driver (and probably the chip) does not support an all multicast mode.
128 As a result, it can be used with applications like
129 .Xr mrouted 8 ,
130 but it must go into promiscuous mode for that to work.  The driver
131 is slow to change modes from "normal" to promiscuous mode, presumably
132 due to delays in the configuration code.
133 .Sh SEE ALSO
134 .Xr sysctl 8 ,
135 .Xr wlconfig 8
136 .Pp
137 .Pa http://web.archive.org/web/*/http://www.wavelan.com
138 .Sh HISTORY
139 The
140 .Nm
141 driver was written by
142 .An Anders Klemets
143 (thousands of years ago?) and
144 appears to be based on an even older Intel 82586 driver.  The 82586
145 controller was one of the first (if not the first?) integrated lan
146 controller on the block.  That does not mean it was the best either.
147 Anders ported and or created a driver for the ISA wavelan and PCCARD
148 wavelan system too (wlp).
149 .An Robert T. Morris, Jr.
150 ported the Mach drivers to BSDI.
151 .An Jim Binkley
152 ported them to
153 .Fx 2.1 .
154 .An Michael Smith
155 ported the wl driver only to 2.2.2.  Jim and Michael have been
156 maintaining them.  The current state of the driver is NOT ANYONE'S
157 FAULT.  Thanks to
158 .An Bernie Doehner
159 and
160 .An Robert Buaas
161 for contributions.
162 .Sh AUTHORS
163 Too numerous to mention.  See above.