== Driver for RTL818x based WLAN adapters

Linux kernel driver for 802.11 wireless ethernet cards based on
Realtek's RTL8180L/RTL8185L chipsets.

Released under the terms of GNU General Public Licence (GPL)
Copyright(c) 2004,2005 Andrea Merello

Portions of this driver are based on driver for Intel Pro Wireless 2100
cards. Thanks to the original authors! Most notabily, the ieee802.11
stack is imported from this project, altought I've modified it.

=== Disclaimer

This was an attempt to write something that can make my rtl8180-based
wlan card work under Linux (using only open source stuff). It still is
in an early development stage and should be considered just a fragment
of working code.  Please don't expect too much from it and use it on
your (and, or any other) system at your own risk!  Please note that I
never supported the idea to use it in anyway, so I cannot be considered
responsible in anyway for anything deriving by it's usage.

Anyway for now we basically have monitor and managed modes working! This
isn't necessarily stable as yet, but seems to work... Also since v 0.16
we have an initial and incomplete support for ad-hoc mode. *Please* see
README.adhoc for further details 

An official driver from Realtek exists for this NIC but
- that is mainly closed source stuff
- that doesn't work on 2.6 (and some 2.4) kernels
- that hasn't any support for monitor mode

I also made it work with ndiswrapper, but since I don't like the idea of
using a closed source Windows XP driver, that's why I decided to try to
writing this native driver for Linux kernels.

*!!Please note that only cards with a PHILIPS sa2400 or MAXIM or GCT RF
chip are well supported.!!* Cards with Realtek's 8225 and 8255 also
work, but the code for these is still very experimental. 

There are some variants of the card with rtl8180 and philips sa2400 RF: 
antenna diversity, firdac etc... Support for such a radio chips is also
very experimental.

Altought all configurations should be supported, some are not tested and
might fail. If you decide to test this driver on a digital-phy card,
please let me know the results.

It is still far from a complete a driver and support for SMP, endianess
checks are also missing.

If you decide to try it; your feedback reports on success/insuccess and,
or bugs shall highly be apreciated.

=== Compiling, Tiny HOWTO

To compile the driver simply run make.

Note that the Makefile should work on kenrel 2.6 and is not tested for
version 2.4 installations, please let us know if the same works? 

Six modules will be compiled: five for ieee802.11 wireless network stack
and one for the rtl818x driver.  You need to insmod ALL of them! either
with the help of shall ifup-wlan0 script and, or manually; following the
order listed in this script.  Please see INSTALL for further details.

If you would like to set the interface name to something else you may
use the 'ifname=' module parameter. For example:

  insmod rtl818x.ko ifname=eth%d 

will set the interface name of this device to something like eth0.

Once the nic is up it can be put in a monitor mode by running:

  iwconfig <ifacename> mode monitor

and channel number may be changed by running:

  iwconfig <ifacename> channel XX

Monitor mode is also accessible via iwpriv, so Kismet works (altought
channel change routines work fine, but these still are a bit slow so
channel hopping may not work perfectly).

In monitor mode a choice may be made via iwpriv if the nic should pass
packets with bad crc or drop them.

To put the nic in managed mode run:

  iwconfig <ifacename> mode managed

In managed mode there is support for

  iwlist scan

that should report the currently available networks. Please note that in
managed mode channels cannot be changed manually.

To associate with a network
  
  iwconfig <ifacename> essid XXXXX

where XXXXX is the network essid (name) reported by 'iwlist scan'.
Please note that essid is case sensitive.

If your network is not broadcasting the ESSID, then you may *also* need
to specify the access-point's MAC address 

  iwconfig <ifacename> ap XX:XX:XX:XX:XX:XX

The driver accepts another boolean parameter: hwseqnum

If set to 1 it lets the card HW take care of the sequence number of the
TXed frames. Altought in managed mode I can't see any important reason
to use HW to do that, when we'll start to TX beacons in master (AP) and
ad-hoc modes most probably it will be extremely useful (since we most
probably will use two HW queues).

I'm unsure if it will work correctly on all NICs... reports, patches
and, or feedbacks shall highly be apreciated. 

 
=== WEP
 
Since v 0.8 WEP encryption should be supported (tested with 104 bit
keys). Wep encryption is done by host, not by the nic. Key can be set
with:
  
  iwconfig <ifacename> key 12345...

WEP is supported via software thanks to the ipw stack. I've found some
nic register for HW wep encryption, but I discovered that my nic seems
not to support it.

I've found some register for nic HW wep encryption, but I discovered
that my nic in truth seems not to support it.  Code to use HW wep is
present and available by a module param, but most probably it is buggy
even in cards that have HW wep (if any exist).

if you experience problem you might try to compile without wep by
uncommenting a line in the Makefile itself.

If you still have some questions/comments please feel free to write me.

== Sea Also

(http://rtl818x.sourceforge.net/files/DOWNLOAD.html)
(http://rtl818x.sourceforge.net/files/INSTALL.html)
(http://rtl818x.sourceforge.net/files/README_adhoc.html)
(http://rtl818x.sourceforge.net/files/README_master.html)

== Copyright

Copyright  (C) 2005 by Dr Balwinder Singh Dheeman.  Distributed  under
the GNU GPL (http://www.gnu.org/licenses/gpl.html).  See the files "COPYING"
and, or "Copyright" , supplied with  all  distributions for additional
information.

This software also contains portions of copyrighted material from various
other projects, please read the source code for further details.

== Maintainers

Balwinder Singh Dheeman <bsd/AT/rubyforge.org>

$Id: README,v 1.2 2006/06/29 18:55:31 bsd3 Exp $
