Chasing the Heron – Part 1
My Ubuntu box has actually been up and running since late last year, but I haven't starting using it as my primary desktop until recently. In its previous life it was a file server, subversion repository and web server. It started off as a 7.10 Gutsy Gibbon install, but I recently upgraded to 8.04 Hardy Heron just in time for my big migration.
I had never had much luck with networking on the machine. The wireless network dropped out when I put any decent sort of traffic through it. I would still have a signal, but would be unable to send or receive any packets. This wasn't a major issue when the box was sitting under a desk only being used to serve up files via ethernet, but as soon as I started taxing the wireless card, which I use for all internet traffic, it would start to flake out. I would only get around 45 minutes of usable internet access and then I'd either have to reboot or start playing with ifup/ifdown for 30 minutes, hoping that something would breathe life back into the connection.
Unhappy with the situation, I decided to do some digging and came up with a list of problems people were having with dodgy wireless cards. Some of the symptoms were remarkably similar to those I was experiencing, which at the very least told me that I wasn't alone.
Some posts suggested that there was a problem with the networking components of the OS itself, and made suggestions such as running DHCP manually. I tried every potential solution I could get my hands on, including replacing the default wireless network management software with the same handy KDE utility that my EEE PC uses, but to no avail.
Having had no luck with the OS side of things, I started to look for issues specific to my wireless chipset. Using lspci, a utility that lists information about PCI devices, I was able to find the chipset used by the onboard wireless card on my ASUS P5K-E motherboard. After adding this number to my google query I quickly discovered that there was a flaw with the wireless driver needed by my wireless card. This meant that I was not going to get it working properly, short of rewriting the driver.
Figuring that I wasn't going to get anywhere, I thought that I could just cannibalise the wireless card from my Vista box and pop that in. It turns out that there are no native drivers for the card I was trying to use, but NDISwrapper came to the rescue. NDISWrapper lets you use any Windows driver written to take advantage of the Network Device Interface Specification. NDISWrapper was amazingly easy to install and configure with the Windows driver for the wireless card I was trying to use. Then I simply reset my machine, disabled the onboard wireless in the BIOS and let the machine boot normally. My wireless network was picked up straight away by the new card and everything worked like a dream.
One lesson I did learn after all this was to never assume that a piece of hardware will work on Linux. Thankfully, the Ubuntu Community's excellent documentation surrounding wireless networking contains a list of supported wireless cards that should be helpful should I ever choose to put together another box.

May 27th, 2008 - 06:44
I think the first mistake you made was assuming that a wireless device that came with your mainboard was actually any good. I’ve tried ASUS bundled wireless cards (proprietary slot and all) and had similar issues. Conversely, my cheap-ass $25 Dlink airplus G card detected immediately and worked perfectly with ubuntu. Just throwin’ it out there
May 27th, 2008 - 09:09
Didn’t I give you that DLink card?
The onboard card itself worked fine with Windows 2003 installed on the box. It’s just a problem with the Linux driver. Also, I had no aversions to purchasing a new Wireless NIC for it (and probably still will), but it would have been nice if the built in stuff worked.
I just tried to get it working with what I had, seeing as there are no all-night PC stores here yet
Hence cannibalising the Vista machine for it’s card.
As an aside, the high end ASUS boards are actually pretty good. I’ve got a P5K-E for my *nix box, and a P5N32-E SLI Plus for my Vista machine. Once you get over the AUD250 mark for a board the components are fairly decent.