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.

OpenSUSE Linux Rants
Official OpenSUSE Linux Site

internal links:


SUSE Resources

search blog:


December 2007
« Oct   Jan »

51 queries. 1.104 seconds