« Home

Installing Broadcom Wireless Internet Drivers on a Dell Inspiron 1525 with Debian Lenny

Andy Kelley
October 2, 2008

Wifi cards

This package should work for the following numbers:

You can find out what yours is by typing this in a terminal:

lspci | grep Network

I also assume a 32-bit architecture.

Lenny

If you're using etch, I recommend you upgrade to lenny. It's still pretty stable and you get newer software with more features. Also there are less kernel problems and more hardware is supported.

Getting drivers

Unfortunately there are no open free drivers for this hardware, but Broadcom does provide a binary blob that works fairly well. Much better than ndiswrapper, anyways, which is also just wraps a Windows driver. However there is a strange problem that prevents ssh, telnet, ftp, and the like from working in the terminal, even though they work with packages such as PuTTY and FileZilla. This guide attempts to fix that problem.

Installation

Download the drivers

Grab the broadcom driver and unzip it into its own folder:

mkdir hybrid_wl
cd hybrid_wl
wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc-x86_32_5_10_27_6.tar.gz
tar -xzf hybrid-portsrc-x86_32_5_10_27_6.tar.gz

Apply the patches

Now we'll use the patch posted on the page for the connection blocking bug. There is one for src/wl/sys/wl_iw.c and one for src/wl/sys/wl_linux.c. Apply these diffs to your code with the patch tool. If you're too lazy to do it yourself, you can use this archive I created just for you, with the diff merged already. (If you do this, note that this replaces the one you downloaded in the first section, and you should redo that bit, using this package rather than broadcom's.)

Make sure you have the build tools

You're going to compile the kernel module, so you need to have the tools installed. You'll need build-essential as well as the headers for your kernel:

sudo apt-get install build-essential linux-headers-`uname -r`

Compile the kernel module

I'm ripping this part straight from the README.txt file Broadcom supplies. Make clean and then build:

make -C /lib/modules/`uname -r`/build M=`pwd` clean
make -C /lib/modules/`uname -r`/build M=`pwd`

If you get any errors, read them and try to see if it is a dependency problem. If it is, search your repository and install it, and then try again. Sorry if I didn't list it above.

Test the kernel module

The build process created wl.ko, which we add to the kernel to enable wireless. Before we set it up to load automatically, let's test it out. First we remove conflicting modules:

sudo rmmod bcm43xx b43 b43legacy ssb wl

Next we make sure the kernel can decode TKIP encryptions:

sudo modprobe ieee80211_crypt_tkip

And finally we insert our module into the kernel:

sudo insmod wl.ko

If it works, great, move on. If not, uh oh, better go get some help. Don't do the rest of these steps if this test doesn't work.

Install the module so it loads automatically

Sweet, it works. But you really don't want to do that every time you boot your computer. Remove the module you just inserted. We'll put it back in later, don't worry.

sudo rmmod wl

Okay now we're back to a clean kernel. Let's put wl.ko somewhere logical and then insert it back again.

sudo mkdir -p /lib/modules/`uname -r`/misc
sudo cp wl.ko /lib/modules/`uname -r`/misc/wl.ko
sudo insmod /lib/modules/`uname -r`/misc/wl.ko

Now that we have the kernel module in a logical place, we use depmod to generate the module dependency information, which will probe ieee80211_crypt_tkip and wl when the system boots:

sudo depmod -a

We have one last thing to do. Remember those modules we removed so that they wouldn't conflict with wl? Let's blacklist them so that they never cause us problems in the future:

sudo echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist
sudo echo "blacklist b43" >> /etc/modprobe.d/blacklist
sudo echo "blacklist b43legacy" >> /etc/modprobe.d/blacklist
sudo echo "blacklist ssb" >> /etc/modprobe.d/blacklist

That's it! Reboot to see if our configuration worked.

Comments

Lenz G.
Thanks a lot! It's working on Lenny. Anyhow, Ubuntu 8.04 recognizes the wireless card without trouble (still, I wanted to use Debian).
Lewis
Thanks for your howto! Worked like a charm with Dell Mini 9, Debian Sid and Squeeze. Almost all Inspirion have this chip.
Andy Kelley
This is outdated - No need to use that patch anymore, Broadcom fixed it. Just get the latest one and don't worry about patching it: http://www.broadcom.com/support/802.11/linux_sta.php
Andy Kelley
No need to compile your own driver anymore! Debian has broadcom-sta-modules in the nonfree repository now :)
bobobo
These are all tested Dell 1525 drivers http://rapidshare.com/files/159290575/DELL_Inspiron_1525_Xp_Bluetooth_Driver.rar http://rapidshare.com/files/159289017/DELL_Inspiron_1525_Xp_Wireless_Lan_Driver.rar http://rapidshare.com/files/159287740/DELL_Inspiron_1525_Xp_Sata_Driver.rar http://rapidshare.com/files/159286795/DELL_Inspiron_1525_Xp_Ricoh_Driver.rar http://rapidshare.com/files/159286757/DELL_Inspiron_1525_Xp_Modem_Driver.rar http://rapidshare.com/files/159286728/DELL_Inspiron_1525_Xp_Intel_Mobile_Chipset_Driver.rar http://rapidshare.com/files/159286697/DELL_Inspiron_1525_Xp_Integrated_Webcam_Driver.rar http://rapidshare.com/files/159286618/DELL_Inspiron_1525_Xp_Ethernet_Driver.rar http://rapidshare.com/files/159286589/DELL_Inspiron_1525_Xp_Display_Driver.rar http://rapidshare.com/files/159286291/DELL_Inspiron_1525_Xp_Dell_Tools.rar http://rapidshare.com/files/159285994/DELL_Inspiron_1525_Xp_Cd-rom_Dvd_Driver.rar http://rapidshare.com/files/159285975/DELL_Inspiron_1525_Xp_Audio_Driver.rar
Trip Nixon
This is great. Thank you for sharing as the Makefile for Debian was incorrect, but your steps solved it!

Post a comment

Feedback appreciated :)

Your name:
Type 'i am not a bot':
Comments: