ATUWI - The FreeBSD USB WLAN driver project **** Current driver features - Support for both RFMD and Intersil radio parts. - 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. - The firmware doesn't understand supported-rates fields longer than 5 bytes, so connecting to 54G networks is impossible at this moment. There is a newer firmware image that corrects this, but I'm having trouble loading the newer firmware. For now the only solution is to degrade the AP into '802.11b-only mode'. - The driver recognises at76c505a chipsets, but can't upload firmware to it. (After uploading the firmware to it from a Wind0ws machine the device can be used.) **** 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.3.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_intersil_fw.h sys/dev/usb-reset-2004-01-08.diff sys/modules/atuwi/CHANGELOG sys/modules/atuwi/Makefile 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