Home Wiki > Ndiswrapper howto
Sign up | Login

Ndiswrapper howto

tagline: openSUSE sitesinden


The Target

You own a PC, most probably a notebook, with a built-in WLan card, and you don't find any OpenSource drivers?

Then you have the choice to buy an external, preferable USB stick, or get it run via the ndiswrapper, by using the Windows drivers.

Be warned! You lose your ability to report (kernel) bugs, as the ndiswrapper is a weird thing and is able to change anything within the kernel! Nobody really can know, what any such driver can really do and if he harms the kernel.

But I'm running it and didn't have any strange results yet. So, there is hope... :)

Package installation

Be sure that your card is not supported by any other packages. The package wlan-kmp-default (or wlan-kmp-bigsmp or ... -- depends on your kernel) contains some wireless drivers. You're lucky, and don't have to use the ndiswrapper then.

Open YaST and install the software packages ndiswrapper and ndiswrapper-kmp-something (something depends on your kernel, usually: ndiswrapper-kmp-default) via: Software → Software Management

Hint: You might want to install package wireless-tools additionally, as you might need them if the card is running. :)

Hint: You can type the following command to figure out which type of kernel it is as well as the version:

# uname -r

Driver installation

  • Find out the wireless controller you have, do (as root in an terminal window, such as "xterm" -- Note: the # sign is only a common notice to be root, don't type it in):
  # lspci -v | less
In my case, I found this relevant line:
02:04.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g
Wireless LAN Controller (rev 02)
  • Look through the WINDOWS setup logfiles (in my case: less /windows/c/WINDOWS/setupapi.log), and find out which driver is installed (by Windows). Maybe you want to search for WLAN lines? :-) I found this suspicious line:
#I022 Found "PCI\VEN_14E4&DEV_4318&SUBSYS_1356103C" in C:\SWSetup\WLAN\bcmwl5a.inf;
Device: "Broadcom 802.11b/g WLAN"; Driver: "Broadcom 802.11b/g WLAN"; Provider: "Broadcom";
Mfg: "Broadcom"; Section name: "BCM43XG2".
  • Install the appropriate Windows driver. :) In above example:
   # ndiswrapper -i /windows/c/SwSetup/WLAN/bcmwl5a.inf
  • Check, if the ndiswrapper has installed the driver:
 # ndiswrapper -l
 Installed drivers:
 bcmwl5a         driver installed, hardware present

If there is a "fuzzy driver" or "hardware not present", you probably have a bad driver, and it doesn't work. Maybe you want to retry with a different, or you have to give up. Linksys, Belkin, and occasionally D-Link have a different chip on the card, generate problems and then a "fuzzy" driver is the result. Wiki of ndiswrapper project might help you then.

Otherwise: Great! First step is done.

Network configuration

Having a driver, doesn't mean, that your card is running. :) You need additionally to configure the network things for your card.

There are many possible configurations possible. I'm explaining only a typical example: DHCP, and managed via (KDE) network-manager.

  • Start YaST's network configuration:   Network Devices → Network Card
  • Choose: "User controlled with Network Manager" and then "Next"
  • Choose: "Add" button in lower half
  • Choose:
    • Device Type: "Wireless"
    • Configuration Name: "0" (or whatever :))
    • Hardware Configuration Name: "static-0"
    • Module Name: "ndiswrapper"
    • Options: "" (keep empty)
    • Do not select "PCMCIA" nor "USB"
    • ... and finally "Next"
  • On next screen select DHCP in "Hostname and Name Server" and in "Advanced → DHCP Options", then click "Next"
  • In "Wireless Network Card Configuration"-window choose (= keep the defaults):
    • Operation Mode: "Managed"
    • Network Name (ESSID): "" (keep empty)
    • Authentication Mode: "Open"
    • Input Type: "Passphrase"
    • Encryption Key: "" (keep empty)
    • .. . and finally "Next"
  • the kwallet manager might open -- give him your password and ignore this opening (it doesn't do anything)
  • ignore the warning that "Encryption is doing on own risk"
  • back in "Netwark Card Configuration Overview" choose "Next"

Your card is configured.

You might now open the Network Manager in your taskbar (kicker) and select one of the found networks. Disable your wire connection (if connected), and access the internet.

If your SSID (wireless network name) is not broadcasted, you can select an own, specific one in the Network Manager.


Finished. :)


Klaus Singvogel --Kssingvo 14:57, 18 May 2006 (UTC)