When you have your CF GPS card inserted, start a terminal and run the following command:
cartctl ident
I use a Globalsat BC-307 CF GPS , so here is the output I get:
Socket 0:
product info: "CF CARD", "GENERIC", "", ""
manfid: 0x0279, 0x950b
function: 2 (serial)
Socket 1:
no product info available
Next, edit /etc/pcmcia/config and add an entry for your card, based on the cardctl ident output. I added the following (yours should differ...):
card "GlobalSat BC-307 GPS"
manfid 0x0279, 0x950b
bind "serial_cs"
You can put whatever you want for the name of the card (in the first line). The manfid line needs to contain exactly what you got from the 'cardctl ident' command. The final line binds your card to a driver. In my case, serial_cs worked. Eject your card.
Again in a terminal, type:
/etc/rc.d/init.d/pcmcia restart
Insert your card.
Type:
cat /car/lib/pcmcia/stab
The output of this command should display your card's name (that you put in the config file) the driver it is using and (besides a few other things) the serial port that your GPS card uses. (Mine is ttyS3.)
I had to set the UART speed of the serial port to 4800. I'm not sure if this will be the same for your card:
stty 4800 < /dev/ttyS3
(Substitute the serial port that your card uses in place of ttyS3.)
Next, check to see if you can receive data from the card:
cat /dev/ttyS3
(Again, substitute the correct serial port here...)
If this works, you will see lines of data prefixed with $GPRMC, $GPGSA, $GPGGA and similar. Use Control-C to stop this. Now you can give gpsdrive a try.
I hope this is of use to you. (Most of this info I got from Axel Pauli's GPS-CF How-to for the TkRom 2.0 Alpha 3 on a Zaurus SL-5500G.)
Jason.