Fix for broken Wi-Fi in Ubuntu 9.10 (Karmic) on a Dell laptop with Broadcom adapter

Did a fresh install of Ubuntu 9.10 (Karmic) on an old Inspiron E1505, only to find Wi-Fi not working. Fortunately the fix was easy.

Firstly, more on the problem. I was able to switch Bluetooth on/off with Fn+F2 keys, but the Wi-Fi icon remained dark. In the BIOS, both Bluetooth and Wireless were turned on and Fn+F2 was set to operate on both.

This laptop has the following adapter:

ak@lplx:~$ sudo lspci | grep 802.11
0b:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)

The syslog had errors like:

Feb 28 12:54:24 lplx kernel: [   24.670763] b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found
Feb 28 12:54:24 lplx kernel: [   24.670769] b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found
Feb 28 12:54:24 lplx kernel: [   24.670773] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.

Since the error was about missing drivers and lspci told me I'm using the BCM4311 adapter, first thing I tried was search APT descriptions for it:

ak@lplx:~$ sudo aptitude search ~dBCM4311
p   bcmwl-kernel-source                   - Broadcom 802.11 Linux STA wireless driver source

ak@lplx:~$ sudo aptitude show bcmwl-kernel-source
Package: bcmwl-kernel-source
New: yes
State: not installed
Automatically installed: no
Version: 5.10.91.9+bdcom-0ubuntu4
Priority: optional
Section: restricted/admin
Maintainer: Ubuntu Core Developers 
Uncompressed Size: 1,835k
Depends: dkms, linux-libc-dev, libc6-dev, linux-headers-generic
Description: Broadcom 802.11 Linux STA wireless driver source
 These package contains Broadcom 802.11 Linux STA wireless driver for use with Broadcom's BCM4311-, BCM4312-, BCM4321-, and BCM4322-based hardware.

Hmm, sounds promising, let's try it:

ak@lplx:~$ sudo aptitude install bcmwl-kernel-source

After a reboot, the Wi-Fi icon on the keyboard lit up and Network Manager saw my wireless network. Sweet.

Leave a comment

NOTE: Enclose quotes in <blockquote></blockquote>. Enclose code in <pre lang="LANG"></pre> (where LANG is one of these).