Nerd reference document follows.
Every year or two, I install Debian on my home computer to try something out. I even installed it on my PowerBook once back in the OS X 10.0 days. I really want to like Debian, and it works great for okcomputer, but I always wind up frustrated and go back to OpenBSD or something.
This time, the installer didn't annoy me with a million superfluous questions, I was able to burn an ISO instead of fiddling with 10 floppies, and things went really well until it came to networking. It looks like they have wired networking all sorted out, but wireless is basically unusable. I have a PRISM-based Linksys WMP11 802.11b card that's old enough to be supported by every operating system these days. Everything but Debian's default 2.2 kernel, that is. For the non-Linux geeks, stable kernel revisions use even numbers and the three most recent major releases have been 2.2, 2.4, and 2.6. 2.6 is now recommended for most people, especially desktop users. Long-term thinkers like busy server administrators often still use the tried-and-true 2.4 kernel. But to my knowledge, nobody but Debian still ships 2.2-based systems.
I wasted a lot of time trying to figure out what kernel options I needed to get my wireless card working. Not only do I hate building Linux kernels (OpenBSD and FreeBSD do it more sanely, especially OpenBSD which urges you not to), but Debian has their own way of doing things that's pretty nice once you understand it, but isn't documented very well. Thanks to my working Gentoo installation, I figured out that I need the orinoco_pci module. The Debian kernel packages helpfully include orinoco (for PCMCIA users) and orinoco_plx (for plx users?), but not orinoco_pci. Even their 2.4 kernel package is too old for that. Eventually, I found out that backports.org has up-to-date kernel packages for Debian, making this one of those problems that takes 5 minutes to fix once you know the solution, but 5 hours the first time you run across it.
Largely for my own reference, here's the solution.
Add to /etc/apt/sources.list
deb http://www.backports.org/debian stable kernel-image-2.4.27-i386 deb-src http://www.backports.org/debian stable kernel-image-2.4.27-i386
Install the kernel-2.4.27-XXX-image package from backports.org and wireless-tools from the Debian stable branch, using dselect or otherwise.
Add "orinoco_pci" to /etc/modules.conf .
Update boot loader to point to new kernel. If using grub on my computer, something like this may work.
title=Debian GNU/Linux root (hd1,6) kernel /vmlinuz-2.4.27-2-686 root=/dev/hdb3 initrd /initrd.img-2.4.27-2-686Posted by tim at May 24, 2005 10:37 PM