OpenSUSE Linux Rants

OpenSUSE Linux Tips, tricks, how-tos, opinions, and news

My Resume  -  My LinkedIn Profile

December 23, 2007

Make Broadcom Wifi Work With Ndiswrapper on openSUSE 10.3

by @ 10:10 pm. Filed under General SUSE, How-To, SUSE Tips & Tricks

So yeah, how you been? Me, good. Tryin’ to keep everything together… survivin’…. etc. K, let’s get to it.

Back in March, I bought myself a new laptop. The specs are on that link, but the hardware of interest to this article is the wifi card. It is a Broadcom BCM94311MCG. I’m not a wireless fan, so I didn’t worry about setting it up until recently, when I bought my wife a laptop for her birthday. Her card is the same as mine, but to use it, she had to boot into the Windows partition. As the truly informed can attest, this is unacceptable.

I set out to get the wireless working on my laptop so I could get Windows off hers. Go me.

The exact specs of the wireless card, as listed by 'lspci -v' are:

0c:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)
Subsystem: Dell Unknown device 0007
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at ecffc000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 2
Capabilities: [58] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Capabilities: [d0] Express Legacy Endpoint IRQ 0
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Virtual Channel

That’s the bad boy that we’re going to get set up with wireless in this very article on an openSUSE 10.3 laptop. Let’s have a moment of silence.

A basic outline of what we’ll cover: 1) First, determine the driver currently running the wireless card. We will then instruct the system never to load that driver ever again (and make a few threats just in case). 2) Second, we are then going to set up ndiswrapper to run the card. 3) Third and finally, we will set up the system so that when we reboot the machine, ndiswrapper is automatically loaded and we can hop on our wireless connection easily.

Out With the Bad

The kernel module that serves as the device driver for this wireless card is called ‘bcm43xx’. As root, remove it from memory, as in this example:

[2338][scott@laptop:~]$ su
laptop:/home/scott # rmmod bcm43xx

Now, we have to politely instruct the system to refrain from loading this module ever again. To do this, we are going to ‘blacklist’ the module. As root, edit /etc/modprobe.conf.local . Add this line to tell it to never load the bcm43xx module:

blacklist bcm43xx
In With the Good

Ndiswrapper is a way to use a Windows driver in Linux. Thusly, the first thing you need to do is grab said Windows driver from this link. Download it to somewhere that you will remember. When it is done, go there, and extract the file (can be done as regular user):

[2339][scott@laptop:~]$ tar -jxvf bcmwl5.tar.bz2

Next, as root, let’s install ndiswrapper using YAST with this simple command:

[2340][scott@laptop:~]$ su
laptop:/home/scott # yast -i ndiswrapper 

Now we need to get ndiswrapper to run the wireless card. This is done as root as in this example:

[2341][scott@laptop:~]$ su
laptop:/home/scott # ndiswrapper -i /path/to/bcmwl5.inf

You can use ndiswrapper to make sure it worked like this:

[2342][scott@laptop:~]$ su
laptop:/home/scott # ndiswrapper -l
bcmwl5 : driver installed
        device (14E4:4311) present

If you see something like that, you are golden.

Next, we need to write a config file for ndiswrapper. This is done with the following command (as root):

[2342][scott@laptop:~]$ su
laptop:/home/scott # ndiswrapper -m

Remove all CAT-5 cables from your machine, and then let’s start up ndiswrapper (as root):

[2342][scott@laptop:~]$ su
laptop:/home/scott # modprobe ndiswrapper 

It’s just about set up. Now, we need to make sure it will work properly when we reboot. We also need to put in the wireless networking configuration for this adapter.

Make It Work Automatically on Reboot

Now obviously, when the machine reboots, we want to ensure that ndiswrapper is loaded and used to run this wifi card. To do this is absolute cake. Go into YAST, go into the Network Devices, and then into the Network Card. Select the Broadcom wifi card in the list of adapters. Click CONFIGURE. In the HARDWARE tab, there is a drop-down box called “Module Name”. Type ‘ndiswrapper‘ in there. Click NEXT to configure your wireless network settings for this adapter.

If you have set up the wireless access point, you should know all the configuration details that should be entered into this screen. If you don’t, you can ask your system administrator to help you figure it out. In any case, fill out this screen with all the appropriate information.

Click NEXT again, and then FINISH.

Take all CAT-5 cables out of your machine, and reboot. When it comes back up, use iwconfig and ifconfig to see if you have an IP address. Head to google and search for something. If you are able to do this, you are in great shape. As such, we are done here.

38 Responses to “Make Broadcom Wifi Work With Ndiswrapper on openSUSE 10.3”

  1. vontrapp Says:

    Why is the kernel driver so bad? It works just fine for me, better than ndiswrapper ever did. Then again, I _do_ have a bcm43xx, BCM4306 to be precise. Note that you do have to install firmware for the kernel driver to work. Maybe that’s worth a try.

  2. Scott Morris Says:

    You know, it may work for some people… it just didn’t for me. That’s all. I think it’s one of those “Your Mileage May Vary” things. Do what works, I guess. And this is what worked for me. Thanks for stopping by.

  3. Boycott Novell » Do-No-Evil Saturday - Part III: Technical News for OpenSUSE, Mono and SUSE Enterprise Linux Says:

    […] Make Broadcom Wifi Work With Ndiswrapper on openSUSE 10.3 […]

  4. Walter Vieira Says:

    Hey Scott, thanks this works. I am a noob to OpenSuse and I have been trying to get my Dell D600 to communicate to my wireless network. I am surprised that the installation did not get this correct seeing that it recognized my laptop. Thanks again, Walter

  5. Kim Meyer Says:

    Thanks Scott and Google for finding your blog.
    After using up 4 days of my holidays, following WiFi setup instructions on the openSuse Wiki and in vain trying to get my Belkin F5D7010au (au = Australian model) notebook network card running on openSuse 10.3, within 5 minutes of reading your blog I was up and running.
    It has just connected at 54Mb/s with Ndiswrapper and the original Windows drivers that came on its installation cd.

    Being a newbie I initially followed the Broadcom chip instructions to the letter as this card has the much documented 4306 chip, downloaded the necessary files and extracted with bcm43xx-fwcutter to lib/firmware etc etc. I could not get this driver to work after many failed attempts. Everything was loading okay in text book fashion but the both the card’s led’s would just light up and iwconfig indicated things were broken. lsmod | grep bcm43xx was reporting correctly. In desperation I deleted all files unpacked by fwcutter and ran it again over the .sys file that came with the card, that dumped a whole new heap of bcm43xx firmware drivers with the same result.

    I read on another post that the bcm43xx driver only runs at 11Mb/s and if you want 54Mb/s to use Ndiswrapper with the Windows drivers instead. So off down the Ndiswrapper path, I could not stop the bcm43xx module loading, this same post said, add it to the /etc/modprobe.d/blacklist (notes were for 10.2). Your suggestion /etc/modprobe.conf.local worked.

    You also said find your Broadcom wifi card, like an idiot, I had been following the Ndiswrapper installation instructions to the letter again, adding a new wireless card, thinking the Belkin card that was already detected and displayed was leftover from my bcm43xx trials. I went back into network card configuration and deleted my added wifi card and then configured the displayed Belkin card changing its module from bcm43xx to ndiswrapper at this point it was still not working. Then I remembered seeing in one of my trips to /etc/modprobe.d/ a file called “ndiswrapper” which I assume is the config file, when I opened it in gedit it had “alias wlan0 ndiswrapper” I changed it to “alias eth1 ndiswrapper”
    I think it defaults to “wlan0” when you first attempt the generic install from the wiki posts. On boot up Suse had assigned eth1 to my card having automatically assigned eth0 to the built in cat5 card.

    After 4 days it is running and quite fast on my local network.
    I had already given up with Broadcom and yesterday ordered a card with that other chip hoping to have more success with madwifi, now I wont need it.
    One final thing, I found true to a post on the wiki that ndiswrapper would not load at boot on my install of openSuse 10.3 until I used Yast etc/sysconfig editor to edit system/kernel adding ndiswrapper to “MODULE_LOADED_ON_BOOT”

    Thanks again Scott

  6. Scott Morris Says:

    Kim, hey absolutely glad I could help out! Thank you for all the great information and for taking the time to share that with everyone. Thanks for stopping by!

  7. Andrew Says:

    Scott, I’m glad to see you’re back! You’re how-to is awesome. I made one of my own (kind of – I linked to another how-to and then added custom steps of my own) but one problem I always had was the bcm43xx module loading – which I’m glad to see you solved. I had only been blacklisting the module, not removing it prior.

    Let me ask you this: Does KDE Network Manager accurately display the networks found around you (i.e. at an airport/bookstore/hotspot etc)? It was never a problem for me to configure the network manually, but it did get a little hairy when trying to detect and connect to open wireless access points.

    Once again bravo.

    If you’d like to check out my little post about openSUSE and wireless it is here:

  8. Kim Meyer Says:

    To complete this story, I have now, via Yast’s /etc/sysconfig editor
    turned on Gnome Networkmanager under “Network/General” settings(it is off by default).
    This may be of interest to others reading this blog. For new newbies like me,
    it gives you a nice gui vision of whats happening with your wireless and other
    connections, similar to the gui utilities that ship with most cards for Windows.
    Two different menu options are built in, activated by left or right mouse click.
    I found it interesting that it is jointly developed by two developers from different
    teams, one from Redhat and the other Novell, open source at its best.

  9. Scott Morris Says:

    Walter, glad to be of service, bro. That’s what I’m here for. Thanks for coming by.

  10. Scott Morris Says:

    Andrew, thanks! Thanks a bunch. KDE Network Manager does in fact show all of the wireless networks that are in my immediate vicinity. It shows all networks that are in my area with a detectable signal. Thanks for sharing your post about openSUSE and wireless. Looks great!

  11. Scott Morris Says:

    Glad to hear about that. I wasn’t aware. As a KDE user, I wasn’t informed, but thanks for the heads up! The KDE equivalent is called KDE Network Manager, and gives you point-and-click access to all your different types of configured connections, LAN, wireless, or even dial-up. Thanks for the info, and thanks for coming back to share.

  12. erladhi Says:

    wifi cant working i got message like:
    erladhi/bcmwl5 # ndiswrapper -l
    bcm15 : invalid driver!
    bcmwl5 : driver installed
    device (14E4:4312) present (alternate driver: bcm43xx)

    how that..?

  13. Brian Says:

    Many thanks to both Kim and Scott. I finally got my wireless to work on my HP tx1000 with this wonderful guide. If only I found this guide first I wouldn’t have as bad of a headache as I do now.

    On a side note the “Make It Work Automatically on Reboot” section did not work for me. I still had to “modprobe ndiswrapper” as root each time after a reboot until I used Kim’s suggestion of “MODULE_LOADED_ON_BOOT”. My yast seems to forget the module setting once I hit next. (I’m running KDE/OpenSuSE 10.3)

    Again thank you both!

  14. Scott Morris Says:

    That’s what I’m here for, buddy. Glad to be of help; that’s what I like. Thanks for the added help, Kim! I’m glad we were able to get you covered. Have a good one, and thanks for stopping by!

  15. Kim Meyer Says:

    Hi erladhi,
    It would appear that you may have installed two drivers “bcm15” which has problems hence “invalid driver!” error and “bcmwl5” which has detected your card and appears to working.
    Try ndiswrapper -r bcm15 to uninstall the first driver and see if that corrects the situation. I had accidently loaded two drivers myself in my early attempts and got the same message.

  16. erladhi Says:

    Hi Kim,
    ok thanks for advices.
    now my wifi can workin

  17. jeff Says:

    Great info. I think I should add my $.02.

    I followed these instructions. But I found that I ended up with the system (things like ifconfig) not recognizing that I had a wireless card. Basically, the interface was disabled. Network Manager only let me choose wired,no wireless options.

    I looked for problems via dmesg:
    dmesg | grep ndiswrapper

    and I saw something that said the windows driver couldn’t initialixe the device or something, and the next line said disabling device eth%d or something like that. So what I did was download the xp driver from hp (in vista) ran the exe long enough to extract it, then I rebooted and pointed ndiswrapper to the new driver:
    ndiswrapper -r bcmw15
    ndiswrapper -i /new/path/to/new/driver

    and then I followed the rest of your instructions. The final thing I did was press the wi fi on/off switch. Which I didn’t expect to work…

  18. CuPPu Says:


    Mau tanya dong, cara aktifin dan gunain wifi di suse gmn ya, trus sekalian buat aktivin xmmsnya dong ada paket yg lengkap ngk nih?
    Klo di windows kan tinggal set di network conection.
    Saya pake OS Open Suse 10.3
    Notebook compaq persario v3000 /amd turion 64×2

    Thanks CuPPu

  19. brcue Says:

    Hey Scott.
    When i downloaded the tar with the drivers from the link you provided:

    the .inf file was called oem3.inf and not bcmwl5.inf. Does that make a difference? (i renamed oem3 to bcmwl5).

    I can’t get this to work. It’s strange because everything seems to be in place.

    dmesg | grep ndiswrapper:
    ndiswrapper version 1.47 loaded (snp=yes)
    usbcore: registered new interface driver ndiswrapper

    When i enter ‘ndiswrapper’ as the module for the wireless driver, it doesn’t stay saved. (after reboot, it’s blank again)

    iflist and iwlist do not list eth1.

    I know you’re not here to research and answer everyone’s question, but if this is something silly that you know off the top of your head, then please let us know the cause of my problem 🙂

    thanks for the great guide!
    ndiswrapper -l:
    bcmwl5: drivr installed

  20. Xiao Wei Says:

    Dear all,
    I am working on my hp-tx1000 wireless on my opensuse 10.3. I have followed all the steps above, and when I type:
    ndiswrapper -l,it comes:
    bcmwl5 : driver installed
    device (14E4:4311) present (alternate driver: bcm43xx)
    and after I reboot, nothing happened, even the wireless option in my network icon turns grey(unavailable), I don’t know how to do the next, worked on my wireless for weeks, really need your help!

  21. John Smith Says:

    Many thanks for sharing this Scott. I had pretty much lost all hope in ever getting the Broadcom based built in wirless card in my zv500 Hewlett Packard to work in Suse 10.3 until I stumbled onto your tutorial and this step by step. //

    Combined both tutorials took hours of what a noob like me would have spent. Just a couple of things that are important to note for Suse Noobs(like me) while they may be obvious to more experienced Suse Users. Ndiswrapper is not intalled in Suse Linux by default, you have to install it first before you can do anything else.
    NDISGTK as referenced in andrew’s tutorial(as per posted link) is a graphical program that can greatly simplify the installation of the Windows XP driver for those of us who tend to be more command prompt challenged.

  22. Vinícius Says:

    Well, I could install it only when I changed the driver.
    This driver Scott Morris posted, not worked for me.
    Try to download the original driver to windows and then install it like Scott described. Look for it at this link:
    If for some reason you cannot download it, look at the HP website, inside the notebook section. One of them must have this driver!
    After that, you can remove the bcm43xx driver with the command ‘rmmod bcm43xx’.
    edit the file ‘/etc/modprobe.d/ndiswrapper’ and let it like this:
    alias wlan0 ndiswrapper
    Now go to the yast settings and ERASE the configuration for the wireless card. You must create another one!!! Use the Wireless settings. The module name is ndiswrapper.
    Remove all the ethernet cables and reboot the system. Then you can test the connection!
    It worked for me!

  23. gm76 Says:

    Hi Scott!
    Thx so much for sharing this, particularly the driver since the official guide by Suse ( doesn’t provide a functioning tar-file, apparently.
    What seems to have made the difference eventually was removing and blacklisting the bcm43xx driver, something the Suse guide again doesn’t say.
    Thx again!

  24. Firerat Says:

    cheers Scott,

    after much fighting with the default bcm43xx in OpenSuse 10.3 on my Dell Latitude D600 I now have wireless working via ndiswrappers.

    many Thanks

  25. Gabriel Says:


    it take 1 day to configure the ndisdriver on a dell vostro 1700 , due i install an 64 bit version of an opensuse 10.30, i just download a XP 64 bit driver from hp (pavilion with xp os), the default version of bcm43xx direver are 32 bits, then you need to find out the rigth one

    Thanks to all for the great information on this blog

  26. himadri Says:

    Hey Scott,
    got mine working with the help of this article … cheers mate .. keep up the good work ..

    GOD Bless

  27. Scott Morris Says:

    Rock on, bro! Totally glad to hear it! Thanks for stopping by!

  28. slin Says:

    Im a total noob to linux – my buddy (who’s more of a guru) set up suse 10.3 on an old compaq laptop with a broadcom bcm4306 wireless card…

    we got it working with an unsecured network fine.. but now that i am trying to connect to a WPA encrypted network, i get really strange behavior… i have ndiswrapper starting on boot so it seems find – its finding the ssid fine as well – it actually connects and gets an IP from my router dhcp (192.168….) and there are packets being sent out and coming in… but i cant get out via FF – i try to hit and get Server Not Found… any ideas? should i switch to WEP and try?

    are there issues with WPA ( i think its WPA1) with Ndiswrapper with suse 10?

    should i just wait for 11 to try all this?

    i get unknown host when i ping in Konsole…

  29. Izo Says:

    Hi Scott,

    Just got OpenSuse 10.3 the other day (before I knew 11 was being released…) and this worked like a charm. I knew I was on my way when the wireless light on my Presario came on. Then it was just a bit of tweaking to get it to connect. Very nice, thanks. This was on a Compaq Presario C500TU with a Broadcom (the same model as yours) WiFi card.


  30. Mark Says:

    I just wanted to comment that, while there may be many more comprehensive tutorials online, this is by far the best, with the most information. I was about 2 seconds away from going back to ubuntu when I found this, and sure enough, when I was done, my wireless works perfectly. Thank you for taking the time to post this on here.

  31. Scott Morris Says:

    Thanks for the kind words. I’m glad this was helpful for you! Thanks for stopping by.

  32. Tim Says:


    Excellent info here. Got a question –

    I’m using WPA-EAP with TLS. I only have an identity, key pair and password. This is all I needed for Windows. However, the docs say TLS needs a Client Cert as well. I didn’t need one for Windows, why does SUSE want one?


  33. dan spisak Says:

    Hi, Scott. I attempted to install bcmwl5.sys per your instructions. I downloaded the .inf and .sys files from the link you provided and extracted them. I used ndis wrapper to install the file with no success. This is a typical example. I’ve tried several paths.

    djs_mobile:/home/spisaks# ndiswrapper -i root/home/spisaks/desktop/downloads/bcmwl5/bcmwl5.inf
    installing bcmwl5 …

    This is the result.

    couldn’t open root/home/spisaks/desktop/downloads/bcmwl5/bcmwl5.inf: No such file or directory at /usr/sbin/ndiswrapper-1.9 line 167.


    djs_mobile:/home/spisaks# ndiswrapper -l
    installed drivers:
    bcmwl5 invalid driver!

    Help! I am very very new to Linux. I’ve loaded Linux to my laptop and everything works except the wireless card.

    Here is my configuration:
    Laptop – Compaq Presario V2414NR, AMD Turion 64 1.6 GHz, 1.2 GB.
    Wireless card – Broadcom BCM94318MPG rev. 4, per card.
    lspci -v&apos reports:
    05:02.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11 g Wireless LAN Controller (rev 02)
    Subsystem: Hewlett-Packard Company Unknown device 1355
    Flags: fast devsel, IRQ 225
    Memory at c0204000 (32-bit, non-prefetchable) [disabled] [size=8K].

    OS – Debian GNU/Linux 4.0r5 “Etch” Official amd64.

    The Windows XP Pro SP-3 partition on the laptop contains bcmwl5.inf, bcmwl5.sys, and bcmwl564.sys. I tried to install these files with no success before I tried the files from your link. Since I am running a 64-bit OS should I use the bcml564.sys or something similar?

    I’ll appreciate any help or guidance. Thank you for your time.


  34. vinod Says:

    thank you ..i followed as given and it is working …

  35. sappertron Says:

    Spent all morning reading other how-tos and was starting to feel hopeless. Found your page and after 5 minutes it’s working.

    Thanks and great job.

  36. Lindo Says:


    My DELL Latitude had a self-combustion crisis and I’m setting my girl’s Dell Insipron laptop with my Latitude’s hard disk.

    I swapped hard disks and I was up and runing after a coule hours but no wirelesss.

    I’m trying to follow your instructions but I get “ERROR: Module does not exist in /proc/modules”. When running “rmmod netani” but the driver is installed, Its installed and the wireless card is present when I type ndiswrapper -l.

    Your help would be great. I’m no linux newbee but I’m no pro either.



  37. oluwatosin Says:

    i formatted my laptop lenovo 3000c200(89222fu) without backing it up, since then,the sound has not been working at all,and i have been trying to get the sound driver. please ,help me. cos i cant play any sound or music on .

  38. JJ Says:

    Hi Scott,
    Your instructions to setup wireless worked perfectly for me, thanks so much as I have been trying to get it working for sometime now with no luck.
    My machine details:
    HP Pavilion laptop dv4-1435dx, x86_64, dual-boot Vista & OpenSuse 11.1
    Wireless card details:
    02:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01)
    Subsystem: Hewlett-Packard Company BCM4312 802.11b/g Wireless LAN Controller


OpenSUSE Linux Rants
Official OpenSUSE Linux Site

internal links:


SUSE Resources

search blog:


March 2022
« Feb    

59 queries. 0.624 seconds