Wireless on Debian with your Broadcom AirForce One 54g (bcm43xx) Print E-mail
Written by machiner   
Saturday, 20 January 2007 05:14

UPDATE: 15jan09 - Look what's happened: free broadcom firmware. /UPDATE.
Debian has made it super easy to get your wireless going if your box uses the AirForce One. Which is very likely as Acer, Dell, etc. use these cards on their laptops. If you own a laptop with this card and you want wireless networking you've arrived at the right place. You'll need about 2 minutes to complete this task.

See bottom of article for important nerve-saving advice

Fire-up a your terminal-fu and quick check to:

$ lspci

will show you the card info you need to get started. Mine reads:

00:0b.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)

on my Acer Aspire 5003 laptop.

Last night I nuked and reinstalled my Etch system on my laptop. Man have those programmers made it easy to install Etch -- but that's a different article for a different day -- today is all about wireless.

There is only one program that I had to install and one file management task that I had to accomplish to get wireless up and running. SO, let's get right to it as my stomache is starting to growl...

People are a little confused about the bcm43xx driver that comes with Etch now. They are of the impression that since this is installed automatically now and they see info on it when they run $ dmesg that there must be some error or problem becaue their wireless does not work out-of-the-box. Well, it's simple. Ya -- Etch includes the bcm43xx driver, but it does not include the firmware necessary for the hardware. You still need to get that firmware installed on your box. But fear not, it's all auto, baby. Here's what I did:

Prerequisites include having the linux-headers specific to your kernel and you should have build-essential installed as well. In fact, you should install build-essential on all your Debian boxes as a rule. Also, don't forget to append the end of your repo entries with the contrib repository. bcm43xx-fwcutter is not in the main repositories. See my repositories below:

deb http://debian.uchicago.edu/debian/ etch main contrib non-free
deb-src http://debian.uchicago.edu/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
#opera
deb http://deb.opera.com/opera/ etch non-free
#marillat
deb http://mirror.home-dn.net/debian-multimedia/ etch main
deb-src http://mirror.home-dn.net/debian-multimedia/ etch main

Go here (Debian mirrors) to pick a mirror closest to you.

I fired up my terminal, became root and installed bcm43xx-fwcutter. During the install of bcm43xx-fwcutter I was asked if I would like to download and extract the firmware for the card. There was no "Hell yeah!" option, but yes was there - so that's what I chose.

ADDENDUM: Lately the firmware server that fwcutter hits up for the firmware has been down. I noticed this the last time I installed my Etch desktop and I apologise for not updating this tutorial sooner. Anyway, the way that I used fwcutter for now, until those fellas get their server right again, is to use it to install the firmware drivers that I already have. If you don't have a Windows driver disc with your firmware drivers on it for your wireless you can scour the web for them or you can use these ( md5sum) -- or these ( md5sum )
NOTE These drivers are not for Lenny and kernels begining at 2.6.22.

The way that I do it is to make a directory to extract the archive to, extract the firmware, cd into the extracted directory, and then call bcm43xx-fwcutter like this

# bcm43xx-fwcutter -w /lib/firmware bcmwl5.sys

What this does is extract the firmware from the .sys file and install it into that directory in the command. Piece of pie, works like a charm.

Further Update - 17 Feb 2008: an important tidbit about bcm43xx-fwcutter since Etch v4.0r4: "Updated versions of the bcm43xx-fwcutter package will be distributed via volatile.debian.org. The package itself will be removed from etch with the next update." ... continue with this tutorial....

After you run bcm43xx-fwcutter, if you anwsered yes to the aforementioned question, you will have the necessary files to run your card extracted into the /lib/firmware directory. Next, I unplugged my cat-5, or, "ethernet" cable and went to the following menu:

Desktop --> Administration --> Networking.

There I config'd my cards - there was an eth0 which Debian saw as my ethernet card, and eth1 which it saw as my wireless card. Sometimes on install it reverses these. No worries.

network-admin

You can clearly see from the pic that Debian has both "cards" listed. You simply click on your wireless listing, choose properties, and fill in your credentials. You set the essid and password up when you configured your router. Put the same info in here. Choose to allow dhcp to pick up an IP address for you or set a static ip yourself. I usually pick a static IP becuase my server wants to share its resources (printing, etc) to specific IP addresses. I'll allow DHCP when I plug my laptop into another network.

There can be problems if you run both your eth0 and eth1 concurrently, so I like to activate my wireless card and deactivate my ethernet card. You will also see in the properties of each that there is a check box "enabling" each connection. This means that when you boot your machine both cards will be ready to go. I have both of my cards checked, so they are both enabled, however only one is activated at a time.

Finished.

This whole proceedure took about 2 minutes.

Let's quickly recap, because I wrote this:

  • install bcm43xx-fwcutter
  • let it download and extract firmware
  • use network-admin to set your wireless connection up
  • disable ethernet to use wireless
  • happy networking

--machiner 20 jan 2007

See the forum post - here

Last Updated on Thursday, 02 April 2009 15:41