I’m writing this from GNU/Linux with no wires!! I finally got madwifi to play nicely with wpa_supplicant. Now it auto-starts beautifully when I boot up. WOOOOOHOOOOOOOOOOO!! W00t!! There’s nothing lovelier than a secure OS running on secure wifi.
This marks the end of a major roadblock I was experiencing getting everything ported over to GNU/Linux. A couple of years ago I resolved to familiarize myself enough so that I could dump Windows by the time Vista is released. It looks like I am now much closer to that goal, and I am just elated at the beautiful, powerful, malware-free operating system I’m using instead. I’m constantly amazed to learn more of the awesome things it can do.
And incidentally, speaking of Vista, did you hear? Microsoft has ALREADY released a security patch for Vista. No, I kid you not. It was posted on Slashdot under the title “Pre-release security vulnerabilities are inspiring” department. And you wonder why I will not be upgrading!
Anyway, it’s worth mentioning that due to very persistent (and intensely frustrating!) random BSOD (Blue Screen Of Death) problems caused by the Atheros drivers for Windows, I seriously considered returning these otherwise wonderful Fujitsu S7020D notebooks. If we disable the wireless, everything works fine, but as soon as we enable it we get random blue screens complaining about an ar5211.sys file followed by a sudden reboot. Sometimes they don’t happen for days, and sometimes they happen twice in 5 minutes. If you install the driver but don’t install any Windows security updates (very hazardous, as you may know), it doesn’t happen either. So apparently one of the Windows updates has broken their driver, and nobody for the life of them can figure out why. It has taken months of troubleshooting by upper levels of Fujitsu’s support team to find what they “think” will fix it. I have tried many solutions of my own and many of their suggestions now, and up until about 2 weeks ago their efforts were as futile as mine. Finally they have what so far may be a workable solution but I’m not entirely convinced… because while I didn’t actually witness another blue screen, the system did reboot while downloading overnight through the wireless (ironically, the download was a SUSE [GNU/]Linux 10 iso), and Windows displayed the usual “serious error, would you like to report this to Microsoft” message that it gets when this happens. I want very badly to keep these laptops because they’re otherwise just awesome. Exceedingly well-designed, nice and lightweight, and kickin’ hardware. How poetic that the best solution of all for this problem was to switch operating systems. But for the benefit of others who may be in the same boat, here are BOTH my GNU/Linux and Windows tips.
Before anything else I started off using YaST Software Manager to install KWifiManager (in KDE) to help me monitor my status.
The instructions for madwifi and wpa_supplicant are actually much better than they might seem at first glance. I used the Madwifi Newbie HowTo to find my dependencies. I worked on the cautious side, installing not just gcc, for example, but its associated tools. I went through the dependencies list from top to bottom this way, in my case using YaST Software Manager to add the needed packages from the SUSE [GNU/]Linux 10.0 Eval DVD.
I never did get Subversion working in any way, shape or form. As I followed the Newbie steps, it would always complain that wlanconfig was an unknown command. I finally gave in and downloaded the latest Madwifi tarball, which worked just dandy once I figured it out. I followed the instructions very carefully and was finally able to check my work by doing a successful site survey.
Getting wpa_supplicant working with Madwifi was tricky too. But it was Madwifi’s documentation, not wpa_supplicant’s, that got this off the ground. Wpa_supplicant’s docs seem to want to give you a 6-month course on theory and encryption handling rather than get to the point of what you need to do, which for me was to just get this crap done so I could use my wireless card.
Madwifi’s docs are nice and detailed, but one thing you do have to watch out for is where you put everything so you can tell madwifi and wpa_supplicant where to find it all. I installed everything logged in under my user account, not root, and downloaded the .tar.gz files to my user home directory. It worked fine to extract them the lazy way (through the gui rather than the command prompt) into folders in my home directory and then go to a command prompt, su to become root, and mv them where I wanted them. Both of these downloads are source code, so I extracted madwifi to /usr/src/madwifi-ng and wpa_supplicant to /usr/src/wpa_supplicant to make them easy to find and together with source code for other stuff. The beauty of mv is it will move a directory and rename it at the same time, so
mv /home/username/madwifi-ng-r1405-20060120 /usr/src/madwifi
means I now have an easy to remember folder name in a standard location. I did deviate from the wpa_supplicant instructions a bit. At one point it says to copy wpa_cli, wpa_passphrase and wpa_supplicant into a directory such as /usr/local/sbin , although I found that all the executables for other software appeared to be in /usr/sbin . So in the interest of keeping things organized, I put them in with the rest of the files.
For the .config and wpa_supplicant.conf files, I used kwrite (I’m using KDE not GNOME) to create them due to ease in copying from the instructions and pasting them directly into the files (with the necessary slight modifications of course).
Once both had successfully compiled, after some trial and error, I got green bars in KWifiManager but it kept connecting and then losing connection before it could hold on to an IP address. After so many installs and uninstalls I found that a reboot worked wonders. I unplugged my Ethernet cable while my system rebooted and counted memory, and a well-timed tap on the Escape key enabled me to see a quick mention of ath0 (this is the wifi card’s device name as set up by Madwifi) right before booting the GUI. I was surprised because I thought I’d have to be typing in those long command line commands every time I booted in order to get wifi activated. But apparently once the system knows it’s there, it will start both pieces of software right up with the boot sequence. Sweet!
The tech suggested wiping the drive by using the Restore CD, but said if you have data already on there you can also try skipping this step. But as always, do not skip backing up your data before you start!
He said the new Atheros driver isn’t replacing the ar5211.sys file with a newer version if it “sees” it still present. This version discrepancy is reportedly the reason for the blue screens.
After restore there is a “Click Me” on the Start menu. Go ahead and click it. This will install and finalize the old Atheros drivers. Reboot and then immediately go to Add/Remove programs and uninstall everything Atheros. Do a file search for ar5211.sys (don’t forget to tell Windows to show hidden files) and manually delete this file. Reboot.
Now connect an Ethernet cable and download the new Atheros drivers from Fujitsu’s website. Install them and reboot.
Edit 2/18/06: This did not resolve the issue. Fujitsu has since had me do a full wipe and restore while temporarily disabling Windows Updates (dangerous, I know!) to try and pinpoint the problem. Kind of makes me wonder what the real issue is, because I have since found through Google that people using D-Link PC-cards with Atheros Super-G chips are experiencing the same problem. If you find a solution to this, please let me know so we can help other people get it resolved.
Edit 12/28/06: Never mind. I have switched my system to GNU/Linux-only. More than one way to fix this problem! 🙂