Reverse engineered FreeBSD driver for USB SoftMAC devices

* Installation instructions :
Once you have firmwareagent and the firmware files, just type "make" and "make install". The module will be named "p54u", load it ("kldload p54u"), plug your wifi adapter and it should work out-of-the-box.
If you want the driver to be loaded at boot time, add the line
p54u_load="YES"
to your /boot/loader.conf file.

NOTE: For now, do not boot with your device connected (because of a bug in firmwareagent).

* LED(s) meanings :
Blinking led = Device scanning for networks
LED on = Associated or monitor mode
LED off = Trying to associate
If your device has more than one LED, they are not controlled independently by the driver (but you can do it with p54ctl).

* Using Kismet :
Simply use this line in the config file :
source=radiotap_fbsd_b,p54u0,prism54

* Advanced options :
You can use the "p54ctl" userspace tool to control additional features of the driver. See its manpage.
Also, the "p54term" program gives you access to the text based interface of the firmware.

* Recommended firmware files :
- for 3886-based devices and similar designs : Version 2.5.6.0 built on Wed May 5 17:41:12 CEST 2004 by inlbuild@tix
  (name it /boot/firmware/isl3886_usb)
- for 3887-based devices : Version 2.5.8.0 built on Fri May 14 16:19:50 CEST 2004 by inlbuild@tix
  (name it /boot/firmware/gw3887). Do not put the X2 header in this file, the driver is now able to compute it.

* Helping out
I'd like to collect EEPROM dumps of the devices to analyse their unknown fields. This can be done very easily :
with the driver installed, plug your device, and type :
$ p54ctl -i /dev/p54u0 -e somefile
and mail the created file to lekernel@prism54.org. Don't forget to include the USB IDs of your device (they are given
by the command usbdevs -v).
Also, if your device works and is not listed as being successfully tested, please report it.
Thanks !

* Contact :
Feedback appreciated. Mail lekernel@prism54.org
Also check out the homepage http://www.prism54.org/

