GPS on SL-5500
During my time with this beautiful Computer and as a Hardware Engineer and designer of many different peripherals for PC systems and as a VB 6.0 programmer and Z80 enthusiast/Assembly language programmer I have never in all that time come accross a small Computer built with so much power and more ability to do things than the Zaurus SL-5500, and such quality, just to hold it in your the palm of your hand, you know you got a real solid Computer right there!
I think it has to be THE best PC purchase I have ever made, and I have been through a lot of different machines in my 30 odd years in this game.
Well, thats my love rant, now down to the nitty gritty of GPS on a Zaurus SL-5500..
first of all:
GlobalSat Sirf Star III BC-337 Compact Flash GPS Tranceiver (ebay £30 UK)
GlobalSat Sirf Star III BC-307 Compact Flash GPS Tranceiver
HAiCOM HI-302E Compact Flash GPS Transceiver
Slap that baby in the top port of your SL-5500 and fire up.
The following are excerts from the Open Source Cumulus GPS project:
To get free the device ttyS0 from the getty process you have to edit the file /etc/inittab. This device is needed, if you want to connect the Z via a serial cable to another device, like a flightrecorder, to read in its data. Open the file /etc/inittab with a text editor and search the following line:
S:2345:respawn:/sbin/getty 115200 ttyS0
Comment it out with a # on the left side. Save the changed file. Now execute the command telinit q. That will stop the getty process on the device ttyS0.
Activation of the GPS CF card
With a GPS CF card BC-337 or a HAiCOM HI-302E I had no problems to get it running. The used serial device is /dev/ttyS3 in the normal case. In the lower line there should come up a message, that a new card has been inserted. Now you can check, if your card has been recognised by the OS. Enter the command cardctl ident and look at the output. For a BC-307/337 or a HI-302E GPS card there is printed out the following:
product info: "CF CARD", "GENERIC", "", "" manfid: 0x0279, 0x950b function: 2 (serial)
no product info available
Now you can check, if the kernel has assigned a serial device to the CF card. Execute the command:
to see, what the kernel has assigned. If all is ok you should see something like this:
Socket 0: Compaq iPAQ Bluetooth Sleeve 0 bluetooth serial_cs 0 ttyS3 4 67 Socket 1: empty
Important is the assigned device, ttyS3. You need to remember that because all GPS Software will need to be told this is your GPS Card: ttyS3. Now we can do a very simple test, if the serial CF interface is working. We set the speed of the uart to 4800 bps and try to read the data from it.
stty 4800 pass8 < /dev/ttyS3
If we have luck and the GPS is sending data we can see the NMEA records:
First record maybe corrupted but the rest looks very good. With Control C you can stop the output. Additionally, if you got no success you should visit the system log file with the following command:
Check if you could detect problems related to ttyS3 or similar. If you call logread -f you will get displayed all logged new mesages in the system log immediately. That's good for online tracing.
now you can load up your favourite Linux GPS Software tell that program that the GPS Card is at ttyS3 and off you GO!
Happy travels !
James Gerrard Delaney, Sheffield, UK email@example.com
'Electric Blue - Power of the Universe'
Excerpts are with thanks from the Cumulus GPS open source project