View more guides at Linux Wiki Guides
This guide is designed to help you configure a wireless controller under SuSE 10.3 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 SuSE to ensure you have all the latest packages installed.
The ndiswrapper module is included with SuSE but not installed by default. Here is how to install the driver:
1. Load up a terminal window if you are in the graphic interface.
2. Switch to the root user by entering the command “su -” (without the quotes) and typing in your root password
3. Determine which type of kernel you are running, it will be either “default”, “bigsmp” or “xen”. To determine this type in the following:
4. Type in the following to install the driver:
yast -i wireless-tools ndiswrapper ndiswrapper-kmp-default
If you are running a kernel other than “default” then replace “default” with your kernel type of either “bigsmp” or “xen”.
The ndiswrapper module is now installed and ready to be configured.
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 as root:
ndiswrapper -i <location_of_your_driver>/<the_driver>.inf 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:
ndiswrapper -i bcmwl/bcmwl5.inf 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:
And the wireless controller should be active. You can try to see if the controller is working by typing:
This should print out a list of access points in your area.
Finally we need to tell SuSE to load this driver each time we start the computer. Run your favorite editor and edit the /etc/sysconfig/kernel file. With nano you would use:
nano -w /etc/sysconfig/kernel
Locate the line which says MODULES_LOADED_ON_BOOT and enter the word ndiswrapper within the quotes.
Save the file. In nano you press Ctrl-X, answer yes to the “Save modified buffer” question and then press enter on the file name to write.
You should now have a working wireless controller and can now use NetworkManager to configure your wireless settings.