Intel Wireless WiFi Link 6250AGN Adapter Copyright (C) 2006-2010 Intel Corporation. All rights reserved. Microcode Package README.iwlwifi-6050-ucode INDEX 1. OVERVIEW 2. WiFi ONLY CONFIGURATION 3. INSTALLATION 4. LICENSE 1. OVERVIEW The file iwlwifi-6050-4.ucode provided in this package must be present on your system in order for the Intel Wireless WiFi Link AGN driver for Linux (iwlagn) to operate on your system. The "-4" in the filename reflects an interface/architecture version number. It will change only when changes in new uCode releases make the new uCode incompatible with earlier drivers. On adapter initialization, and at varying times during the uptime of the adapter, the microcode is loaded into the memory 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. WiFi ONLY CONFIGURATION Introduction: Intel(R) Centrino(R) Advanced N + WiMax 6250 is a multi-comm WiFi and WiMax product. This release only supports the WiFi portion of this product. Problem: The WiMax portion of this product is connected via internal USB interface, which on power up is actively drawing power from the USB bus. If you are working with a platform software configuration which is not loading the WiMax driver for the Intel(R) Centrino(R) Advanced N + WiMax 6250 device, then the WiMax portion of this device should be put into power save mode. This results in a minimum power draw, ultimately resulting in better power performance when running as WiFi only device. Solution: To place the WiMax portion of this device in power save mode it is required to enable autosuspend for it. With autosuspend enabled the kernel will autosuspend the WiMax portion of the device when it is determined to be idle. NOTE: Dynamic PM (autosuspend/autoresume) support for USB is present only if the kernel was built with CONFIG_USB_SUSPEND enabled. Please refer to Documentation/usb/power-management.txt from the kernel documentation for more information on USB Power management. At the end of your Linux startup script, you need to search for the Intel(R) Centrino(R) Advanced N + WiMax 6250 device in the sysfs file system. Search for a device with vendor ID = 8086(Intel) and product ID = 0186|0187|0188(Intel WiMax portion of the device) under /sys/bus/usb/devices/<appropriate usb device number>. The following will need to done with administrative rights. If the device is found, echo the number of seconds after which you want the device to be in selective suspend into /sys/bus/usb/devices/<appropriate usb device number>/power/autosuspend. The default is 2 seconds. echo "auto" > /sys/bus/usb/devices/<appropriate usb device number>/power/control, which will enable USB autosuspend for this device only. (If using a kernel earlier than 2.6.35 the filename will be "/sys/bus/usb/devices/<appropriate usb device number>/power/level"). 3. INSTALLATION The iwlagn driver will look for the file iwlwifi-6050-4.ucode using the kernel's firmware_class infrastructure. More information can be found under Documentation/firmware_class in kernel source. 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 -> Userspace 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_class support in your kernel, you must also have a working udev and uevent infrastructure configured. The steps for installing and configuring 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 udev scripts of your distro, the default is /lib/firmware. Installation of the firmware is simply: % cp iwlwifi-6050-4.ucode /lib/firmware You can now load the driver (see the INSTALL and README.iwlwifi provided with the iwlwifi package for information on building and using that driver.) 4. LICENSE The microcode in this package (iwlwifi-6050-4.ucode) is provided under the terms of the following license (available in the file LICENSE.iwlwifi-6050-ucode): Copyright (c) 2006-2010, 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.