I have had a LinkSys wireless card for this computer for a long time. It ran perfectly with W98. It has a Broadcom chipset, which is a known problem with Linux. I have spent a solid month of time screwing around with all the workarounds for it, and for me they don't work.
So I bought a new Belkin MyEssentials wireless card and a router too, because they were too cheap to pass up at OfficeMax.
I got the router running (as an access point only; I don't have broadband) from WinXP in about an hour. So far I've put in 12 hours beating on the wireless card, and can't get it to work with Linux. I've downloaded the precompiled package and installed and removed it, and downloaded the source and compiled it three times. The various revisions of software available and produced use three different aliases for the driver, but so far the driver has not shown any sign of having established a connection with the hardware.
Some of the software I'm using is 'deprecated', which is computer- speak for "It won't be supported in the future; live with the bugs, or upgrade your hardware." That's partly due to the combinatorial problem presented by the proliferation of distributions; no one can support them all.
It's also partly due to an odd philosophy that originates with Linus. He insists that hardware that works differently should all appear to work the same. E.g. you should be able to install a wireless card in the same way that you install a 10Base2 card, whether their interface to the computer is via ISA, PCI, USB, PCMCIA, or Cardbus. Down on the silicon, they are _way_ different.
The side effect is that complexity is increased, but hidden under layers of indirection, such that if you have the latest and greatest hardware and the latest and greatest (i.e. today's) revision of your distribution, everything will appear clean and neat. Try to use last week's hardware with this week's software, and something is going to be screwed up ... and only God can figure out what that is.
Most of what you actually see on a graphical Linux desktop is written in shell scripts and/or Python. It's structured differently for different distributions, and for different revisions of a distribution, as fashion changes. It's object- oriented too, so you may be making changes to what is really only one of several copies of a particular file, and they're distributed pseudo- randomly over a huge directory tree with many similar but different branches.
Maybe my wireless card was paravirtualized, too. So far I've found four copies of what should be _the_ configuration file for it. The GUI interface changes them all when it closes ... and the card still acts dead. Maybe there are four more copies that actually affect how it works, and they aren't being changed.
So, yeah, buy a Linux computer, but buy a modern one with a lot of memory, from a system integrator who will put it together, install your applications, use your data and exercise it for a while ... and then, don't mess with it.
I'm doing this for a hobby, and to keep my mind functioning 'between jobs'. If I needed it running for work, I'd be tearing my hair out. Okay, if I had work, I'd have money, and I'd just toss it and replace it with something much newer.
Mike Halloran
Pembroke Pines, FL, USA