After searching for ways to get wireless working on my HP dv9000, I came across this thread. Apparently, Broadcom offers linux drivers for it's 802.11a/b/g/n cards (chipsets BCM4311, BCM4312, BCM4321, and BCM4322, in both 32 and 64 bit).

Figuring that there are other people out there with the same problem: here's the steps I took to install the native drivers:

  1. Download the appropriate driver
    I downloaded the 64 bit version of the driver from http://www.broadcom.com/support/802.11/linux_sta.php
    It's important that you get the correct version, as the 32 and 64 bit versions are not compatible.
  2. Make the .ko file
    First, make a temporary directory
    Code:
    mkdir wdriver
    ... and place the downloaded package into it (hybrid-portsrc-_64_5_10_27_6.tar.gz, or hybrid-portsrc-x86_32_5_10_27_6.tar.gz for the 32 bit version)
    Then 'cd' into the temporary directory and un-tar the file.
    Code:
    cd wdriver
    tar -xzf hybrid-portsrc-x86_64_5_10_27_6.tar.gz
    Now, we want to make the wl.ko file, so we enter:
    (<2.6.xx.xx> is your kernel version: mine was "2.6.24-19-generic". Use tab-completion to find yours.)
    Code:
    make -C /lib/modules/<2.6.xx.xx>/build M=`pwd` clean
    make -C /lib/modules/<2.6.xx.xx>/build M=`pwd`
    You should now have a file "wl.ko" located in the temporary directory you created (wdriver).
  3. Make sure that no other wireless drivers are installed
    Enter: (Don't worry if there are any errors returned)
    Code:
    sudo rmmod bcm43xx
    sudo rmmod b43
    sudo rmmod b43legacy
    I also uninstalled ndiswrapper, just to be sure:
    Code:
    sudo rmmod ndiswrapper
    sudo apt-get remove ndiswrapper-common
  4. Test the new wireless driver
    Now, lets test out our new wireless driver. Enter:
    Code:
    sudo modprobe ieee80211_crypt_tkip
    sudo insmod wl.ko
    If it worked, and you can see/connect to wireless networks, you'll want to:
  5. Make your changes permanent.
    First, you may want to blacklist the old b43/b43legacy/bcm43xx drivers. Enter:
    Code:
    sudo gedit /etc/modprobe.d/blacklist
    and add the following to the end of the file:
    Code:
    blacklist b43
    blacklist b43legacy
    blacklist bcm43xx
    Now, let's move the wireless driver somewhere more permenant:
    Code:
    sudo mkdir /lib/modules/<2.6.xx.xx>/wlan
    sudo mv wl.ko /lib/modules/<2.6.xx.xx>/wlan
    Now, lets make it so that the driver and wireless encryption module are loaded on startup. Enter:
    Code:
    sudo gedit /etc/modules
    and add
    Code:
    ieee80211_crypt_tkip
    to the bottom.

    Now run:
    Code:
    sudo gedit /etc/rc.local
    and add
    Code:
    sudo insmod /lib/modules/<2.6.xx.xx>/wlan/wl.ko
    at the end of the file, but before the line "exit 0"

    That's it. If I've made any errors, please let me know. Thanks.