And Don't Forget The Freakin' Broadcom Wireless NIC!
That's right, I have a Broadcom BCM4312 wireless NIC in my Lenovo N500 laptop and the Linux driver is a bit of a bitch. Well, if I use Ubuntu it will recognize it and ask me if I want to install the not-so-free drivers. Debian is not so enthusiastic. So I went to Broadcom's Website and grabbed the driver they had available there. But wait, it's not that easy… I also needed these instructions I found from Andy Kelley. In short, here's the steps:
1. Download the drivers from Broadcom's Site
2. Make sure ya got the headers: apt-get install build-essential linux-headers-`uname -r`
3. Make sure ya got "make": apt-get install make
4. From the Broadcom instructions: make -C /lib/modules/`uname -r`/build M=`pwd` clean
5. Also from Broadcom's instructions: make -C /lib/modules/`uname -r`/build M=`pwd`
6. Dump potentially conflicting drivers: rmmod bcm43xx b43 b43legacy ssb wl
7. Make sure you got TKIP: modprobe ieee80211_crypt_tkip
8. Use the new module: insmod wl.ko
There are additional steps if you would rather relocate the driver file in a more appropriate place:
9. Remove it: rmmod wl
10. Make a new dir for it and copy it: mkdir -p /lib/modules/`uname -r`/misc
10b. cp wl.ko /lib/modules/`uname -r`/misc/wl.ko
11. Put it back in: insmod /lib/modules/`uname -r`/misc/wl.ko
12. Generate the dependency: depmod -a
Then if you are feelin' really crazy you can blacklist a few drivers that might screw with it:
echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist
echo "blacklist b43" >> /etc/modprobe.d/blacklist
echo "blacklist b43legacy" >> /etc/modprobe.d/blacklist
echo "blacklist ssb" >> /etc/modprobe.d/blacklist
Oh yeah, and I would also suggest apt-get network-manager which has a quick n' dirty interface for adding wireless networks.
