Intel PRO/Wireless 3945ABG Network Connection Adapter Copyright (C) 2006 Intel Corporation. All rights reserved. Microcode Package README.ipw3945-ucode INDEX 1. OVERVIEW 2. INSTALLATION 3. LICENSE 1. OVERVIEW The file ipw3945.ucode provided in this package is required to be present on your system in order for the Intel PRO/Wireless 3945ABG Network Connection Adapater driver for Linux (ipw3945) to be able to operate on your system. On adapter initialization, and at varying times during the uptime of the adapter, the microcode is loaded into the RAM on the network adapter. The microcode provides the low level MAC features including radio control and high precision timing events (backoff, transmit, etc.) while also providing varying levels of packet filtering which can be used to keep the host from having to handle packets that are not of interest given the current operating mode of the device. 2. INSTALLATION The ipw3945 driver will look for the file ipw3945.ucode using the kernel's firmware_loader infrastructure. In order to function correctly, you need to have this support enabled in your kernel. When you configure the kernel, you can find this option in the following location: Device Drivers -> Generic Driver Options -> Hotplug firmware loading support You can determine if your kernel currently has firmware loader support by looking for the CONFIG_FW_LOADER definition on your kernel's .config. In addition to having the firmware_loader support in your kernel, you must also have a working hotplug and udev infrastructure configured. The steps for installing and configuring hotplug and udev are very distribution specific. Once you have the firmware loader in place (or if you aren't sure and you just want to try things to see if it works), you need to install the microcode file into the appropriate location. Where that appropriate location is depends (again) on your system distribution. You can typically find this location by looking in the hotplug configuration file for your distro: % grep \"^FIRMWARE_DIR\" /etc/hotplug/firmware.agent This should give you output like: FIRMWARE_DIR=/lib/firmware If it lists more than one directory, you only need to put the microcode in one of them. In the above example, installation is simply: % cp ipw3945.ucode /lib/firmware You can now load the driver (see the INSTALL and README.ipw3945 provided with the ipw3945 package for information on building and using that driver.) 3. LICENSE The microcode in this package (ipw3945.ucode) is provided under the terms of the following license (available in the file LICENSE.ipw3945-ucode): Copyright (c) 2006, Intel Corporation. All rights reserved. Redistribution. Redistribution and use in binary form, without modification, are permitted provided that the following conditions are met: * Redistributions must reproduce the above copyright notice and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Intel Corporation nor the names of its suppliers may be used to endorse or promote products derived from this software without specific prior written permission. * No reverse engineering, decompilation, or disassembly of this software is permitted. Limited patent license. Intel Corporation grants a world-wide, royalty-free, non-exclusive license under patents it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") this software, but solely to the extent that any such patent is necessary to Utilize the software alone, or in combination with an operating system licensed under an approved Open Source license as listed by the Open Source Initiative at http://opensource.org/licenses. The patent license shall not apply to any other combinations which include this software. No hardware per se is licensed hereunder. DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.