Archive for July 8th, 2005

Linux Wireless Sadness

I’m a big, big Linux fan. I love almost everything about it except wireless. If ever there was a thing that doesn’t “just work” it’s wireless. Part of the problem is vendors. Vendors aren’t really supporting Linux, or they are downright hostile as is the case of the Airport Extreme chipset manufacturer Broadcom (see Airport Extreme vs. Linux for details).

My cases are pretty simple. I have a couple laptops and a desktop. I want the lap tops to work at my home and my work. I want my desktop to work just at home. My laptop uses the orinoco chipset. I can indeed get this machine to work with the drivers included with the kernel, but (as well see is the case with seemingly ALL linux wifi drivers) there is no stability. I had to write a small script to shut down the network, rmmod the wifi drivers (orinoco_pci and orinico), modprobe the drivers, then restart the network. “Why the hell would you do this, Steve?”, you ask? Well it’s because the damn thing will only work for so long, then phoot! It’s gone. I get the same damn level of service from my desktop.

Now my desktop is a special case. Unable to find a PCI wifi card with a supported chipset (it’s really damn hard to do this), I finally purchased an SMC card with a driver supported by the ndiswrapper module. If you’re not familiar with this module, this is the handy work of some super, extra-ordinary hackers. Based on Microsoft’s NDIS driver API, these hackers put together a Linux kernel module that will load and use native MS wifi drivers targeting coded to this spec. It’s all very wonderful and nifty and it really works! My desktop is proof for me. But I can only, sadly every rmmod, then re modprobe the ndiswrapper module once before it will lock my system up like a Baptist preacher locks up his daughter.

On the configuration side I’ve always tried to use the awful (A-W-F-U-L) network configuration software included with Red Hat distributions. It never works the right way for me so I always end up falling back to the nasty little scripts in /etc/sysconfig/network-script. It’s not too ugly, and it gets the job done. The reason I mention this is Red Hat is making amends for their ways. They’ve been working on NetworkManager. It’s an application that handles the configuration of network interfaces in the client space. It’s all good and nice and a real nifty idea. But as of Fedora Core 4, it still doesn’t do much more than squat for me.

I could go on, but I won’t. I live with the pain of Linux WiFi because Linux is so sweet and so rich. But damn, if there was one thing I could fix…