Provided by: freebsd-manpages_9.2+1-1_all bug

NAME

       wl — T1 speed ISA/radio lan card

SYNOPSIS

       device wl0 at isa? port 0x300 irq 5

DESCRIPTION

       The  wl 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).

       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".

       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.

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 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.

CONTROL

       In addition to the config utility, there are several sysctl switches that can be used to  modify  runtime
       parameters.  The sysctl(8) variables are as follows:

       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.

       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.

       machdep.wl_xmit_watch <milliseconds>  This switch is not currently useful.

       machdep.wl_gather_snr <milliseconds>  This switch is not currently useful.

       There  is also a signal strength cache in the driver.  It may be interrogated with 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.

       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.

       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.

SEE ALSO

       sysctl(8), wlconfig(8)

       http://www.wavelan.com

HISTORY

       The wl driver was written by 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).  Robert T. Morris, Jr. ported the Mach
       drivers to BSDI.  Jim Binkley ported them to FreeBSD 2.1.  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 Bernie Doehner and Robert Buaas for contributions.

AUTHORS

       Too numerous to mention.  See above.

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 mrouted(8)  (ports/net/mrouted),  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.

Debian                                         September 29, 2006                                          WL(4)