Wireless on Linux, Part 2
September 23, 2003
For the harassed, overworked network admin, connecting clients without having to run new cabling is so much fun it feels wrong. Carla Schroder shows Linux admins how they can overcome a few obstacles so that they too can join in on the festivities.
For us valiant Linux sysadmins, wireless networking is complicated by the difficulty of finding supported hardware. (Insert ritual rant about <cussing deleted> hardware vendors that are delighted to glom our money, but scorn to offer support.) Wireless Ethernet may no longer be new-fangled, but that doesn't mean it's all smooth sailing for Linux admins.
In part 1 of this two-article series, we discussed the relatively straightforward stuff — wireless products that work on Linux, wireless speeds, and definitions of the different protocols. Today we'll dive into the slightly more complex issues of chipsets, utilities, wireless access points, and security.
The most certain method of determining if a particular NIC will work on Linux is to check which chipset the NIC uses. A word of caution here — chipsets can change even though the model numbers stay the same. For example, several readers kindly pointed out that the Linksys WPC11/WMP11, which used to be a reference wireless NIC for Linux, now uses a Broadcom chipset, which is completely unsupported in Linux. The moral: take nothing for granted.
When shopping for a NIC, first ask the vendor which chipset the NIC uses. The Lucent/Agere Orinoco and Harris/Intersil Prism chips work great and are well-supported. (Yes, the company names keep changing — like we have nothing better to do than try to keep track.)
Linux has a wonderful set of built-in utilities to dig out the chipset information. These tools are particularly useful for confirming if you were told the truth before purchasing the NIC. With the NIC installed, run lspci. No need to have the drivers installed or to have it configured — just have the NIC plugged in.
lspci -v reports everything that is connected to the PCI bus, including mini-PCIs on notebooks. Be sure to get the newest version of lspci, v2.1.11 (use lspci --version to check which version you're using), as it is much improved. lspci is part of pciutils (see Resources for download links).
For genuine PCMCIA or Cardbus cards, use cardctl ident; for USB cards, run dmesg.
Linux Wireless Utilities
The various NICs come with the usual assortment of configuration utilities. Some of them even work on Linux. Most don't.
Thankfully, Linux has its own set of wireless utilities courtesy of Jean Tourrilhes, author of the Linux Wireless Howto. Packaged as wireless-tools, the latest edition is wireless-tools.26, which contains:
- iwconfig – for manipulating the basic wireless parameters, similar to ifconfig for wired cards
- iwlist – (formerly part of iwspy) for listing addresses, frequencies, bit-rates, etc.
- iwspy – for obtaining per node link quality
- iwpriv – for manipulating the Wireless Extensions specific to a driver