Installing the drivers
Warning: This process was obviously designed by engineers.
The driver for these cards is in two parts:
- the actual client software that you install on your PC, and
- the firmware that resides on the card itself.
Every card I have encountered is out of date, as shipped from the factory. As of early April 2001, the current firmware revision is 7.28, and you'll need that to get it working with the current drivers (and to support encryption). You'll also need to flash the cards before installing them in an access point.
Fortunately, you can re-flash the card with new firmware as many times as you like. Unfortunately, you'll need a Windows machine to do it (no, VMWare doesn't cut it, and you should preferably be running Win9x.) They don't support flashing the firmware from Linux, and trying it in Win2k is a nightmare. Trust me.
Here's one way to update the firmware:
First, install the software driver on your client machine, before you insert the wireless LAN card. What if you already inserted the card before reading this? Don't panic: it just installed the wrong driver. Leave the card in, and follow the directions below, with one change: when I tell you to insert the card, instead
- go to Start -> Settings -> Control Panel -> System -> Device Manager,
- find the WaveLan card (it's probably a yellow question mark device),
- click Properties,
- select the Driver tab, and
- click "Update Driver." Now, you'll follow directions next time,
With that behind us, here's the recipe for installing the software:
- Download the current drivers for Win9x from Lucent (see references below).
- Run the installer, and it will unpack a bunch of stuff into the
directory of your choice. (Get rid of that ridiculous
c:\windows\tempentry and type in
- Click Unzip.
- Once that's finished, open up the
c:\wavelandirectory and you should see a couple of folders under it:
- Go into
Cl_Mgrand run Setup. It will complain that a driver isn't installed; just ignore it.
- Now, insert the card. When it asks for an updated driver, point it at
c:\wavelan. It should install just fine, and then bring up the Wireless Profile screen. Just click close. It usually then asks you to reboot. Do so, leaving the card inserted.
Now, when the system comes up, you should have a little signal strength indicator in the lower right. It will look broken (as we haven't flashed the card yet).
Flashing the card
c:\wavelan\firmware and run wsu10606.exe. It will display a nice little window, with the current firmware revision that it detects on your card. Click Update to flash it to the current rev. Be warned that, should you lose power in the next five seconds, you've probably just turned your nifty little radio card into a coaster. Just make sure you're on AC power (or have a decent charge left on your laptop) before you attempt this.
That's it! You should probably reboot for good measure, and then your card is ready to use. And the added bonus is that now your PC can flash as many cards as you like, without going through all of the above again!
Using the flashed card
Once you've flashed the card to the current firmware, you can use it in any machine with current Wavelan drivers. If your primary box is Win9x, you're ready! Feel free to skip ahead to the Security section. If you're on another platform, read on for details on installing in Windows 2000, Macintosh or Linux operating systems.
Download and unpack the current drivers from Lucent as above. Go into
c:\wavelan\cl_mgr and run the setup. Insert the properly re-flashed card. What's this? Windows automatically finds a driver and installs it for you without asking (or, indeed, allowing any user intervention)? Absolutely astounding.
Unfortunately, as with most magic, what goes on behind the scenes is tremendously complex. The fact that it's hidden from you makes it magic. And, as with any complex system, things can go spectacularly wrong if you're not careful.
It just so happens that the drivers it installed are the Microsoft WaveLan drivers, which do not support encryption. Sigh.
Go to Start -> Settings -> Control Panel -> System. Click the Device Manager tab, and find the WaveLan card (it will look like an Ethernet adapter.) Click Properties, then the Driver tab. Click Update Driver. Point it at
c:\wavelan. It will probably make you reboot (I thought this was plug-and-play?). Do it. You should then have a happy signal strength meter on your taskbar when the system comes back.
See Lucent's .pdf documentation for the Windows NT installation; it actually works as advertised. And don't forget to flash that card!
Get an AirPort card from Apple and insert it. Make sure you plug the antenna wire into the card. (Macs have the antenna embedded in the computer's casing so that it's hidden from view.) Now all you have to do is run the AirPort Setup Assistant and launch the software. There, that wasn't so bad, now was
The driver you'll want to use depends on the kernel you're running. For kernels up to and including 2.4.2, use the wvlan_cs driver that is bundled with pcmcia-cs. For 2.4.3, you can (and should) use the new orinoco_cs driver. A backport to pcmcia-cs is in the works for orinico_cs, but isn't out at the time that I'm writing this.
Note that Lucent (er, Agere) also puts out its own driver, called
wavelan2_cs. This driver is freely available from the ORiNOCO website, but doesn't come with the full source code. Use this driver at your own risk. I've been using the above Open Source drivers for quite a while now with no trouble whatsoever.
Here's how to install the wvlan_cs driver, with works with the Linux kernel up to and including 2.4.2.
- If you're running a 2.4 kernel, disable pcmcia drivers in it and install the new kernel. We'll be using the external pcmcia-cs package instead.
- While we're on the topic of kernels, make sure 'Wireless LAN (non-hamradio)' is enabled in your kernel, or you won't get statistics from /proc/net/wireless.
- Download pcmcia-cs 3.1.25.
- Unpack it.
make config, and answer the questions (I usually build it with trusting drivers off, CardBus enabled, and PnP off.
/etc/rc.d/init.d/pcmcia restart, or simply reboot.
If you want to use Lucent's
orinico_cs driver (for Linux 2.4.3 or better), here's how you do it:
- Download the 2.4.3 kernel.
- Download the Wirelesss v11 patch and hermes.conf
- Copy 'hermes.conf' into /etc/pcmcia
- Unpack the kernel source, and
- Copy the wireless patch into the unpacked kernel tree
- Apply the patch:
# patch -p1 < wireless.v11.diff
You should see something like the following:
patching file include/linux/wireless.h patching file drivers/net/wavelan.c patching file drivers/net/pcmcia/wavelan_cs.c patching file drivers/net/pcmcia/netwave_cs.c patching file drivers/net/pcmcia/ray_cs.c patching file drivers/net/pcmcia/hermes.h patching file drivers/net/pcmcia/orinoco_cs.c
You might also see a couple of lines like:
Hunk #1 succeeded at 2239 (offset 6 lines).
This is normal, especially if you're not patching against a clean 2.4.3 source tree. It means that patch noticed some minor differences but was able to continue without any serious trouble.
If you see anything like this,
Hunk #1 FAILED at 2028
stop and check your work. You are probably in the wrong directory (usually
/usr/src/linux), or maybe you forgot the
-p1switch above. Or you might be using the wrong kernel rev (you are in the 2.4.3 source tree, right?), or else you've got a heavily patched kernel (and probably don't need to be reading this!)
- If you've built your existing kernel from sources, copy its
.configfile into the 2.4.3 source tree, and run
make oldconfig. Answer the outstanding configuration questions.
- Now run
make xconfig, if you prefer, and have tcl/tk installed) and make sure the following are checked:
- Under "General setup", make sure "PCMCIA/CardBus support" (and your bridge chipset, probably i82365) are enabled.
- Under "Network device support", enable "Wireless LAN (non-hamradio)", PCMCIA Network device support -> Pcmcia Wireless LAN -> "Hermes support (Orinoco/WavelanIEEE/PrismII/Symbol 802.11b cards)", and any other network devices you'd like support for.
- Build your kernel and modules:
# make dep; make clean; make bzImage; make modules; make modules_install
...and install the new kernel (usually, editing
lilois in order here.) Reboot and try out your new kernel.
Finally, install the new wireless tools v21. A simple
make install should suffice. You should also install the man pages (a
cp *.8 /usr/local/man/man8 is quick and usually effective.)
Now that your driver and tools are installed, it's on to configuration.
All configuration of the driver is done in
Be sure to comment out any default
*,*,*,*) entry, and add one like this:
home,*,*,00:60:1D:*|home,*,*,00:02:2D:*) INFO="Wavelan at home" ESSID="MyHomeNet" MODE="Ad-hoc" KEY="s:QuIeT" ;;
This tells the driver to call your network MyHomeNet, and put it
into Ad-hoc (a/k/a IBSS, or peer-to-peer) mode, with a secret key of
QuIeT. It also gives it a scheme name of
home, so you could
presumably setup another one for
work with completely different settings, and switch between them by issuing the
cardctl scheme work or
cardctl scheme home command as root.
What is all this about secret keys? Read on.