Ubuntu 9.10 64bit vs. Broadcom

Well, I actually didn’t think about my WIFI-chipset when I bought my Dell Studio notebook: If Dell offers Ubuntu as an operating system along their products anyway, there should not be a driver problem when manually installing Ubuntu. After installing 8.04 and later 8.10 and 9.04 (32bit by accident), it worked out of the box: The Broadcom driver for the BCM4312 chipset was proprietary and I didn’t have a single problem.

Yesterday I decided to get rid of the 32 bit 9.04 version and install the Ubuntu 9.10 beta version. Installation worked fine, but after rebooting the system I saw that there was no wireless network connection at all. Running lsmod told me that the b43 module is running. However, it didn’t work: no network connection was shown, not even that it recognized my WIFI card.

After reading through several blogs and forums I finally got it running. This installation guideline might help you, too. Maybe the driver will be included / fixed in the final 9.10 version, but just in case it’s not, this might be a solution for you:

1. Compile Broadcom driver

Download the driver from the official Broadcom website and follow the installation instructions in the README.txt.

After compiling the module and adding it via “modprobe” as described in the README.txt file, it already worked fine for me: The system connected to my local WIFI access point.

2. Load driver on startup

What didn’t work was the automatic disabling of the ssb module by adding it to the blacklist. The command lsmod still showed that the module was loaded even though it was added to the /etc/modprobe.d/blacklist.conf. Therefore, after a reboot of the system I still had no connection at all and had to manually modprobe wl again. Adding “wl” to the list in /etc/modules showed no effect.

Here is the solution I found on another forum (don’t find the URL anymore):

Add these 3 lines to /etc/rc.local:

rmmod ssb
modprobe -r ssb
modprobe wl

After a reboot, the network service now automatically took the newly installed driver.