Wednesday, March 21, 2012

Gettting WiFi to Work in Ubuntu 10.04 (Broadcom Chipset)

When I first started playing with Ubuntu on my laptop and desktop computers, one of the most annoying things to deal with was getting my WiFi to work. I know Ubuntu (and the Linux developers in general) like to stick with open source and non-restricted device drivers, but I detest the fact that my Broadcom wifi card does not work "out-of-the-box" on a standard Ubuntu installation. My ranting aside, here's how to get yours working WITHOUT depending on wrapper or other convoluted methods.

First check what chipset is in your wifi card using the lscpi command:

sudo lspci -v

This command shows information on all your pci bus hardware (at least that how I understand it). You'll be looking for a Network Controller. The output for my control is:

08:00.0 Network controller: Broadcom Corporation BCM4311 802.11a/b/g (rev 01)
    Subsystem: Hewlett-Packard Company Broadcom 802.11a/b/g WLAN
    Flags: bus master, fast devsel, latency 0, IRQ 16
    Memory at e8000000 (32-bit, non-prefetchable) [size=16K]
    Capabilities: [40] Power Management version 2
    Capabilities: [58] MSI: Enable- Count=1/1 Maskable- 64bit-
    Capabilities: [d0] Express Legacy Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [13c] Virtual Channel
    Kernel driver in use: b43-pci-bridge
    Kernel modules: ssb

The important part you are looking for is Device ID. The Device ID for the wifi card on my system is "08:00.0" Using this we can now find out what hardware you have in your system by issuing the following command

sudo lscpi -nn -s 08:00.0

Obviously you'll need to replace my Device ID with the one from your system, but you get the jist. You should get an output similar to what I have here:

08:00.0 Network Controller [0928]: Broadcom Corporation BCM4311 082.11a/b/g [1434:4312] (rev 01)

The last set of brackets contains your Hardware Identifier. If yours is the same as mine, then the Ubuntu installer prbably loaded the wrong set of drivers for your card during the install process and the following commands SHOULD fix your problems:

sudo apt-get update
sudo apt-get install firmware-b43-installer
sudo apt-get remove bcmwl-kernel-source
sudo reboot

If this works for you, let me know in the comments. Happy wifi!

Many, many, many thanks to Niel Smith at nfolamd who figured this out. Here's his original post: http://nfolamp.wordpress.com/2011/10/815/ubuntu-11-10-getting-wireless-bcm4311-working/

No comments:

Post a Comment