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 d