Wi-Fi with NdisWrapper!!

Many vendors do not release specifications of the hardware or provide a Linux driver for their wireless network cards. The ndiswrapper project implements Windows kernel API and NDIS (Network Driver Interface Specification) API within Linux kernel. A Windows driver for wireless network card is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation. With ndiswrapper, most miniPCI (builtin), PCI, PCMCIA (Cardbus only) or USB wireless network cards work in Linux with x86 or x86-64. Although ndiswrapper is intended for wireless network cards, other devices are known to work: e.g., ethernet cards, USB to serial port device, home phone network device etc.

I got into this matter because one of my friend bought a Compaq Pressario V6425TU laptop but the Wifi (wlan vendor: Broadcom) won’t work in F7.

URL: http://ndiswrapper.sourceforge.net/joomla/

The latest stable version is 1.48. It can also be yum-installed from livna repository.

Usage: First we have to install ndiswrapper kernel module (from livna):

# yum install ndiswrapper

Then we check whether any conflicting driver is there or not. If present it should be blacklisted. To do this (replace ‘driver’ with driver name say ‘bcm43xx’):

# echo 'blacklist driver' | \
tee -a /etc/modprobe.d/blacklist

Now for PCI wireless adapter do a # lspci -n or for USB wireless adapter do # lsusb. Once the wifi card is identified, note down the chipset ID of the form 104c:8400. Then we install the crap…the INF file (eg: bcm43xx.inf) of the Windows driver

# ndiswrapper -i /path to/driver.inf

To make sure if the driver is properly installed we list the currently installed drivers for ndiswrapper:

# ndiswrapper -l

If the driver is properly installed it will echo:

Installed ndis drivers:
{driver} driver present, hardware present

If you don’t see this, try a different driver such as the drivers for Windows 2000, or another driver matching the PCI ID on the ndiswrapper list. The installation of driver can be done easily by a GUI ndisgtk.


After installation, now we run the following commands to add the driver module in kernel:

# depmod -a
# modprobe ndiswrapper

Now with # ifconfig or # iwconfig the wifi card will appear with an interface name like wlan0. If wlan0 is shown then wifi is working!! We can then create a network connection.


3 responses to “Wi-Fi with NdisWrapper!!

  1. it works quite well under Fedora, but Ubuntu made me work it around a little.

  2. have you posted the workarounds somewhere?? would like to see them

  3. Hi gf4e, I’m trying to have my wireless card work on Ubuntu 8 using NdisWrapper. How did you get yours to work? Can you please post the work around for all to see. Thanks.