Getting your Socket Low-Power CF WLAN card to work with your Sharp Zaurus

This document describes the steps needed to get full use of a Socket Low-Power CF WLAN card with a Sharp Zaurus SL-5500.

Note: Almost everything here should also work with the SL-5000D, except for the pre-compiled kernel image. Pay close attention to that step, below.

These instructions work for me, but your milelage may, of course, vary. Feel free to send bug reports.

The things you might want to get working are:

  1. Managed mode
  2. Ad-hoc mode and/or WEP
  3. RF Monitor mode (kismet)

Managed mode

To get managed mode (connecting to an Access Point) working, you'll just need to install the drivers for the Symbol card.

From this page, you can find socketspecdriver_0.3.4-2_arm.ipk, which is version 0.3.4 of the Spectrum/Socket CF driver by Pavel Roskin. It also has a modified version of Snax's monitor mode patch applied, which will be useful later.

Once you install the drivers, monitor mode should work right out of the box, but you won't be able to use the built-in Wireless LAN Setting application. If you need to explicitly set the ESSID or the channel (if there are multiple APs within radio range), you'll need to follow the steps in the next section. Otherwise, everything should work out fine.

Ad-hoc mode and/or WEP

In order to change any of the settings of the card, you will need three things:

  1. The drivers listed above
  2. The iwconfig program
  3. A kernel that supports Wireless Extensions

The iwconfig program

This is the easy part; the iwconfig program is part of the wireless-tools_24_arm.ipk package, which you should install.

You can find a lot of documentation on the wireless tools on Jean Tourrilhes' page. In particular, you should probably edit the files /etc/pcmcia/network.opts and /etc/pcmcia/wireless.opts to fill in your network parameters.

A kernel that supports Wireless Extensions

Unfortunately, in order for the iwconfig program to work, you will need Wireless Extensions enabled in your kernel.

If you like, you can compile your own kernel. Instructions on how to do so are available at The ZaurusZone Wiki.

If you've got an SL-5500 (and not an SL-5000D), with a stock ROM from Sharp (and not OpenZaurus or anything like that), you can use this zImage file as your kernel. It's the standard SL-5500 kernel, with the addition of Wireless Extensions. If you want to use this pre-compiled image, just follow the instructions in the "Installing the new ROM on the Zaurus" section on the ZaurusZone Wiki page.

Note that you'll need to do a complete backup of your Zaurus before you install a new kernel!

RF Monitor mode (kismet)

In addition to all of the above, if you'd like to passively scan for 802.11 networks, you should use Kismet. You'll need a version for the ARM that has pcap support. (Most WLAN cards on the Zaurus use the prism2 capture method, but the Socket card uses pcap.) I've packaged one up, based on the kismet Zaurus package; you'll want to install kismet-socket_2.2.2-1_arm.ipk instead of the usual kismet package to have it work with the Socket card.

This package also includes orinoco_hopper; that program is used to put the card into RF Monitor mode, and then repeatedly cycle through all available channels. The kismet script has been modified to start orinoco_hopper for you, so all you need to do is run that script.


Ian Goldberg <>