My Broadcom WiFi card is finally working with free software in gNewSense so I decided to make a post to explain how to make that happen for your card as well.
First you need to check your Broadcom WiFi card model: the OpenFWWF site says that 4306, 4311(rev1), 4318 and 4320 are tested and that they work. Not having one of those models is not a reason to try it, though.
Now, you need to install git-core, curl, bison and flex if they are not installed. Get b43-tools (http://git.bu3sch.de/git/b43-tools.git)and compile it.
After that’s done compiling (it should take 2 seconds or so), you need to download the firmware. Lastest firmware as of today is 5.2.
Extract the tar.gz and just “make”. When that’s done compiling (it also takes very little time) you’ll have 3 .fw files in your openfwwf directory. Those 3 files need to be copied to /lib/firmware/b43-open/ .
After that you need to pass an option to the b43 module. You do that by adding a line that says “options b43 qos=0″ (without quotes) to the /etc/modprobe.d/options file. I also added b43 to /etc/modules but that might not be necessary.
Here’s a step by step copypastable list of all the commands for you (you may need to change the version number of the firmware or the kernel, depending on when you read this post; also make sure that WordPress is not using formatted quotation marks):
sudo apt-get install git-core curl bison flex
git clone git://git.bu3sch.de/b43-tools.git
sudo make install
tar zxvf openfwwf-5.2.tar.gz
sudo mkdir /lib/firmware/b43-open
sudo cp *.fw /lib/firmware/b43-open/
sudo dpkg -i linux-image-2.6.30-libre-fshoppe1_i386.deb
echo “options b43 qos=0 nohwcrypt=1″ >> /etc/modprobe.d/options
echo “b43″ >> /etc/modules
I restarted and booted with the 2.6.30 kernel and my card was working. dmesg confirmed that I was using the free firmware:
[ 8460.884239] b43-phy0: Loading OpenSource firmware version 410.31754 (Hardware crypto not supported)
I would’ve liked it to say “free software”, just like I would’ve liked the firmware to be called free and not open, but that’s extra.
Enjoy your WiFi with freedom!
EDIT: I updated the openfwwf version to 5.2
EDIT2: updated the git repo for b43-tools