Originally posted by: phisrow
Support is not quite perfect(as it depends on a binary firmware glob); but, as sigs3gv says, for all practical purposes life is good. Most Linux distros for nonmaschists will have it working right out of the box(heck, I installed all but the base system on my laptop over the 2200b/g card's connection). I'd prefer something more free; but this is pretty good.
The firmware is pretty much 'ok free enough' for Linux and all that.
There is a big difference between actual swear-to-god 'firmware' (also called microcode) and 'binary blobs' like you get with Nvidia's propriatory drivers or with Atheros wifi cards.
With complex devices you have a onboard proccessor. Usually a ASIC or FPGA thing. The firmware is the binary software-like items that runs on that actual proccessor on the card.
Binary blobs on the other hand are software, generally written in C, that are actual kernel code. That is when you load a module on your system it becomes a part of the actual kernel that your running. Same memory, same address space, same code.. it can do anything it wants at that point.
The difference is subtle, but very significant. For example if you have a PowerPC machine and you were to try to use something like a Intel wifi card with the firmware it could work.. since the firmware runs on the proccessor in the wifi card then it doesn't matter what operating system your using it with or what platform your running it on. That firmware is only usefull and specific to that paticular device.
Now if I wanted to run Nvidia's 3d accelerated drivers on a PowerPC platform I would have to obtain the source code to the actual 'binary blob', edit it, and recompile it for that platform in order to get it to work.
Now with firmware, however, it's a pain in the rear to load and unload. This is a money-saving sceme... Otherwise the firmware would be stored on the actual device itself in the form of flash memory or cmos or something like that.. but by having loadable firmware support in OSes like Linux and Windows they can get away with eliminating that small peice of integrated circuit and save a small amount of money. It's much better for manufacturers to include it into the actual device.
Of course there is a bluring of the line here... other devices have 'firmware' which isn't realy firmware. For instance you have Linksys certain versions of their WRT54G (and lots of others brand/models) wireless router device that have things called 'firmware' updates.... but they aren't realy firmware, they just update the Linux OS running from a small onboard flash. (which they release the source code for, btw)