Monday, May 22, 2006

Finally! Reliable atheros wireless in openSuSE 10.1

Earlier I had mentioned that I was a little concerned that the madwifi drivers were not being shipped with any SuSE products. I quickly found out why madwifi-ng wouldn’t be supported: it was very unreliable for me, especially when using it with NetworkManager, which enforces the use of wpa_supplicant. (This seems to be a known problem: http://live.gnome.org/NetworkManagerHardware )

I failed to get madwifi-old working, and quickly gave up on that (my wlan device could never associate with my accesspoint).

I then started scraping the web to find a chipset that had well supported drivers that were included a stock install of suse, worked with NetworkManager/wpa_supplicant, and supported wpa. That was a couple of frustrating hours :) I was seriously ready to go buy another card but it seemed the best chipset choices were in cards that were no longer in production. Plus, I had two perfectly working atheros cards… this was getting ridiculous.

Then it dawned on me: why not try using ndiswrapper with my cards? I hadn’t had much luck with ndiswrapper a couple of years ago but now I was starting to get desparate.

Turned out that my pcmcia atheros card worked pretty well with my Dell c600. Not real convenient that I had to go find the exact driver from my vendor (opposed to just using one linux driver), but hey, at least it works and I don’t have to go buy another card. I later found out that there’s an opensuse wiki page suggesting this same solution: Atheros_ndiswrapper.

Then I tried the ndiswrapper driver on my t42p ibm laptop, which has builtin atheros. This sorta worked, but I would get disconnected every couple of minutes. This wasn’t much better than my situation with madwifi-ng.

I realized I needed to find out why the madwifi-old driver wasn’t working since this driver worked flawlessly on Ubuntu for months and months and months.

Turns out the solution was this: I got the madwifi-old driver working, but this required that wpa_supplicant needed to be compiled with the headers from madwifi-old, not madwifi-ng. Now, I’ve finally been using rock solid wireless using wpa with networkmanager on suse 10.1 without any problems.

Update: Packman packages the madwifi kmp kernel package. This package (along with the stock wpa_supplicant) works wonderfully! Not sure what I did wrong in trying madwifi-ng, but I’m glad that this solution works really well.


Comments:

  1. Simon Geard Says:

    I’ve been putting in a bit of effort in this area myself lately, and you might be glad to know that the madwifi-ng drivers have improved somewhat in the last month or so, to the extent wpa_supplicant can be used with it’s generic wireless-extensions support instead of using madwifi-specific code. As such, I find it now works pretty well with NetworkManager.

    The only remaining problem for me is that they still report signal strength differently from everyone else, so that NM reports a much weaker signal than it actually has. For that reason, I keep the Gnome netstatus applet running as well, since that appears to have workaround code to display a correct signal.

  2. Wade Berrier Says:

    Simon, thanks for the info. Unfortunately, I’m kind of new to this blogging stuff and didn’t find your gem of a comment in the midst of the hundred spam comments I had:) I did manage to try packman’s madwifi-ng package and that’s been working really well.

    Too bad I didn’t notice your comment or else I would have tried it much earlier…