Linux and Wi-Fi... Weird hardware behavior

Howdy, I just recently rebuilt my old laptop. It is a Dell Inspiron 8100, and now can dual boot (Linux – Debian Etch/ Windows XP). The goal was the make a machine that can help me with my PIC programming. Anyway… one of the problems with such an old laptop is no integrated Wi-Fi. Lugging around an ethernet cable and finding a jack is a bit annoying (and my campus has great Wi-Fi coverage) so I found an old Netgear MA101 USB and plugged it in. Under Windows I installed the driver and it worked no problems. Under Linux this was another story. The biggest issue was lack of any documentation. Through searching I was able to find the three ways of getting it to work:

  1. The Atmel (not Amtel) drivers - binary and GPLed, but too old for any recent kernel.
  2. The GPL BerliOS driver - what I eventually ended up using.
  3. The ndiswrapper option - haven’t tried yet and don’t really want to since they’re binary blobs.

So after compiling the latest driver, and downloading the firmware I was able to plug and play with the card. The downside was that I couldn’t get it to find any wireless networks. I intially thought it might be my access point (we have one of the school placed the lab, but rarely use it ourselves so it may have died or something), so I rebooted into Windows and it found and connected just fine. So I rebooted into Linux and tried again. The only two programs I had to find wireless networks were KWiFiManager and Kismet. If someone has another option please let me know, this is my first attempt at Linux Wi-Fi. I started up kismet and it found nothing. Same thing with KWiFi. I was all about to complain when it found the wireless. I happily added the /etc/network/interfaces entry, got a dhcp address and tested it with a browser. It seemed to think the single was oscillating between strong and weak, but I could live with that (Windows does it too sometimes). So I thought all was well.

However… Upon exiting (closing all network programs, exiting the KWiFi, dhcp releasing, etc.) and pulling the card, the machine crashed. Before this, I’ve never seen Linux crash unless someone purposely wrote some very bad code or there was a hardware failure. So I rebooted and it couldn’t find the network. I waited a little bit, and nothing. I started trying iwconf options and kismet and managed to crash the machine yet again. I rebooted yet again, and this time it could see the wireless rather quickly.

So anyway… I double checked the driver site to see if anything like this was a known issue. Nope. Though I might see if any of the Linux people here might know anything that could help.

It’s not that it doesn’t work, its just that it is extremely flaky. I’m typing this now on my laptop (under Linux) and using the Wi-Fi, but I’m fairly sure once I post and try to disconnect and reconnect, I’ll have issues.

I’ve had various flavors of Linux setup for WiFi, but I always used the linux-wlan drivers.

Check out the Linux Wlan Project and you should have much better luck with your WiFi. :slight_smile:

8-Dale

Yea, I have the MA101 (Rev. B) which is an atmel. The same card sold an earlier version (Rev. A) with a Prism chip that wlan can work with, my version can not. In fact, the same prism driver was continued as the prism54 project (to support newer g cards) and I had linked previously to their attempts to use custom firmwares to make essentially programmable wireless enabled development platforms (like a wiport + arm9 micro) out of cheap ($30) wifi cards. prism54.org/mustumbler.html Unfortunately, they haven’t made any progress recently on this front. They also want to make a fully open source firmware too. However, I think I’m going to try a few other things before giving up on the MA101 and getting a prism card.

Well I made some progress… Considering Kismet and KWiFiManager can’t find any networks (I even brought in my WRT54GS – a Linux access point – and put it an inch away from the card) I’m guessing the driver doesn’t have a monitor mode or something.

However, changing the configuration file (turning off power management stopped the weak-ultimate connection bouncing) and adding a script to automate getting a new ip address from wireless now lets me connect with one click to a known SSID.

I submitted a bug report so we’ll see what happens. I’m fairly sure the crash was from kismet forcing the driver to do something it did not want to do.