161 lines
6.7 KiB
Groff
161 lines
6.7 KiB
Groff
.\"
|
|
.\" Copyright (c) 1997, Jim Binkley
|
|
.\" 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.
|
|
.\" 3. All advertising materials mentioning features or use of this software
|
|
.\" must display the following acknowledgement:
|
|
.\" This product includes software developed by Jim Binkley
|
|
.\" 4. The name of the author may not be used to endorse or promote products
|
|
.\" derived from this software without specific prior written permission.
|
|
.\"
|
|
.\" 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.
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.Dd July 7, 1997
|
|
.Dt WL 4 i386
|
|
.Os FreeBSD
|
|
.Sh NAME
|
|
.Nm wl
|
|
.Nd T1 speed ISA/radio lan card
|
|
.Sh SYNOPSIS
|
|
.Cd "device wl0 at isa? port 0x300 irq 5"
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver controls a radio lan card system made originally by
|
|
NCR, then ATT, now Lucent. The system is spread-spectrum radio
|
|
at around 915 mhz (or 2.4 ghz). With the supplied omni-directional antennae,
|
|
about 400 feet (indoors, more outdoors) can be covered in circumference.
|
|
This card can talk to the companion (wlp0) pccard. Speeds vary
|
|
from 1 megabit to theoretically 2 megabits (roughly T1 in speed).
|
|
.Pp
|
|
The card has three fundamental hardware
|
|
units, a so-called PSA or programmable storage area, a radio modem,
|
|
and a ethernet lan controller. The latter component is the
|
|
ancient (and not very honorable) Intel 82586 ethernet chip.
|
|
Fundamentally it appears to the operating system as an ethernet system,
|
|
and speaks IEEE MAC addresses. The radio modem simply translates
|
|
ethernet packets to/from radio packets, that are either at 2.4 Ghz
|
|
or 915 mhz depending on the radio modem. It supports a collision
|
|
avoidance scheme. The lan controller
|
|
supports promiscuous mode, broadcast, and multicasting
|
|
(although there is a glitch
|
|
in the latter). "It thinks it is ethernet".
|
|
.Pp
|
|
How it is used
|
|
depends on the kind of antennae deployed with it. Point to point
|
|
applications are possible as are ethernet-like lan use. The vendor
|
|
ships an omni-directional antennae that works in the
|
|
vicinity of 400 feet (indoors).
|
|
Point to point antennae can be purchased that will go miles.
|
|
.Sh SETUP
|
|
The card can either be initialized with the vendor supplied DOS setup software.
|
|
Typically minimally an IRQ, port, and Network ID must be supplied.
|
|
Michael Smith's
|
|
.Xr wlconfig 8
|
|
utility can now be used to do this work from
|
|
the UNIX side. The card is "not" plug and play.
|
|
The network id controls whether one set of cards can hear another.
|
|
If different, cards will read physical packets, but they will be discarded
|
|
by the radio modem.
|
|
.Sh CONTROL
|
|
In addition to the config utility, there are several sysctl
|
|
switches that can be used to modify runtime parameters.
|
|
The
|
|
.Xr sysctl 8
|
|
variables are as follows:
|
|
.Bl -diag
|
|
.It "machdep.wl_xmit_delay <useconds>"
|
|
This variable will cause the driver to insert a delay on transmit.
|
|
250 is the default. The delay should probably be a bit longer
|
|
on faster cpus and less on slower cpus. It exists because the 82586
|
|
was not designed to work with pentium-speed cpu systems and if overdriven
|
|
will have copious xmit side errors.
|
|
.It machdep.wl_ignore_nwid <0 | 1>
|
|
This switch defaults to 0; i.e., the nwid is not ignored. It can
|
|
be set to 1 to cause the nwid to not be used. This may be useful
|
|
when the device is in promiscuous mode as one can watch for all
|
|
packets and ignore nwid differences.
|
|
.It machdep.wl_xmit_watch <milliseconds>
|
|
This switch is not currently useful.
|
|
.It machdep.wl_gather_snr <milliseconds>
|
|
This switch is not currently useful.
|
|
.Pp
|
|
There is also a signal strength cache in the driver. It may be interrogated
|
|
with
|
|
.Xr wlconfig 8 .
|
|
Incoming packets
|
|
are checked for certain hardware radio-modem values including signal
|
|
strength, silence, and quality, which range fro 0..63, 0..63, and 0..15
|
|
respectively. Thus one can read out signal strenth values to see
|
|
how close/far peer nodes are. The signal strength cache is indexed by
|
|
sender MAC address.
|
|
There are two sysctls that change how it filters packets. Both are on
|
|
by default.
|
|
.It machdep.wl_wlcache_mcastonly <0 | 1>
|
|
By default this switch is on.
|
|
It forces the cache to filter out
|
|
unicast packets. Only broadcast or multicast packets are accepted.
|
|
.It machdep.wl_wlcache_iponly <0 | 1>
|
|
By default this switch is on. It forces the driver to discard non-IP
|
|
packets and also stores the IP src address. ARP packets are ignored,
|
|
as are any other network protocol barring IPv4 packets.
|
|
.El
|
|
.Sh CAVEATS
|
|
The 82586 has numerous defects. It may experience transmit-side
|
|
errors when modern faster cpus send packets at it faster than it can handle.
|
|
The driver (and probably the chip) does not support an all multicast mode.
|
|
As a result, it can be used with applications like
|
|
.Xr mrouted 8 ,
|
|
but it must go into promiscuous mode for that to work. The driver
|
|
is slow to change modes from "normal" to promiscuous mode, presumably
|
|
due to delays in the configuration code.
|
|
.Sh SEE ALSO
|
|
.Xr sysctl 8 ,
|
|
.Xr wlconfig 8 ,
|
|
.Xr http://www.wavelan.com
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
driver was written by
|
|
.An Anders Klemets
|
|
(thousands of years ago?) and
|
|
appears to be based on an even older Intel 82586 driver. The 82586
|
|
controller was one of the first (if not the first?) integrated lan
|
|
controller on the block. That does not mean it was the best either.
|
|
Anders ported and or created a driver for the ISA wavelan and PCCARD
|
|
wavelan system too (wlp).
|
|
.An Robert T. Morris, Jr.
|
|
ported the Mach drivers to BSDI.
|
|
.An Jim Binkley
|
|
ported them to
|
|
.Fx 2.1 .
|
|
.An Michael Smith
|
|
ported the wl driver only to 2.2.2. Jim and Michael have been
|
|
maintaining them. The current state of the driver is NOT ANYONE'S
|
|
FAULT. Thanks to
|
|
.An Bernie Doehner
|
|
and
|
|
.An Robert Buaas
|
|
for contributions.
|
|
.Sh AUTHORS
|
|
Too numerous to mention. See above.
|