View more guides at Linux Wiki Guides
This guide is designed to help you configure a wireless controller under Ubuntu 7.10 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 recommended.
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 would be to reinstall a 32bit version of Linux.
We will be using 'nano' as our text editor of choice but you can use whatever you wish.
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.
!Installing the latest ndiswrapper module
Ubuntu comes with version 1.45 of the ndiswrapper module. If you find that this version isn't working properly you may like to update to the latest version and see if that solves your issue. Here are the steps:
1. Download the latest driver from http://ndiswrapper.sourceforge.net/joomla/. In this guide we are going to use ndiswrapper-1.52 as at the time of writing these are the current ones.
2. Load up a terminal window if you are in the graphic interface.
3. Type in the following to install gcc and the kernel headers:
sudo apt-get install build-essential linux-headers-`uname -r`
4. Move to the /usr/src/ folder with:
5. Extract the contents of the file you downloaded with:
sudo tar -xzvf /path/to/ndiswrapper-1.52.tar.gz
Remember to replace the ”/path/to” in this command to the path of where your file is.
6. Move into the “driver” folder in the newly created archive with:
7. Start the building process with:
This will take a while.
8. And finally install the driver with:
sudo cp ndiswrapper.ko /lib/modules/`uname -r`/ubuntu/misc/ndiswrapper/ndiswrapper.ko
9. Reboot your computer and the newer ndiswrapper modules will be used.
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. You can also find a list of drivers from the NDISwrapper site.
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.