I do wholly agree that whenever possible one should use a fully GPL
compatible/FSF approved OS and hardware drivers, but coming into this
movement with a Windows machine that I switched to PCLinuxOS, then Ubuntu,
then Debian, then Trisquel. I understand that the hardware one has may not
have a FSF approved driver.
However, I like the assurance that every other piece of software running on
my computer is Free, except for the stuff I put on there myself, not from the
repositories.
It is also MUCH less hassle buying a supported hardware.
---But if you are interested in hacking a bit-----
This is just a brief overview.
First you will need to figure out what your wireless network card is.
From the terminal (Accessories>Terminal), type "lspci"--to list the PCI
devices--or "lshw"--t list all the hardware. ("man lspci" or "man lshw" can
provide more explanation of each command line program.) Search the list for
your network controller.
For instance I have, "Ralink corp. RT2800 802.11n PCI".
Then do a Internet search for that driver. (I would search for "Ralink
RT2800 Linux driver."
Now it gets interesting, the driver should come as source code, which you
will need to compile (something to the effect of configure/make/install" from
the terminal, read the INSTALL and README text files with the source)
You will then need to blacklist the original module, if any, that was
selected for your wireless card on start up, before the new-non-free one was
installed. (/etc/modprobe.d/blacklist.conf). The command line program
"lsmod" will tell you all the modules. (man lsmod for more info, or info
lsmod now that I think of it.) Anyhow, you will need to as root edit
/etc/modprobe.d/blacklist.conf, by adding another line "blacklist
[modulename]"
I should also mention that in my case the source for my wireless card had WPA
disabled so I had to search the Internet on what changes to make to the
source before compiling to have WPA work.
Also, if you get the binary you must place it in the correct directory.
The whole process really is not for the faint hearted.
I still haven't done it since switching to Trisquel--have been using my
ethernet card. Maybe on a weekend, when I feel like hacking, I might try it
again.