Using Ndiswrapper

From MEPIS Documentation Wiki

Revision as of 15:50, 26 March 2013 by Jerry bond (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



Note: In general, it is preferable to first try to find a NATIVE wifi driver for your wifi-adapter. But, sometimes that driver is incomplete (not all features work yet) or a native driver may not exist at all yet. So, since there is probably a working Windows-driver that works in Windows, Linux can use that driver directly, via 'Ndiswrapper'!

Ndiswrapper is an open source software driver "wrapper" that enables Linux to use the Microsoft Windows drivers for wireless network devices. MEPIS comes with Ndiswrapper pre-installed, however you could download newer Ndiswrapper version from the project download page.

Within the pre-installed ndiswrapper, there are already about a dozen Windows-drivers pre-loaded, in case your adapter might need one of these popular drivers. But, of course, you can separately acquire the one needed for YOUR adapter, if it is not already pre-loaded.

Note that you MUST use a Windows 32-bit driver if you have MEPIS 32-bit edition and you MUST use a Windows 64-bit driver if you have MEPIS 64-bit edition. In general, Windows-XP drivers work much better than Vista drivers, so try the Windows-XP driver first.

Lastly, note that you do NOT want having both a native driver and an 'ndis-wrapped' Windows driver get detected and get activated into USE at the same time for the same wifi-adapter. You can snoop around for messages issued by ACTIVE drivers in the Linux kernel, using the root-cmd 'dmesg', to determine the identity of any/all such active drivers. To prevent an un-wanted native driver from being detected and brought into use, you 'blacklist' such a driver. Use the MEPIS wireless-assistant program to 'blacklist' such a native-driver (in MEPIS-8.0, and 8.5) or manually blacklist it using the method in the next section. Then reboot the machine for the blacklisting to take effect, and then re-snoop with 'dmesg'.



Ndiswrapper can be installed through Synaptic, and then follow the directions in the User's Manual, Section 5.6 (hint: easiest to find by using Ctrl-F to search).


Click on the System Settings icon in the panel, and navigate to Advanced > MEPIS NDisWrapper Manager, and follow the directions in the User's Manual, Section 5.3.4.


  • Open up MEPIS Network Assistant, and follow the directions given in the Mepis 8.0 manual at under Ndiswrapper.
  • If you have a recently introduced wireless device, it is more likely to be recognized if you use the most recent kernel available.
  • The Windows XP driver needed may be available at the website of the manufacturer of your machine, especially if it is a laptop or netbook.


  • In antiX 8.5, you should install the version of Ndiswrapper contained in the Mepis 8.5 repository, rather than the version contained in the Debian Squeeze repository. You should also install Ndisgtk. You can then install the Windows XP wireless driver by means of Ndisgtk.

Older MEPIS versions

  • First, make sure your wireless device is recognized by opening a terminal and typing:
lspci -nn

to look for your device.

  • Then, check if your card is already supported in Ndiswrapper, by a MEPIS pre-loaded Windows driver:
ndiswrapper -l

If 'hardware present' or 'device present' shows up, you can jump to the next section!

  • If not, obtain the Windows driver, either from the CD that comes with the wireless card or download it from the Internet. Check this list first. In general, drivers for Windows XP should work well unless your system is very old. The Windows XP driver needed may be available at the website of the manufacturer of your machine, especially if it is a laptop or netbook.
  • Copy the entire driver directory to some user-created folder in your Linux user acct.
  • It is a good idea now to remove all the other drivers before installing the one you want to use. Type as root:
ndiswrapper -e drivername

Remove each driver one at a time until all the drivers have been removed. Even if you see a driver in ndiswrapper that is the same name or the same as the one ndiswrapper will build for you it may not work so it is a good idea to remove them all.

(A little shortcut is to type the command ndiswrapper -e into konsole and hit enter. It won't do anything without a driver name, but by pressing the up arrow key you can scroll through the commands you have typed in until ndiswrapper -e shows up, then just add the drivername and hit enter. It speeds things up a bit.)
  • Then unload the ndiswrapper module by typing as root:
 modprobe -r ndiswrapper

If you want to check, type lsmod | grep ndiswrapper and you should get nothing in return.

  • Change directory to that user folder with the Windows driver files (you can open it with Konqueror and then press F4)
  • Run as root:
ndiswrapper -i <.inf file> 

where <.inf file> is the name of the driver file that has the .inf extension

  • An example of the above command would be
ndiswrapper -i 8185.inf
  • Now, check that Ndiswrapper has bound to a specific installed Windows driver. If 'hardware present' or 'device present' shows up next to your installed Windows driver, it is!
ndiswrapper -l
  • Now reload the module back into the kernel:
modprobe ndiswrapper
  • and create the 'wlan0' alias:
ndiswrapper -m
  • Lastly, we need to create a 'blacklist' entry into the file '/etc/modprobe.d/blacklist', to instruct the system to NOT use the 'alternate' (native) driver. The 'alternate-driver' name should be listed on the 'device ... present' line from 'ndiswrapper -l' cmd. For example, the blacklist-entry for alternate 'ath_pci' driver will be appended into that file with cmd:
echo 'blacklist ath_pci' >>/etc/modprobe.d/blacklist
  • Now reboot the machine.

Wireless setup

GUI method

  • Follow these directions to reconfigure the WiFi connection from MEPIS Network Assistant (or use MEPIS Utilities if you have older MEPIS version). Please note: you must enter an SSID on the WiFi/Wireless tab of MEPIS Network Assistant, even if your router is set to broadcast the SSID (ESSID)!
  • Reboot and you should be connected.

CLI method

  • Type as root:

to see what your wireless interface is. Let's pretend it is wlan0, though the name might be different depending on your hardware.

  • Now you need to provide the name of your network by typing as root:
iwconfig wlan0 "NetworkName"
  • Now when you reboot, you should be connected.

Connecting to a specific network

MEPIS Network Assistant does not have a scan function, and will simply hook up with the strongest network it finds. You can install a graphical wireless front end application that does have scanning (such as Wicd), and connect to the network you want. Or open a terminal, become root, and type:

iwlist wlan0 scan

Then to connect to the network you wish by using using this command again:

iwconfig wlan0 "NetworkName"


If your connection is irregular, some users have found the following commands in a terminal as root will improve the connection:

ndiswrapper -mi
ndiswrapper -ma
ndiswrapper -m
modprobe ndiswrapper

Then exit and reboot.


Back to Wireless | FAQ | Main Page

Personal tools