Broadcom BCM4322 Wireless On Ubuntu Karmic

I recently tried setting up a Dell Laptop with a Broadcom wireless driver. It was the only thing that wasn’t auto detected and setup correctly. Which got me a bit worried.

drubin@ubuntu:~$ lspci | grep -i net
0e:00.0 Network controller: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller (rev 01)

One of the first hits in Google was from Dimitar while this blog post has nice detailed instructions. It seems to miss points that make Linux so amazing the first being package management and on this point being able to upgrade your kernel. I found that blog post to be very informative and detailed but the part that made me question things was

Then click on the “Status” button and select “Installed”. Then search for “linux-”. Select all packages that start with “linux-” and then Package -> Lock Version.

What so I wouldn’t be able to do kernel updates? That wasn’t going to do at all. So I did what any good Floss user would do and read the read me from the BroadCom driver page

PRECOMPILED DRIVER
——————-
Some distros (Ubuntu and Fedora at the least) already have a version of
this driver in their repositories precompiled, tested and ready to go.
You just use the package manager to install the proper package. If
its available for your distro, this is usually an easier solution. See
the end of this document for further discussion.

This is something I haven’t seen that often official drivers pointing you to the Distro maintained versions. Linux has come along way in recent years. Any how for all those that happen to stumble here from Google and other places. I just want to mention the easier way to get the drivers working is written in the readme. 🙂

Ubuntu:
——
Go to System->Administration->Hardware Drivers
Choose the Broadcom STA wireless driver
Activate

Sometimes the driver does not show up in the Hardware Drivers choices. In
this case, try reintalling the driver from the GUI or shell like this:

From the GUI:
Package Manager (System>Administration>Synaptic Package Manager). Click the
Reload button in the upper left corner of Synaptic to refresh your index then
search for and reinstall the package named bcmwl-kernel-source.

From the shell:
sudo apt-get update
sudo apt-get –reinstall install bcmwl-kernel-source

In either GUI or text case, after reinstalling, reboot your machine.

Now go back to System->Administration->Hardware Drivers
and you should see the driver enabled and working.

I really hope this helps some one from compiling their own driver and having to maintain it between kernel upgrades. Btw I have upgraded my Karmic kernel to the latest 2.6.31.20.33 with it still working.

Tags: , , , , ,

Monday, March 15th, 2010 Ubuntu

10 Comments to Broadcom BCM4322 Wireless On Ubuntu Karmic

  1. I have been using an Acer netbook with a broadcom wireless card in it and more or less distro hopping and have noticed some distros like mint or ubuntu 9.04 recognize the card immediately but oddly enough ubuntu 9.10 doesn’t. Helena Mint which I thought was based on Karmic Koala has no problems recognizing the cards, hmmm weird. Anyway Nice summary drubin.

  2. y-lee on March 16th, 2010
  3. thanks @y-lee

    Last night I also tried to get the pae kernel going and these drivers were not happy. ;/ and not so keen to go down the compile your own drivers thing. So will see how things go

  4. drubin on March 16th, 2010
  5. I’ve been using these jockey installed drivers on many a Dell Latitude D430, D630, and E6400. They work well. But you can forget about the fingerprint reader.

  6. Christoph Shipley on March 16th, 2010
  7. @Christoph Shipley: Ye these are the Jockey installed ones. There just seems to be a bug with Karmic picking up the need for using them 🙂

    luckily I don’t have a fingerprint reader but that is good to know

  8. drubin on March 16th, 2010
  9. Well done. Keep it up. Many will learn from you.
    Thank you

  10. Kilos on March 16th, 2010
  11. […] the only thing that wasn’t auto detected and setup correctly. Which got me a bit worried. More here It seems to miss points that make Linux so amazing the first being package management and on this […]

  12. Broadcom BCM4322 Wireless On Ubuntu Karmic | Ubuntu-News - Your one stop for news about Ubuntu on March 16th, 2010
  13. The problem with the precompiled driver in Ubuntu is that it only works with a limited subset of 43xx cards. For instance, I have a 4303 on one machine, and no version of Ubuntu after 9.04 will play nicely with it. Roughly at the same time as the precompiled driver appeared, someone did something awful to the kernel — either in version 2.6.29 or 2.6.30 — that broke fwcutter, and none of the half-dozen people who understand the kernel has bothered to fix this regression yet.

  14. James D on March 16th, 2010
  15. @James D: That really does suck. The reason for my post was mainly for the people that have my exact driver. The first link in Google involves re-compiling it which isn’t ideal for new users and a simple apt-get is much easier to try as a first attempt ;-p

  16. drubin on March 16th, 2010
  17. I’m surprised you’ve had a good experience with it. The BCM4322 in my Dell Precision M4400 is pretty awful. If you ever run “ifconfig xx down” on it, you will never be able to bring it back up again. It also frequently hangs if you try to scan while it’s already associated to an AP. (Which is what brought me to trying to toggle the interface down and up again in the first place…) Basically the Broadcom driver is a joke, it only works correctly once and then if you need to reinitialize it, forget it – reboot is your only option.

    I’m about to replace it with an Intel 5300 from eBay…

  18. hyc on June 1st, 2010
  19. @hyc: Hi ye for some reason never had any issues with it, I will give you that intel is > broadcom as far as drivers go but for this.

    I did have minor issues using the PAE kernel since I would have to compile my own driver which was a pain so I have stuck with the 32bit os version.

    Are you sure you are using the same driver as I did?

  20. drubin on June 1st, 2010