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/ .
Then you need to install Linux-libre v2.6.30. A neatly packaged image can be found at my friend Ali Gündüz’s Freedom Shoppe.
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):
cd
sudo apt-get install git-core curl bison flex
git clone http://git.bu3sch.de/git/b43-tools.git
cd b43-tools/assembler
make
sudo make install
cd
wget http://www.ing.unibs.it/openfwwf/firmware/openfwwf-5.2.tar.gz
tar zxvf openfwwf-5.2.tar.gz
cd openfwwf-5.2
make
sudo mkdir /lib/firmware/b43-open
sudo cp *.fw /lib/firmware/b43-open/
cd
wget http://aligunduz.org/gNewSense/freedomshoppe/linux-image-2.6.30-libre-fshoppe1_i386.deb
sudo dpkg -i linux-image-2.6.30-libre-fshoppe1_i386.deb
sudo -i
echo “options b43 qos=0 nohwcrypt=1″ >> /etc/modprobe.d/options
echo “b43″ >> /etc/modules
logout
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
July 4, 2009 at 09:40
Not only he’s not dead….and he’s posting too!!! way to go my friend!!!
BTW: Excellent news!! Wife’s computer has a broadcom card, I will try it and will let you know hot it works.
PS: Why I don’t try it out first and then post into your blog is a big mystery of human nature
August 3, 2009 at 03:10
Leo! Muy bueno el Post, sólo dos cositas…
1) Al principio usas el wget con openfwwf-5.2.tar.gz, luego se hace referencia a openfwwf-5.1.tar.gz
2) Se debe usar comillas simples en:
echo “options b43 qos=0″ >> /etc/modprobe.d/options
echo “b43″ >> /etc/modules
sino, se agregan las comillas dobles junto con el texto y probablemente nos de un warning al levantar el módulo, por ejemplo.
Excelente, trabajo. Gracias!
August 3, 2009 at 06:24
@Kenny Ossa:
Gracias, pensé que había cambiado todos los 5.1 por 5.2.
Es perfectamente válido usar comillas dobles ahí, excepto que WordPress les pone estilo. Debería averiguar como cambiar eso.
August 13, 2009 at 05:46
[...] my misfortunes with the wifi card on #gnewsense on freenode. gnufs on #gnewsense pointed me to http://leorockway.wordpress.com/2009/07/04/0c00-0-network-controller-broadcom-corporation-bcm4311-80... . There, I came to know about OpenFWWF , a project “that provides an open source firmware [...]
September 16, 2009 at 10:38
You are awesome. I followed the steps and my wifi is working.
The fix on the gNS site kept giving me errors but you have fixed the problem.
Lack of wifi support for b43 drivers was the reason I had to uninstall gNS 2.2.