I think of myself as a Linux expert. I was a Unix administrator before Linux existed, and these days I run Linux on four servers and four desktops in my home office.
I also know my way around hardware, and Im something of a network maven. And despite all that, I cant get Wi-Fi networking working on my Centrino-enabled Toshiba laptop.
To be specific, my main laptop these days is a Toshiba Satellite A35-S159. Other than having more memory than most notebooks, with 512MBs, with its 2.3 GHz Pentium 4-M and 60GB hard drive, its pretty much like any other modern laptop out there.
It also includes an Atheros AR5001X+ wireless network adapter, which supports the whole Wi-Fi gamut of 802.11a, 802.11b and 802.11g.
Thats important to me since I run g and a in the house, and nine times out of 10 when Im on the road, Im using the slow—but dependable—802.11b. Its probably also important to you since these days almost all laptops come with this kind of Centrino Wi-Fi pack.
Or rather, I would be using 802.11b on the road with Xandros Business Desktop OS 2.0, which is currently my favorite Linux desktop—except there are no rock-solid working drivers for my Wi-Fi chipset.
Its not a distribution problem. I also run SuSE 9.1, Red Hat 9 and the latest version of Red Hat Fedora, and none of them does well by Wi-Fi. When it comes to Wi-Fi, Linux is lacking.
Now, thanks to the hard work of the people at the SourceForge MADWIFI (Multiband Atheros Driver for Wi-Fi) project, I can get the 802.11b side to work. To do that, though, I had to get the source code and make the driver myself.
This is annoying but perfectly doable … for me. For Joe User, its impossible. And, Im sorry to say, it still doesnt work right. My biggest problem is that for some reason, I and other users have trouble getting 802.11b to work when an 802.11g access point, operating in 802.11b compatibility mode, is supplying the bandwidth.
Since I mostly run my home-office Wi-Fi network off Linksys WRT54G 802.11g APs, well, Im hosed. So, what I usually end up doing when running Linux at home is I attach the notebook to my Fast Ethernet switch. And when Im on the road, I end up running—dare I say it?—Windows XP for Wi-Fi access.
Fortunately, Intel has finally released some Centrino source code to the developer community, so Im hoping that between Intel and the open-source community, well finally see some progress here.
This isnt the only such problem with Linux and hardware. Sound cards, even the ordinary old Creative SoundBlaster, are infamous for not working well or not working at all. The best efforts of the ALSA (Advanced Linux Sound Architecture) group just havent been good enough.
Again, there has been progress made in this area. For the latest, check out the Sound Blaster Live! Linux Page. Another useful site for those whod like some sound with their Linux—or Unix, for that matter—is 4Front Technologies.
But why do we have to go through this, anyway? Its not all the hardware vendors fault for not providing drivers. Theyre caught in the classic chicken-and-egg problem of device support. The vendors dont want to spend time and money on drivers until there are enough customers to make it worth their while, and smart customers dont want to switch to Linux until theyre sure that their hardware will run on it.
Of course, if the hardware vendors would just release more information about their devices APIs (application programming interfaces) and ABIs (application binary interfaces), this wouldnt be such a problem.
SoundBlaster has seen real progress, for example, since Creative finally released some of the necessary information required to make open-source drivers back in November 2003.
Ironically, you dont see as much of this kind of problem on the server side of life. For example, if I want to add an iSCSI-based SAN (storage area network) to my network, I can usually get the drivers and I dont have to sweat over getting it to work.
There are still holes, though. For example, Im one of those people who believe that InfiniBand—with its speeds of 20 Gbps and up—is going to revolutionize our servers, server farms and grids. Right now, Linux isnt really InfiniBand-ready.
But just as I was writing this very story, I was told that Intel and other InfiniBand supporters will soon be announcing an effort to create a common Linux reference platform for it. This is great news.
Now, why cant we have this for the Linux desktop as well? Joe User doesnt want to—and he shouldnt have to—go to mailing lists and Web sites in search of compatibility answers for commonplace equipment.
I know, I know, I can already hear some of you saying, “Why not? Its easy. Anyone can do it.” Oh, please. Linux isnt just for people whose idea of a good time is hand-coding device drivers.
For Linux to make the next step in desktop popularity, it needs to be as hardware-friendly as Windows. Much as I hate to say it, thanks to a lack of device drives, Linux simply isnt there yet.
eWEEK.com Linux & Open-Source Center Editor Steven J. Vaughan-Nichols has been using and writing about operating systems since the late 80s and thinks he may just have learned something about them along the way.