This guide looks at configuring the ndiswrapper software to use Windows drivers for wireless cards under Linux.
Introduction
The Linux project is a community project. So all the software, from word processors to device drivers have been made by the community. The problem arises when hardware manufacturer's are closed about their architecture, this leads to at times non-availability of drivers for Linux. Ndiswrapper project aims to tackle the issue by using the Windows drivers for the device to be used under Linux. As the device manufacturer's do ,without fail, supply drivers for Windows, this project solves many driver related headaches.
This guide looks at two approaches:
- command-line driven and
- via the Ndisgtk GUI
Command Line Configuration
So assume you have a wireless card of ABC company and guess what its developers have not provided Linux drivers for it or kept their hardware information in private. So, Linux does not have native drivers for the same. Lets first look at the command-line approach.
Before we start though you are advised to have:
- Ndiswrapper installed
- Windows drivers for your wireless card
- Root password of your system
All the commands below have to be run as the user root.
To verify that you have ndiswrapper installed properly run ('#' denotes the prompt):
The Ndiswrapper 'help' options
Verify the Chipset
Ascertain the name of the maker of your wireless card. Now verify that your finding is correct by invoking this command:
If you get no response then recheck the manufacturer name. If you have determined the name correctly you should get the information about your Ethernet Controller.
Install Driver
Now through your console go to the directory that holds you Windows drivers for the wireless card. Locate the sub-folder where the .inf file is present (we will call it DRIVER.inf). Once you have found it use ndiswrapper to install the driver by:
Code:
# ndiswrapper -i DRIVER.inf
The program will output that the DRIVER is being installed. Once you get the notification, double check the installation's success:
This will list all the successfully installed drivers. You should find the name of your driver here. If you do, the installation was successful.
Kernel Module
Now for you to use the driver, ndiswrapper has to be inserted as a kernel module. To do the needful run the modprobe command:
Code:
# modprobe ndiswrapper
If you do not get any FATAL errors, well you have successfully installed the driver. Now to determine if you interface was recognized run:
This will now list all your network interfaces and will display their wireless capability. You should find a device with the name wlanx or so.
Fix it
To make this permanent so that you do not have to load ndiswrapper each time you login run:
This will write the information required for the modprobe on subsequent boots.
Then fire up your favorite editor and add a line
ndiswrapper to /etc/modules.
This concludes the command-line version of installation of a driver using ndiswrapper.
NdisGtk GUI
The GUI approach simplifies the whole process substantially, thought this can only be appreciated after you had seen the command-line steps!
Invoke ndisgtk:
NdisGTK Interface
This brings up the NdisGTK install window. Run through the following steps to complete the installation:
- Click on Install New Driver
- A file dialog box will open where you need to choose the required DRIVER.inf. Do this by navigating to the folder where it resides.
- Click install. So if things go right you will see your driver information in the list.
Questions?
If you have any questions, feel free to ask.