Wireless Connectivity

Over the last two months, we’ve discussed using Bluetooth technology to create a quick and simple short-range wireless network between your Linux box and devices such as mobile phones and PDAs. While you can use Bluetooth to link two or more computers, a better solution is to use one of the more mainstream wireless standards. The hardware is reasonably priced, and the range and data transmission speeds are vastly superior to Bluetooth.
Setting up and using a personal area network, or PAN, between your Linux machine and other devices is swift and largely painless to perform. Linux has good support for Bluetooth devices and, as we saw last month, many distributions have taken Bluetooth support to heart and now come with some rather nifty tools. Cable-free networking with Wi-Fi wireless products isn’t as easy nor as quick to set up with many Linux distros, so why should you bother? Firstly, there’s the issue of network speed. Bluetooth was designed as a low-power solution, as the chipsets have been added to everything from mobile phones and PDAs to in-ear headsets. Portable devices like this suffer enough problems with battery life to begin with, so any wireless solution has to consume as little power as possible. An obvious side effect is that low power means low speed. While Bluetooth networks are fine for exchanging small amounts of data between machines, browsing the web or downloading large files can quickly become painful.
There’s also the question of operating range to consider. Bluetooth devices typically have a working range of around 10 metres, while some PC-based hardware, such as Bluetooth print servers, profess to work at ranges up to 100 metres. It’s rare to find a portable device that exceeds the 10 metre range.
A modern solution
Modern wireless standards that operate in the 2.4GHz frequency range bypass both of these problems, offering much higher speeds and a vastly increased range. Building a true wireless network for your Linux and Windows machines (even Apple Macs) is a much better long-term solution. As we’ve said, it’s not quite as intuitive to set up as a Bluetooth network but it’s still worth the effort, and with a little advance planning before splashing out on the required hardware, you can avoid hassle before you even start.
The biggest issue with setting up a wireless network for Linux machines is hardware support. While cabled networking has been part of Linux since the first kernel was written, wireless devices will require drivers to operate. The snag here is that, while all manufacturers provide Windows drivers, few are bothering with Linux support at this stage. Of the popular hardware manufacturers we checked, only Linksys provided any mention of Linux compatibility with its wireless hardware – and even then, the drivers weren’t provided directly with the kit.
Which chipset?
The problem with driver support quite simply boils down to which wireless chipset is used in your chosen hardware. There are many chipsets available, and some manufacturers have been known to switch between one chipset and another during production runs of the same model with no notification at all, so buying hardware can be something of a lottery. With this in mind, your first port of call before you spend any money should be the hardware compatibility list compiled and maintained by the developers of the linux-wlan project, which you’ll find in the Going Further sidebar. Again, Linksys products seem to be favoured here as the list goes as far as providing direct links to the US version of Amazon to buy the recommended equipment. When you buy, bear in mind that you get what you pay for – in Linux support terms, at least – and that many cheaper models from unknown companies could cause you more grief than the more expensive gear in terms of initial set-up. As far as which items of hardware you need to buy and whether you need a combined wireless modem/router (or simply an access point), we’ve covered wireless hardware extensively in PC Plus before. You’ll obviously need an adaptor for your Linux machine, and whether you choose an internal PCI card or external USB model is open for discussion. In Linux terms, it appears the USB models are easier to configure, and they’re also considerably easier to move between different machines at a later date.
Linux drivers
Armed with your chosen hardware, you’ll need Linux driver support. The two major chipsets used are Prism and Atmel. Much of the hardware we’ve used – such as the Linksys kit we have here – is based on the Prism chipset, so we’re concentrating on that. Drivers for Prism devices are provided as part of the linux-wlan project we mentioned earlier. Developed by AbsoluteValue Systems, this aims to provide a complete standards-based solution to using 802.11 wireless gear under Linux. This is a relatively complete package and is available in source form for a number of popular distros, but can be little short of an absolute nightmare to configure once you have it correctly installed, and often requires reinstallation if you happen to upgrade your Linux kernel (something the automated update tools, which come with many distributions, will often do without your knowledge or intervention). Nonetheless, many people swear by the linux-wlan drivers, and we’ll be looking at them in more detail next month.
Another popular solution is to opt for the Linux Wireless Extension and Wireless Tools sponsored by HP. These are slightly easier to configure but work purely as console utilities. Again, more next month. A third possibility is also an interesting one, and is something that will form the bulk of next month’s Masterclass. Since all wireless hardware comes supplied with drivers for Windows, wouldn’t it be easier to be able to simply load and use the Windows drivers under Linux? It certainly would, which is where two different solutions come into play. Both ‘Linuxant’ and ‘NdisWrapper’ offer this solution using different methods, and both appear to be well-supported and stable. While ‘NdisWrapper’ is a free open source solution, ‘Linuxant’ costs £11. ‘Linuxant’ is specific to hardware that uses chipsets made by Conexant, hence the name. Again, which one you require will very much depend on your chosen hardware. [See below for 'Getting built-in support up and running'].
Getting built-in support up and running.
If you watch primetime TV, you can’t fail to notice that Intel is heavily pushing its new chip design for laptops, known as Centrino. Thanks to those TV ads, we know that Centrino laptops come with an in-built wireless networking solution. While many laptops come with wireless hardware onboard, these are simply a reworking of the same standard chipsets you’ll find in the USB, PCI and PCMCIA devices you plug into any ordinary desktop PC. In most cases, getting these portable wireless solutions to work with Linux is no more difficult than if you were using separate hardware. Assuming you can get Linux running on your laptop, that is.
Intel’s Centrino is different, though. Centrino is an entire processor standard for producing slimmer, lighter laptops which require less power, and just happens to fully support the different Wi-Fi-certified standards, including 802.11g. If you have a Centrino-powered laptop, persuading it to work with Linux may be a problem for several different reasons, but the one we’re concerned with is the support for the wireless hardware onboard. Centrino is a completely incompatible solution as far as other wireless chipsets go. Since it’s Wi-Fi-certified, it will inter-operate with any other certified wireless hardware on the market. The issue is drivers. You have no hope at all of getting a Centrino machine to work with kernel-level wireless drivers. Intel may develop Linux drivers one day, but we won’t hold our breath.
DriverWrapper from Linuxant may seem abhorrent to much of the Linux hardcore since it isn’t free, but there’s no doubting the fact that, at the moment, it’s the only way to power up Centrino wireless hardware under Linux.


