Wireless on Linux, Part 1
For the harassed, overworked network admin, connecting new clients without having to run additional cabling is so much fun it feels wrong. Miles of pretty color-coded cables and tags are aesthetically pleasing and useful, of course, and who hasn't experienced the satisfaction of crimping connectors? There's nothing like the authoritative SNICK of a perfect crimp. (For some of us deskbound-geeks, grip strength is all we have.)
But rasslin' bales of CAT5 cables is like, so last millennium. Hopelessly old-fashioned. Square, even. And wireless Ethernet is no longer new-fangled: it's affordable and works just fine. Today let's take a look at which brands and devices work on Linux; next week we'll dig into the deep, mysterious world of chipsets, configurations, and troubleshooting.
Security and Drivers, or the Lack Thereof
Wireless does have one glaring pitfall, though – security. And then there's the usual Linux pitfall – finding supported hardware. Let's take a moment to wag disapproving fingers of shame at hardware vendors who do not supply Linux drivers for their products. Don't give me any jive about there not being enough interest; there most certainly is a substantial Linux – and Unix/BSD/Mac OS X – market. How do vendors think all those millions of Linux machines are networked? Magic? And Unix was the big networking OS decades before Windows was even born.
And get this — there is a huge pool of talented volunteer programmers who labor tirelessly to write Linux device drivers, often without the cooperation of hardware manufacturers, which apparently do not even want to take advantage of this incredible free labor pool by releasing specs. Shame, shame, shame on these manufacturers.
Neither pitfall is insurmountable, just annoying, and in the case of drivers, inexcusable. Let's start by looking at hardware selection.
But first, a tip: do not be shy about returning products that do not work well. The world of wireless chipsets is a chaotic hodgepodge — a single model line may have any number of differing chipsets. Firmware revisions are assigned in a seemingly random fashion to chipsets, which causes variations in features and performance. As most vendors put the burden on the customer to determine Linux compatibility, and offer feeble or no assistance, tough beans on them; keep returning products until they work right.
The first choice is which wireless protocol? Currently, there are three options: 802.11b, 802.11a, and 802.11g. Some devices come with multimode support, but only one of these protocols is compatible with any of the others — 802.11g is backwards-compatible with 802.11b.
My current recommendation is 802.11b, as these products are the best-supported in Linux. However, 802.11b is rated the slowest at a theoretical 11 megabits per second. Here's a quick comparison of the three protocols:
- b and g have the longest range, at up to 150 feet indoors
- a is rated at 75 feet indoors. Outdoor ranges for all three are considerably longer, depending on the terrain. A good signal with a clear line-of-sight can travel a couple of miles
- b and g use the 2.4GHz band, which is crowded (cordless phones and microwaves also use this spectrum)
- a is on the 5GHz band, where there is less interference.
- b is rated at 11 megabits per second, while a and g deliver a theoretical 54 Mbps.
- a devices are the most expensive; b the least.
In other words, don't bust a gusset when your shiny new wireless connection delivers only 5-7 Mbps (802.11b) or 20-30 Mbps (802.11g/a) — that's just the way it is. Another factor is the number of users per access point, as in the case of wireless, it's shared bandwidth, so more users equals slower performance.
Adding Wireless to Wired the Cheap and Easy Way
Adding a wireless node to a wired Ethernet is simple, at least in theory: install and configure an access point somewhere on the LAN, next install and configure a wireless NIC on the client machine, and then voilá, you're connected! And sometimes it even works that way.
Newer Linux distributions, such as Red Hat 9, Mandrake 9, Lindows 4, and SuSE 8.1 automatically recognize and install the drivers for wireless NICs. All you have to do is configure the network settings. Lindows has a useful page listing all the wireless NICs that work with it, as well as some that don't; this list should apply to any Linux.
You don't need a lot of fancy folderol; simply buy a Linksys WAP11 for around $90 and a Linksys WMP11 (for desktop PCs) or a WPC11 (for notebooks) for about $60. Plug 'em in, configure them, and away you go.
Of course, there are other brands that work just fine and that are priced right as well. I mention Linksys simply because that is what I'm the most familiar with. All the usual suspects – D-Link, NetGear, SMC – have Linux-compatible 802.11b devices, and any 802.11b WAP that uses browser-based configuration should work with Linux.
In your shopping travels for a wireless base station, you'll see all manner of sleek and kewl devices like the Apple AirPort or the Linksys WAP54G. These are 802.11g wireless access points, which means they work with both 802.11g and 802.11b NICs. Tri-mode wireless access points that support 802.11b, 802.11g, and 802.11a are becoming available as well, as are tri-mode NICs.
These types of WAPs come in a variety of configurations. Some are Ethernet bridges, with user management and security options. Some are routers for sharing broadband connections, and come with firewall capabilities, NAT, and DHCP. Prices for these lower-end WAPs run from $90-$300. The high-end WAPs (the Cisco Aironet 1200, for example) come with more functionality and much better management software, but cost around $600 and up.
A multi-mode access point should make planning for the future a reasonable proposition, but the lack of Linux support makes it a crapshoot. The safest route for the present is to stick with plain ole 802.11b.
Roll Your Own
Because most NICs can be put into "Host AP" (or Host Access Point) mode, you can turn a PC into a sophisticated wireless access point, with all the security, monitoring, and user management you desire. WAPs and NICs contain the exact same chipsets; the only real difference is in the packaging and software.
Most wireless NICs are PCMCIA cards. The ones for desktop machines are stuck onto adapter cards so they fit in PCI slots. And they do look funky. But they work fine.
It's standard now for even the lowest-end devices to come with built-in antennas. It makes a big difference in terms of performance, so don't bother with older devices that do not have one.
WEP: Why Bother?
In terms of built-in security, wireless currently offers WEP (wireless encryption protocol), which comes in various strengths, typically 40-bit and 128-bit. (64-bit is actually 40-bit, and 152-bit is really 128-bit.) The different encryption strengths are not compatible with each other. Given its increasing reputation for being weak, and the silly numbers games vendors play, WEP may not be worth bothering with.
But do not plan to go without some kind of security — your wireless signal is a direct pipeline into your network, an important issue we'll cover in greater detail next week.