Sunday, 9 March 2008

Setting up wireless networking (even when it doesn't work first time)

The network cards arrived, but I'd stupidly ordered PCMCIA cards rather than PCI cards. Thats what happens when you order things on-line late at night when you really ought to be going to bed.

So do avoid further disappointment, I took a trip to the local computer store only to find that they only card they had was another Belkin card. So I left it and went to the local electrical goods emporium who "do sell wireless cards, but they're out of stock". Uh, what's happening has there been a run on Wireless in our town?

After an hour or so I calmed down and applied logic to the problem. There must be hundreds of thousands of these cards out there, and there's definitely a big community of Linux hackers out there, someone must have a driver that'll work.

This is what my research turned up: The built in wireless network device programs (drivers) in Ubuntu support a wide range of cards, so that cards based on many of the currently common chip sets will work straight off. If your card is not recognised by default its likely that you will need to get an alternate driver. The first thing I had to do was to determine the chip-set on the card.

To find the chipset I pulled the card from the machine and noted the model number on the board so as to look it up on the Internet. Don't do this, as I found out later,you don't need to. Linux has a handy little tool that will tell you which card you have. Opening a console (terminal) window and typing the lspci command (list pci) will show a list of all the hardware connected to the PCI bus, which will include both motherboard devices and any cards installed. From this line in the list, I could confirm the card's chipset:

03:06.0 Ethernet controller
: Marvell Technology Group Ltd. 88w8335 [Libertas] 802.11b/g Wireless (rev 03)

Having found the card I was able to check it against the WirelessCardsSupported list here. I was right, it's not supported by the default install. So the hunt was on for a driver. There are no Linux drivers for that chip set, that I can find. But as it turns out that's still not the end of the line. The guys who write software for Linux are clever, they've written a piece of software that wraps around a windows wireless driver that makes it work with the Linux Kernel. Its called Ndiswrapper, it can be used if the Linux Kernel has been compiled with the correct support; which in the case of Ubuntu, it has. Following the Community Ubuntu Documentation Ndiswrapper instructions had the card working within 10 minutes. This page refers to a list of tested windows drivers for the various chip sets, which you can download. You then follow instructions for disabling the current wireless driver, and installing Ndiswrapper with your Windows driver.

Its this kind of detailed support that's making Ubuntu a workable alternative to Windows.

No comments: