1. What card to buy?
2. Can I connect to 802.11a or 802.11g ?
The following is from memory and may lack detail I'll add more if I get time.
you'll need to setup a build tree in order to build the simpad kernel and generate the appropriate kernel modules see http://opensimpad.org/index.php/HowTo_Make_your_own_image#Hints_.26_Tips for more details.
the 'defconfig-simpad' kernel configuration file will need to be altered to include support for the AiroNET card it should be in a location similar to the following familiar-build/org.handhelds.familiar/packages/linux/opensimpad-2.4.27-vrs1-pxa1-jpm1
The following lines need to be added, if you search through the file you will see where the entries are remarked out and can alter them instead.
CONFIG_AIRO=m CONFIG_AIRO_CS=m
once finished airo.o and airo_cs.o can be coppied to your simpad, the pcmcia configuration for the card is already available and it should load the appropriate modules on its own The build locations will be similar to the following
familiar-build/build-simpad-opie/tmp/work/simpad-linux/ opensimpad-64+0-2.4.27-vrs1-pxa1-jpm1-r5/install/ kernel-module-airo-cs/lib/modules/2.4.27-vrs1-pxa1-jpm1/ kernel/drivers/net/wireless/airo_cs.o
familiar-build/build-simpad-opie/tmp/work/simpad-linux/ opensimpad-64+0-2.4.27-vrs1-pxa1-jpm1-r5/install/ kernel-module-airo/lib/modules/2.4.27-vrs1-pxa1-jpm1/ kernel/drivers/net/wireless/airo.o (I forgot to build this as a module so the location may not be exactly correct)
The files should be coppied to /lib/modules/2.4.27-vrs1-pxa1-jpm1/net
I used the network settings applet to do the initial setup of the network config file. Wireless setting will only be available in the network settings applet once you have inserted a wireless card (and the correct modules have been loaded successfully). I had to make the following change to /etc/network/interfaces to get it working with my wireless router.
wireless_key xxxxxxxxx [1] [2] [3] [4] open key [1]
was changed to
wireless_key xxxxxxxxx [1] [2] [3] [4] restricted key [1]
restricted key is used for shared authentication, this setting option is not currently in the network settings applet
the rest of the wireless config will look something like this
wireless_essid xxxxxx wireless_mode infrastructure
I also added
cardctl eject
to /etc/apm/apmd_proxy to force the card to shutdown as part of a suspend or standby operation, otherwise the simpad would freeze when being resumed with the card inserted after a suspend cycle. I could not get this to work properly by adding it into the appropriate suspend / resume scripts that are available elsewhere (in fact I disabled them). No modifications are required to get the card to resume correctly as it will be detected and reinserted automatically.
The above line may also help to ensure any data is written back to a CF inserted via a PCMCIA slot (but dont quote me on it!) during a suspend