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