View more guides at Linux Wiki Guides
This guide is designed to help you configure a wireless controller under Ubuntu 8.04 which does not have any native drivers. Thanks to the ndiswrapper module, you are able to run drivers written for Microsoft Windows XP/2000 under Linux. This method should only be followed if there are no native drivers available for your wireless controller or the drivers available do not work properly with your card.
For best results you should use drivers written for Microsoft Windows XP. Vista drivers are not supported.
When installing the Windows drivers with NDISwrapper you will need to install drivers which match the architecture of your Linux distribution. So you will install 32bit Windows drivers when using 32bit Linux and 64bit Windows drivers when using 64bit Linux. Unfortunately many manufactures have not release drivers for the 64bit version of Windows XP so your only recourse may be to reinstall a 32bit version of Linux.
While this guide is mainly focused to laptop users there isn't any difference for desktop users.
You should run a full update for your installation of Ubuntu to ensure you have all the latest packages installed.
The ndiswrapper module and required utilities are provided with Ubuntu but are not installed as default. To install them follow these steps:
1. Load up a terminal window if you are in the graphic interface.
2. Now execute the following command:
sudo apt-get install ndiswrapper-utils-1.9
The NDISwrapper tool is now installed.
First find out which wireless controller you have in your system. This website should provide you with details on which card you have in your laptop. Alternatively you can use our Linux Wireless Chipset Detector utility which will determine which controller you have.
Download the Windows XP driver which is appropriate for your wireless controller. This website should recommend a driver to use based on the laptop you are using. If not then the driver from your manufacturer should work fine. There was a compatibility report on the NDISwrapper site but unfortunately this has been offline for a few months now.
Extract the contents of your driver. If you have an .exe file you will need to use either
unshield to extract its contents. If you have a zip file just use
Now execute the following two commands:
sudo ndiswrapper -i <location_of_your_driver>/<the_driver>.inf sudo ndiswrapper -l
Change the above from <location_of_your_driver> to your driver's directory and change <the_driver> to match the name of the .inf file in the driver's directory. For example a Broadcom controller is sometimes called bcmwl5.inf and is in the bcmwl folder. You would type in:
sudo ndiswrapper -i bcmwl/bcmwl5.inf sudo ndiswrapper -l
The last line should print out a list of the installed drivers. You should also see “hardware present” printed next to your driver. If you do not see “hardware present” it is likely that you installed the wrong Windows XP driver.
Now type in:
sudo modprobe ndiswrapper
And the wireless controller should be active. You can try to see if the controller is working by typing:
sudo iwlist scan
This should print out a list of access points in your area.
Finally we need to tell Ubuntu to load this driver each time we start the computer. Type in the following:
sudo echo "ndiswrapper" >> /etc/modules
You should now have a working wireless controller.