Linux woes - how I put the "working" back into "wireless networking"

For the last 6 months or so, as it became increasingly obvious that my wife needed a new computer, she would ask me if she should move to Linux. It makes me proud knowing that she would even consider switching from Windows to Linux, but it is not a question I take likely. Believe me, I would love for her to get into Linux, but I must admit, I have my reservations. You see, I am a tinkerer; I love installing new stuff, trying to figure out how to get things to work, fixing things when they break. And Arin, well, she is not a tinkerer. She just wants things to work. And when she needs new stuff installed, she wants it to be easy and straight forward. For that reason alone, I hesitate to tell her that Linux is for her.

Meanwhile, while having this discussion, I decided to see if I could get a newly acquired Linksys WMP11 PCI network card to work in Linux...
To be honest, I did not expect things to simply work. I expected at the very least to have to recompile the kernel, but that is not a big deal. After a little research I realized I would first need to download and install some drivers from Absolute Value Systems, maintainers of a set of wireless network drivers for linux. I found my card on their list of supported adapters. Just "install, recompile, reboot and go" I thought. Afterall, it is a Linksys product - a major brand name in the home networking industry. There must be thousands of Linux users just like me. This will be easy. Or maybe just hundreds. Ok, at last one user.

No such luck. When I rebooted, the wireless card wasn't even detected from what I could tell. So I did some digging and learned one very important piece of information: Linksys has released three different cards under the name "WMP11." The first version they released uses a Prism2 chipset, and it works just dandy under Linux. The second card, known as "WMP11 v2.7" uses the Broadcom chipset and is not supported by the linux-wlan-ng driver. The third card, "WMP11 v4" uses the InProComm chipset, yet another chipset not supported by this open source wireless driver set.

I openned my machine back up, pulled out my Linksys card and tried to determine what I had. Farbeit for the exact type of card to be obvious. Buried in some hexa-digit part number was "something-something-something-WMP11V4," informing me of what I already suspected: I was screwed. So I had the version 4 card. Although I dond't give up that easily. After a little more digging I learned that I might be able to use a Windows XP driver using an open source ndiswrapper utility. This convenient utility allows Linux users to utilize a Windows XP driver file to interface with a device on their system. I did not find my card on their list of supported cards, but I was in denial, so I figured I would install it anyway to see if it would work.

Survey says?

No dice. Shit. Pardon my language, but I was getting pretty annoyed at this point. Luckily I found the most informative discussion to date. Reading it led me to LinuxAnt makers of driverloader, a proprietary WLAN NDIS wrapper utility. It was my last hope, and I was losing patience, and becoming quite frustrated. So I downloaded the software, installed it, and then spent the next 60 minutes trying to find the right Windows driver file that would make my WMP11 to work. I finally found the right zip file from Linksys and within it, the right .sys file. My card worked. Hallelujah!

But I was still stuck with a solution that wasn't open source, and one that eventually I would have to pay for. And that is just wrong. Plain wrong. I hope to never pay for Linux software, and I was not going to start now. So, considering the fact that my wife needed a wireless PCI card, I figured I would accept the LinuxAnt solution temporarily, order myself a new card that I knew was supported, and then give Arin my WMP11 card when I was finished. There, solution found, and it would cost the same to order DriverLoader as it would to buy a new card. I was happy.

A week later my new NetGear MA311 card arrived. So I plugged it in, and turned on my machine, and there was hope. Real hope. The device was detected by the driver, but the driver wouldn't load. I got so many errors over the course of the next 36 hours as I tried to get the damn thing to work, everything ranging from "ioctl SIOCSIFFLAHS: no such device" errors, to "error waiting for correct DHCP response," to "Error for wireless request "Set ESSID" (8B1A) : SET failed on device wlan0 ; Function not implemented." What!? I was really about to plotz now.

I was hang'n on by a thread here. But I mustered up the strength to upgrade my kernel from 2.4.23 to 2.4.27 to see if that worked. It didn't. I upgraded my kernel from 2.4.27 to 2.6.8-1. That didn't work either. I installed the latest and greatest wireless-tools package. Nope. I read somewhere that the MA311 will work with the orinoco and hostap drivers. I installed both. Nothing. Nada. In some cases the driver wouldn't recognize the card, and in some cases I would get errors similar to the ones I got before.

I was truly dumbfounded. By all accounts, the card would work. I had found many references to people who had gotten it to work. I had tried the latest drivers, and followed every instruction I ever found in a HOWTO, article, or discussion board to the letter. Twice. But nothing worked. My pride had been smashed. I was nothing. Just some hacker wannabe who couldn't get a stupid PCI wireless network card to work. Weak sauce.

I had one last hope. It was a cheap trick. One that any Microsoft Windows user probably wouldn't think twice about - oh sure, they would hate to do it, but every Windows user has had someone tell them at least once that the way you fix your problem is to simply... "reinstall the operating system".

Now, to be truthful, I had been planning on upgrading my RedHat 9 installation with something ever since support for RH9 was discontinued and its RPMs became harder and harder to come by. I like RedHat, it has always done pretty well by me, so I decided on Fedora Core 2. I downloaded and burned the ISOs (a word to the wise, burn the rescue CD too), and upgraded my OS.

It worked. Just like that, it finally worked.

Fuck. The MA311 works in Linux and I couldn't get it to work without reinstalling the OS! How humiliating.

Oh well, life moves on. But what did I learn from this experience?
  • First, if you use Linux, never buy a new card for your computer unless you are sure it is supported. No one wants to buy a card only to find out it simply can't work.
  • Second, just because a vendor calls their product "X," doesn't mean it is exactly product "X." It could be the same as product "X," but different.
  • Third... actually, I can't think of a third. The pain is still too recent.
But back to my initial point... my wife, and her not being a tinkerer and so forth. The hell I went through to get my wireless card to work, is exactly why I won't recommend Linux to Arin. Because one day, she will want to do something new and different and she will realize that rarely do things just work in Linux, right out of the box, no hassle, no tech support calls, just pop in the CD, and go.

Of course I love [to hate] making things work in Linux. It helps me to understand how the OS works better. Its... even "fun" sometimes. But Arin hates this. She couldn't care less how a thing works. She just wants them to work. As do most sane people.

So I am sorry Arin - I will install Linux on your system soon. Not yet, but soon. We are relatively close to the seemless install experience that Windows and Mac users take for granted. We have come a long way, but we are simply not there yet.

Recommended Entries

2 Comments

this is rather funny because im in the same type of situation.

i have the exact same linksys card and i have found that it does not work with any version of knoppix from 3.3 to 3.7 kernals 2.4.* and 2.6.*

i am a new fish to linux and like to use it because its new(to me), free, and a bit more complex then most ms systems plus the amount of varients that there are of linux.

i have tryed to get my card working using ndiswrapper and the 3 drivers and it does not work at all i am unable to set the essid i get the exact same error Set ESSID" (8B1A) : SET failed on device wlan0 ; Function not implemented

im simply going to keep trying differnt of varients with my card untill i can get another card.

making wireless works under linux just plain sucks.

Leave a comment

what will you say?


Recent Comments

Close