Pin Me

NDISWrapper: Easing the Work With Wireless Cards

written by: Tolga BALCI•edited by: Rebecca Scudder•updated: 5/19/2011

Linux sometimes has some annoying issues with wireless cards. Thanks to the open source community, we have a solution; to use Windows wireless card drivers in Linux. We have bonus tips for Bright Hub readers inside.

  • slide 1 of 5

    NDISWrapper

    If you did not get a Centrino laptop, which has all drivers available freely from Intel, then you may run into some problems to get your wireless card working properly in Linux (if you are reading this article, you probably are.) The problem is not on Linux’s side. The vendors are not opening their hardware specifications and thus make it almost impossible to write device drivers for Linux. I learnt it the hard way both when I purchased a US Robotics Wireless G card for my Toshiba notebook and when my Acer notebook arrived with an Atheros wireless card. But, with a million thanks to the open source community, I could get the cards working by a software called NDIS Wrapper.

     

    Ndiswrapper Command Line NDIS Wrapper is actually a utility that “wraps" Windows wireless device drivers to make them usable in Linux. Actually, what it does is stand as an intermediary between the operating system and the drivers which were not written for it (meantime, just a note for the curious, NDIS is an abbreviation for Network Driver Interface Specification.) (Screenshot courtesy of Wikipedia.)

    Using NDIS Wrapper is very easy and here is how:

    1. Download the NDIS Wrapper utility to your Linux computer. I advise you to use your own distribution’s package manager.

    2. After the install, find your wireless card’s drivers. Most probably you will have them in your computer’s driver/recovery CD or partition. You have to find the .inf, .sys and preferably .bin files. If you find them in an exe file, it is probably a .cab file and you can extract the contents with cabextract utility in Linux. If you have them installed on a Windows system, then check the c:\windows\system32\drivers (and/or c:\windows\system32\ folder) and copy the relevant .sys, .inf and .inf files to a USB stick (or burn to a CD) to carry them to your Linux computer. Copy them to somewhere you can find easily, such as /home/wireless_drivers.

     

  • slide 2 of 5

    NDISWrapper

    3. Open up a terminal and switch to root account. Switch to the directory where you copied the drivers (/home/wireless_drivers in our example) and issue the command

     

    ndiswrapper –i driver_filename.inf

     

    This will install the Windows wireless drivers to your Linux system. To check if the installation is successful, issue the

     

    ndiswrapper – l (the letter ‘l’ not number ‘1’)

     

    command as the root in the terminal. If you see something like

     

    Installed ndis drivers:

    {driver_name} driver present, hardware present

     

    Or

     

    {driver_name} : driver installed

    device ({Chipset_ID}) present

     

    you are done.

    4. To load the wireless driver into the memory, do not leave the terminal. Issue the following commands in order as the root user:

     

    depmod –a

    modprobe ndiswrapper

     

    Users who use sudo instead of using the root account have to issue the commands by preceding with sudo (e.g. sudo ndiswrapper –i driver_filename.inf).

     

    If any of these steps fail, there is abundant information on the Internet. Just note the error/message output and Google it.

     

    But, for the users intimidated by the command line, BrightHub readers have other options: NDISGTK and DriverLoader.

     

  • slide 3 of 5

    NDISGTK

    NDISGTK NDISGTK is a graphical tool that allows you to install drivers. The interface is very simple, as you will see in the screenshot. You click the “Install new driver" button and select the file(s) as prompted by the dialog box; the software does the rest in the background. When the driver is successfully installed, you see the name on the left pane. Clicking on the “Configure network" button will take you to the network configuration window, where you can enter settings for your wireless card and network. (Screenshot courtesy of OpenSuSE Forums.)

    If you are interested in NDISGTK, the official homepage is here. There are pre-built packages for Debian, Ubuntu, openSuSE, Red Hat Enterprise Linux, Slackware, Zenwalk, Paldo and Wolvix.

  • slide 4 of 5

    DriverLoader

    Linuxant Driver Loader Driver Loader is a commercial tool from Linuxant. It works in a web-based interface and shows the cards that are present on your system but still not recognized. You can upload the drivers by clicking on the link at the bottom which reads “Upload Windows Driver". The software takes care of the rest. (Screenshot courtesy of OSDir.)

    Driver Loader's official website. Before heading down to purchase the product and install it, I suggest you check the website first to see if your wireless card is supported.

    There are prebuilt packages for the major distributions. You can check if there is one for your distribution here.

  • slide 5 of 5

    Closing...

    NDISWrapper and Linuxant’s DriverLoader can be nice solutions to get your wireless card(s) working. However, what I recommend is to purchase a laptop with Centrino technology in order to avoid messing with your wireless card. In my Acer situation I mentioned on the first page, although I could get the wireless card working with NDISWrapper, I asked Acer Support to replace the Atheros wireless card with Intel 3945 and they did it at no cost (a million thanks again.) You can do the same and ask your laptop's manufacturer for a replacement of your wireless card (even for an additional cost, it can be better than the headache to get it working.)