Tips on configuring WEP with Linux

Configuring WEP on the Cisco Aironet PCMCIA adapters in Linux isn't as straighforward as it should be. Here are some things to try if you can't get your wireless card to associate to an access point that requires WEP.

  1. Enter the WEP key in the following format: xxxx-xxxx-xx For example:
      $iwconfig eth1 key xxxx-xxxx-xx
    
    This format should also be used if you're using RedHat's /etc/sysconfig/network-scripts/ifcfg-eth1.

  2. Make sure that you're using the Cisco airo driver. The recent RedHat 2.4.18 kernels don't make WEP work. Functionality in other distributions depends on the airo driver version included with the kernel.

  3. Manually set the WEP key:
      $echo "0 x:x:x:x:x:x:x:x:x:x" > /proc/driver/aironet/eth1/WepKey
    
      $echo 0 > /proc/driver/aironet/eth1/WepKey
    

    Of course, you should use the right interface name. I saw one laptop that wouldn't let me set the wep key via iwconfig. After I set it manually the first time, it worked fine with iwconfig afterward. Go figure.

Here's another tip for RedHat users. I've found that some systems don't like the standard ifup script for wireless and need the Cisco acu program running before WEP will work. The following addition to /etc/sysconfig/network-scripts/ifup-wireless should fix that:

 if [ -n "$KEY" ] ; then
     iwconfig $DEVICE key $KEY
+    iwconfig $DEVICE key on
 else
     iwconfig $DEVICE key off
 fi