ATUWI - The FreeBSD USB WLAN driver project **** Current driver features - Support for Intersil, RFMD, RFMD2958 radio parts. - Supports boards based on both the AT76c503 and the AT76c505 chipset. - Support for the SMC 2662W v.4 adapter - Support for Ad-hoc networks. - Support for Infrastructure mode (currently in infrastructure mode only 'open system' authentication is implemented). - Setting the channel / SSID / WEP mode / WEP key / mac-addr via ifconfig. - Automatic scanning and associating with a wireless network. - bpf support for both DLT_EN10MB and DLT_IEEE802_11. - Also compiles on FreeBSD 5.2 and later now. **** Known BUGS and limitations - 'shared key' authentication is not yet implemented. - There is no timeout when we're associated and connected to a network. Once the driver is associated with an AP it assumes the connection will stay forever. - Nothing is done with the reg-domain of the device. Right now setting an unsupported channel will not return any error, but the device will simply refuse to work. - Only 'auto rate fallback' is supported at this moment. There is no way to force the driver to use a specified transmit-rate. - The firmware doesn't have a real promiscuous mode. We only receeive things addressed to us and to the broadcast address. **** Installing the driver To use this driver you need FreeBSD 5.1-RELEASE or later with the kernel sources installed. First, unpack the driver into your source tree. (You may want to create backups of your source tree before you begin.) # cd /usr/src # tar -xvzf /the/path/to/atuwi-0.4.tar.gz This should extract the following files : sys/dev/usb/if_atuwi.c sys/dev/usb/if_atuwireg.h sys/dev/usb/atuwi_rfmd_fw.h sys/dev/usb/atuwi_rfmd2958_fw.h sys/dev/usb/atuwi_rfmd2958-smc_fw.h sys/dev/usb/atuwi_intersil_fw.h sys/dev/usb-reset-2004-01-08.diff sys/modules/atuwi/Makefile sys/modules/atuwi/CHANGELOG sys/modules/atuwi/atuwi-README.txt sys/conf/files-atuwi-2004-01-11.diff The atuwi-driver uses a system called 'DFU' to upload firmware into the USB adapter. After the firmware has been uploaded, the adapter has to be resetted. The current USB stack doesn't have the ability to do this in a nice way, so I have added this functionality and provided a patch. Patching your USB code and recompiling it can be done as follows: # cd /usr/src/sys/dev # patch