ELECTRONS.PSYCHOGENIC.COM NEWS   RAVES & RANTS   GAMES   CONTACT US    
HOME ACCOUNT PRIVATE MESSAGE  
Main Menu

Login

Electrons :: Articles :: Linux iPAQ :: SanDisk ConnectPlus WiFi for Linux iPAQs
SanDisk ConnectPlus WiFi for Linux iPAQs
Description: Describes setting up a familiar iPAQ to use this inexpensive wifi adapter

  • 1. Getting your ConnectPlus to Work
Getting your ConnectPlus to Work

The Sandisk Connect Plus Wifi + 128 MB is an inexpensive 802.11b wi-fi card in a compact flash form factor. It can also be used as a regular CF card with 128 MB of flash memory. I only use it with my Linux iPAQ but it also includes a nifty pcmcia adapter, in order to use it with a laptop. This is a quick guide to getting the card working with a recent "familiar Linux" distribution (0.8.x).

Here you will find the longish explanation of the rather tortuous route I followed to get the wifi card up and running on my iPAQ. I've recently be informed of a much simpler way of accomplishing this goal (which I've yet to try):

     ipkg install prism3-support
When that's done, reboot your system and it's supposed to work. If it doesn't work or you want to do things manually to learn more about Familiar Linux and your iPAQ, then please read on.

Activating this prism2 based card is a three step process:

  1. configure the network
  2. upload the firmware
  3. bring the interface up

Network Config

The first step done in the usual manner (setting dhcp/static I.P. etc.), which is through the "Settings -> Network Setup" interface in GPE (GTK-based Palmtop Environment similar to GNOME). This may be done only once or you may play with it often if you are switching networks a lot.

Firmware Upload

These cards need to be programmed every time they are activated. This makes the card more flexible and easier to upgrade but can be a real pain.

In order to be able to upload the firmware to the card, you need:

  • A program to perform the upload
  • The actual firmware

The program I use is prism2_srec, which is part of the hostap-utils package (user mode helpers for the hostap driver). Install it on your iPAQ with an ipkg install hostap-utils. When done, you'll find /usr/sbin/prism2_srec is available on your system.

The firmware can be harder to find but thankfully Pavel Roskin is distributing it on his Intersil Firmware page. Go there now, get the Latest-prism.tar.bz2 file containing everything and/or read the ReadMe.

The firmware file naming convention leads to a bunch of files with cryptic names. We don't want to modify the card's flash, only download the soft into the its RAM, so get


	Latest-prism/primary-RAM/pm010102.hex
	Latest-prism/secondary-RAM/rf010804.hex

From the tar ball and save them somewhere you like on your iPAQ, e.g. /etc/pcmcia/firmware. If you don't see these exact file names you should still find some with very similar name, say pm010104.hex, so you should try those instead. Now that we have the firmware, it's time to perform the upload.

Turn on your iPAQ and insert your CF jacket. I like to watch at this point so, under GPE, I start the "Settings -> PC/CF Cards" interface. Do so and you will see a little alien head telling you that socket 0 is empty. Slot in the Connect-Plus card. You should immediately see activity at the bottom of the screen, as the card is detected.

The card should be recognized as a "SanDisk ConnectPlus w/ Memory". If it isn't:

  1. Do a `ps waux | grep cardmgr` to ensure cardmgr is running. If not try `/etc/init.d/pcmcia restart` as root.
  2. Check that the /etc/pcmcia/hostap_cs.conf file contains this section:
    card "SanDisk ConnectPlus w/ Memory"
       version "SanDisk", "ConnectPlus"
       manfid 0xd601, 0x0101
       bind "hostap_cs" to 0
       #  bind "ide-cs" to 1
    
  3. Try again. Sometimes, it just doesn't happen right for me and trying to "remove, wait, insert the card" a few times fixes it.

When the WiFi card has been detected, its still not ready to be used. Create a script to perform the correct actions, and save it somewhere (e.g. /sbin/sandiskfwup.sh):

    #!/bin/sh
    
    FIRMLOC=/etc/pcmcia/firmware
    IFNAME=wlan0
    
    echo "Uploading firmware to Wifi card."
    
    prism2_srec -gs $IFNAME $FIRMLOC/pm010102.hex
    prism2_srec -gp $IFNAME $FIRMLOC/pm010102.hex
    iwpriv $IFNAME reset 1
    prism2_srec -rp $IFNAME $FIRMLOC/rf010804.hex
    iwconfig $IFNAME mode 2
     

Become root, using "su -" to ensure you have the correct $PATH set, and run the program in a terminal. You should see an avalanche of output, ending with something like:

    ...
    ioctl[PRISM2_IOCTL_HOSTAPD]: No data available
    
    Verifyin update compatibiility and combining data:
    OK.
    
    Downoading to volatile memory (RAM).
    OK.
    Components after download:
      NICID: 0x801d v1.0.0
      PRIID: 0x0015 v1.1.2
      STAID: 0x001f v1.8.4
    

Bringing The Interface Up

To put it all together, I create a small "wifiup.sh" script, which only does:

    #!/bin/sh
    
    /sbin/sandiskfwup.sh
    
    ifup wlan0
    
and that I can call once after inserting the card.

It may be possible to simplify things further, by adding a pre-up line to the /etc/network/interfaces config. Something like:

iface wlan0 inet dhcp
	pre-up  /sbin/sandiskfwup.sh
        wireless_mode managed
        wireless_essid psychogenic
        wireless_key restricted key ABCD-ABCD-ABCD-ABCD-ABCD-ABCD-EF [1] key [1]
        wireless_channel 9
        hostname myipaqsname
might do the trick. On the other hand, the upload would happen every time you bring the network up and I've noticed some stability issues when trying this.

More tips

I've been able to use the card both for wifi and as a memory card, though not at the same time. To date, I've had to edit the /etc/pcmcia/hostap_cs.conf card and change the bind lines to:


   #  bind "hostap_cs" to 0
   bind "ide-cs" to 1
(invert the comment line) before inserting the card. When cardmgr is configured this way, the card may be used as flash memory.

This card is absolutely great with the kismet wireless network detector/sniffer (which I had a hard time setting up as described in an upcomming article).

Happy surfing and warwalking

 

Copyright © 2005 Pat Deegan. All Rights Reserved

Level: Article
Additional Article Data
Level: Article

Comments
The comments are owned by the poster. We aren't responsible for their content.

Jump to section
News

All contents are Copyright (C) 2004-2005 Psychogenic Inc -- All rights reserved