LDP/LDP/howto/docbook/PalmOS-HOWTO.sgml

1625 lines
42 KiB
Plaintext
Raw Permalink Blame History

<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
<article id="index">
<artheader>
<title>Palm OS Desktop HOWTO</title>
<author>
<firstname>Sean</firstname><surname>Buckley</surname>
<affiliation>
<address><email>sean@redbug.uklinux.net</email></address>
</affiliation>
</author>
<othercredit>
<firstname>David H. Silber
<ulink URL="mailto:palm@orbits.com">palm@orbits.com</ulink ></firstname>
<contrib> Original version</contrib>
</othercredit>
<pubdate>v2.0.1, 03 March 2002</pubdate>
<abstract>
<para>
This HOWTO describes the use of Palm OS devices with Linux. Most
of the advice is applicable to any version of the Palm PDA, and also to
other devices that use the Palm OS, such as the Handspring Visor and Sony Clie.
Many of the tools described here will also work with other types of Unix, such
as FreeBSD.
</para>
<para>
<emphasis role="bold">NOTE: </emphasis> this is a work in progress. There's a
lot more I want to write, and I've noted areas that need work (look for
TODO in the text). This version is very much an early draft to get the
ball rolling. I would especially appreciate feedback from users of other
combinations of PDA and Linux distribution (I currently use an m505 with
Mandrake 8.1).
</para>
</abstract>
</artheader>
<sect1 id="introduction"><title>Introduction</title>
<para>
This document describes how to connect your PalmOS PDA to
a computer running Linux, and synchronise the PDA data with local
applications.
</para>
<sect2 id="disclaimer"> <title>DISCLAIMER</title>
<para>
As always with information you read on the net, proceed with
caution. Most of the information in this HOWTO has been tested with the
devices to which I have access; an original Palm Pilot Pro and a new
Palm m505. I have tried to indicate instances where I have not been able
to test the information.
</para>
<para>
If you have access to Windows or a Mac, I would recommend
backing up your PDA with the provided software before testing it under
Linux. Otherwise, take a backup with the Linux software before attempting
to synchronise.
</para>
</sect2>
<sect2 id="newversions"><title>New versions of this document</title>
<para>
The latest "work in progress" version of this document can be found at
<ulink URL="http://www.redbug.uklinux.net/palm/index.html">
http://www.redbug.uklinux.net/palm/index.html</ulink>.
</para>
</sect2>
<sect2 id="changes"><title>Major Changes</title>
<para>
This document was originally called the Palm Howto. Major changes are
detailed below.
</para>
<para>
<revhistory>
<revision><revnumber>2.0.1</revnumber> <date>2002-03-03</date>
<revremark>
Added info about various software that I hadn't even heard of before I
got feedback from 2.0.0.
</revremark>
</revision>
<revision><revnumber>2.0.0</revnumber> <date>2002-01-06</date>
<revremark>
Major rewrite to include USB connections and recent PalmOS devices
</revremark>
</revision>
<revision><revnumber>1.1.1</revnumber><date>1999-02-28</date>
<revremark>
Last version maintained by David Silber.
</revremark>
</revision>
</revhistory>
</para>
</sect2>
<sect2 id="copyright"><title>Copyright and Licensing</title>
<para>
This document is copyright &copy; 2001 Sean Buckley and
copyright &copy; 1997, 1998 & 1999 David H. Silber.
</para>
<para>
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. The full text of the license can be found at
<ulink URL="http://www.gnu.org/copyleft/fdl.html">
http://www.gnu.org/copyleft/fdl.html</ulink>
</para>
</sect2>
</sect1>
<sect1 id="pc-connect"> <title>Connecting to the PC</title>
<para>
The first step to getting your PDA running under Linux is to connect it
to your PC. Until recently, all PalmOS devices connected via a serial
cable. The latest devices use USB, and some can also connect via infrared.
</para>
<para>
Another development allows the PDA to physically connect to one
machine on the network and synchronise remotely with another machine.
</para>
<sect2 id="pc-connect-serial"> <title>Serial Connection</title>
<para>
The serial connection is currently the easiest way to connect
your PDA to your PC. Simply connect the cradle to a serial port,
then refer to that port when using coldsync or the pilot-link
suite. The serial connection is slow, but has the advantage of
being tried and tested. It should work with any Palm OS device for
which a serial cable is available. Serial cradles and cables are
available as accessories for the Palm PDAs, including those which
come with USB cradles as standard.
</para>
<para>
For convenience, you may wish
to create a device called <literal remap="tt">/dev/pilot</literal>
as a link to the serial port. The pilot-link suite uses this device
by default, so if the link exists it will save you having to specify
it each time you call one of the programs.
</para>
<para>
To create the link, log on as root and enter the following command:
</para>
<para>
<programlisting>
ln -s /dev/ttyS0 /dev/pilot
</programlisting>
</para>
<para>
Replace <literal remap="tt">/dev/ttyS0</literal> with
the serial port to which you have connected the your PDA. The device
name <literal remap="tt">/dev/ttyS0</literal> corresponds to COM1 in
DOS/Windows terminology, <literal remap="tt">/dev/ttyS1</literal> is
COM2, and so on.
</para>
<para>
You also need to ensure that you have
permission to write to the serial port. On a standalone workstation you
can change the permissions to allow global access to the port. As root,
enter the following command:
</para>
<para>
<programlisting>
chmod a+rw /dev/ttyS0
</programlisting>
</para>
<para>
Greater security can be achieved using the group permissions. Set
the permissions to read/write for the group and add the required
users to the user list for the group (see <literal remap="tt">man
group</literal>). (TODO: More detail).
</para>
</sect2>
<sect2 id="devfs"><title>Devfs device naming</title>
<para>
Recent Linux distributions may use devfs for device naming. In
this case <literal remap="tt">/dev/ttyS0</literal> may not exist, or may
be a symbolic link to <literal remap="tt">/dev/tts/0</literal>. This is
a new naming scheme brought in with the 2.4 kernel. Simply replace all
references to <literal remap="tt">/dev/ttyS0</literal> with <literal
remap="tt">/dev/tts/0</literal>.
</para>
<para>
If you use symbolic links with devfs, you may find that the links do not persist
correctly after you reboot. The <computeroutput>/etc/devfsd.conf</computeroutput>
file controls the creation of symbolic links to dynamically created devices.
</para>
<para>
As always, the operation seems to be set up differently under different
distributions.
</para>
<itemizedlist>
<listitem>
<para>
Manrake 8.1 creates a link from /dev/usb/tts/1 to /dev/pilot when the hotsync
button is pressed on the cradle.
</para>
</listitem>
<listitem>
<para>
RedHat 7.2 requires the link to be created manually. The link is then persistent
across boots (thanks to Jim Mueller for this information).
</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="pc-connect-usb"> <title>USB Connection</title>
<para>
USB access to Palm devices is relatively new. The Handspring
Visor seems to be well supported, and works with the pilot-link
suite. Currently, the Palm m500 series only works with coldsync, although
pilot-link support is in active development. <emphasis>Update:</emphasis>
the current development version of pilot-link, 0.10.x, has support for
USB devices. See the pilot-link section for more about this release.
</para>
<para>
To use any
USB device under Linux, you need to have USB support in your kernel. You
will also need the relevant modules available. Most (TODO: Check which
distros work out of the box) recent Linux distributions have USB support
enabled by default. To check your system, try the following command as
root:
</para>
<para>
<programlisting>
modprobe visor
</programlisting>
</para>
<para>
If you get no output from this command, then the module is available and
you do not need to recompile your kernel. If this does not work, try the
alternative usbserial module:
</para>
<programlisting>
modprobe usbserial
</programlisting>
<para>
This is used by some distributions, such as
Redhat 7.0.
</para>
<para>
If you need to set up USB support in your kernel, the
<ulink url="http://www.linuxpda.com/visor/howto/current/">Handspring
Visor with Linux mini-HOWTO</ulink> provides instructions. (TODO:
Incorporate into this HOWTO?)
</para>
<para>
Once USB support is set
up, you should use device <computeroutput>/dev/ttyUSB1</computeroutput>
to communicate with your PDA. Note that this device name only exists
<emphasis>after</emphasis> you have pressed the hotsync button on the
cradle. You must press the button before running the connection software.
</para>
<para>
If you have problems synchronising via USB, try an updated kernel. There
may be some timing issues with the USB driver. For example, I found that
stock Mandrake 8.1 did not work on one PC, but worked first time on a faster
PC. Upgrading to a stock 2.4.17 kernel solved the problem and worked fine on
both PCs.
</para>
</sect2>
<sect2 id="pc-connect-infrared"> <title>IR Connection</title>
<para>
The latest Palm devices have infrared (IrDA) ports. If
you have one of these, and a PC with an infrared port, you can
synchronise over IrDA and do away with the cables altogether.
</para>
<para>
David A. Desrosiers has written a comprehensive <ulink
url="http://www.pilot-link.org/howto/irhsync/">HOWTO</ulink> on the
subject. (TODO: Include this inline?)
</para>
</sect2>
<sect2 id="pc-connect-network"> <title>Network Connection</title>
<para>
It is possible to physically connect your PDA to one PC,
and synchronise it with another PC elsewhere on the network. This
might be a useful feature if you need to synchronise with a PC to
which you cannot physically connect your PDA.
</para>
<para>
Once again David A. Desrosiers has written a (less comprehensive) <ulink
url="http://www.pilot-link.org/howto/nhsync">HOWTO</ulink> on the
subject. (TODO: Include this inline? Not convinced of the value of this
method - anyone care to comment?)
</para>
</sect2>
</sect1>
<sect1 id="pilotlink"><title>The pilot-link suite</title>
<para>
The pilot-link suite provides the tools for communicating with
your PDA. The pilot-link programs provide the background functionality for
many higher level programs, but can also be used on their own as command
line tools.
</para>
<para>
Most distributions come with the pilot-link
suite available as an optional package. The package will be available on
the installation media or from the ftp site of the distribution. Install
the package in the usual way for your distribution. You may also need
development versions of the packages if you wish to compile any software
that uses pilot-link.
</para>
<para>
<emphasis>Note:</emphasis> Unless otherwise specified, the details below refer
to the 0.9.x release of
pilot-link. The version in development is 0.10.x. This version contains
support for USB devices, and has been updated to ensure greater consistency
between the various utilities. Once 0.10.x is officially released, this
document will be updated for the new version.
</para>
<para>
If you upgrade to 0.10.x, you will also need to update applications which use
pilot-link. In particular, J-Pilot and gnome-pilot need modifications to work with
0.10.x. J-Pilot 0.99.2 should work with the
latest version of pilot-link.
</para>
<sect2 id="pilotlink-installing"><title>Installing the pilot-link
software</title>
<para>
The pilot-link suite comes with most major
Linux distributions, including RedHat, Mandrake, SUSE and Debian. If
you intend to compile applications which rely on pilot-link, you
may need to install development packages as well.
</para>
<para>
If you use a distribution that does not come with pilot-link, or you
need a more recent version, you can find the latest release at <ulink
url="http://www.pilot-link.org/">www.pilot-link.org</ulink>. As well as
the current version, you will find a link to the latest CVS snapshot.
</para>
<para>
Once you have the downloaded the source, unpack and
compile it as follows:
</para>
<para>
<programlisting>
tar -zxvf pilot-link.0.9.5.tar.gz cd pilot-link.0.9.5
./configure
make
make install
</programlisting>
</para>
<para>
The programs can be run directly from
the directory in which they were compiled. You may wish to test them
before running <computeroutput>make install</computeroutput>. For more
information, see the README file that comes with pilot-link.
</para>
</sect2>
<sect2 id="pilotlink-using"><title>Using the pilot-link software</title>
<para>
Most of the programs in the <Literal
remap="tt">pilot-link</Literal> suite are <emphasis>conduits</emphasis>,
that is they transfer data into or out of your Palm OS device.
</para>
<para>
Each time you use of one of the programs, press the HotSync button
on your PDA's cradle. This will initiate the PDA
side of the data transfer. Note that not all of these programs prompt
you to press the `HotSync' button, so you may have to remember to do
it yourself.
</para>
<para>
For more details, view the corresponding manual
page. There is an overview manual page under the name
<computeroutput>pilot-link</computeroutput>.
</para>
<para>
The pilot-link programs all use the same method of determining the
location of your PDA:
</para>
<itemizedlist>
<listitem>
<para>
If a device is specified on the command line, that device will be used
regardless of the other settings.
</para>
</listitem>
<listitem>
<para>
If the environment variable <computeroutput>$PILOTPORT</computeroutput>
is set, that will be used unless a port is specified on the command line.
</para>
</listitem>
<listitem>
<para>
If no port is specified on the
command line, and the <computeroutput>$PILOTPORT</computeroutput> variable
is not set, <computeroutput>/dev/pilot</computeroutput> will be used.
</para>
</listitem>
</itemizedlist>
<sect3 id="pilot-xfer"> <title>pilot-xfer</title>
<para>
Possibly the most useful program in the pilot-link suite,
<computeroutput>pilot-xfer</computeroutput> allows you to install programs
on your Palm OS device, make a backup, and restore that backup.
</para>
<para>
To install a program:
</para>
<para>
<programlisting>
pilot-xfer /dev/pilot -i program.prc
</programlisting>
</para>
<para>
To backup your Palm OS device:
</para>
<para>
<programlisting>
pilot-xfer /dev/pilot -b backup-directory
</programlisting>
</para>
<para>
This will copy all of the databases on your Palm OS device, (including
programs?) to a directory called ``backup-directory'', creating it if
it does not already exist.
</para>
<para>
To restore data to Palm OS device:
</para>
<para>
<programlisting>
pilot-xfer /dev/pilot -r backup-directory
</programlisting>
</para>
<para>
Generally, you will only need to do this if your Palm OS device loses
power or if you have to do a hard reset.
</para>
<para>
To list the programs on your Palm OS device:
</para>
<para>
<programlisting>
pilot-xfer /dev/pilot -l
</programlisting>
</para>
</sect3>
<sect3 id="install-memo"><title>install-memo</title>
<para>
To install a memo into your (already existing)
<emphasis remap="it">project</emphasis> category:
</para>
<para>
<programlisting>
install-memo /dev/pilot -c project project.memo
</programlisting>
</para>
<para>
The name of the
file will be inserted into the memo as its first line and will appear
in the directory of memos on your Palm OS device.
</para>
</sect3>
<sect3 id="memos"><title>memos</title>
<para>
This program grabs each memo from the Palm OS device and prints
it out in standard mailbox format.
</para>
<para>
To view your memos:
</para>
<para>
<programlisting>
memos /dev/pilot
</programlisting>
</para>
</sect3>
<sect3 id="connect-pilot-addresses"><title>pilot-addresses</title>
<para>
Transfer the address database to or from your PDA.
</para>
<para>
To write your address data to a Linux file from your PDA:
</para>
<para>
<programlisting>
pilot-addresses /dev/pilot -w storage.file
</programlisting>
</para>
<para>
To read your address data from a Linux file onto your PDA:
</para>
<para>
<programlisting>
pilot-addresses /dev/pilot -r file
</programlisting>
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="coldsync"><title>Coldsync</title>
<para>
Coldsync is an alternative to the pilot-link suite for transferring data to
and from your PalmOS device. Like pilot-link, it can synchronise,
backup and restore Palm databases.
</para>
<para>
There are fewer applications available which use coldsync as their backend. That
may change, but it seems to reflect a difference in philosophy between coldsync
and pilot-link. Applications that sync using pilot-link tend to build
in the functionality for synchronisation. It is therefore the author
of the application that decides to include pilot-link support.
</para>
<para>
Coldsync takes a different approach. Conduits can be written to
use coldsync with almost any application. The synchronisation process
can be entirely transparent to the application. If the application author
is not interested in adding PDA support, it does not matter. As long as
the data format of the application is available, someone else can write
the conduit.
</para>
<sect2 id="coldsync-installing"><title>Installing coldsync</title>
<para>
Some Linux distributions are carrying coldsync, but it is
not yet as widely available as pilot-link. It is also a younger
application, so you are more likely to need to compile from source.
</para>
<para>
You can find the latest release of coldsync at <ulink
url="http://www.ooblick.com/software/coldsync/">
www.ooblick.com/software/coldsync</ulink>.
As well as the current version, you will find a link to the latest
CVS snapshot.
</para>
<para>
Once you have the downloaded the source,
compile it as follows:
</para>
<para>
<programlisting>
tar -xvzf
colsync-2.2.5.tar.gz
cd coldsync-2.2.5
./configure
make
make install
</programlisting>
</para>
<para>
You can run coldsync directly from the
<computeroutput>src</computeroutput> directory. For more information,
see the README file that comes with coldsync.
</para>
</sect2>
<sect2 id="coldsync-using"><title>Using coldsync</title>
<sect3><title>The .coldsyncrc file</title>
<para>
By default, coldsync reads configuration parameters from a file called
<computeroutput>.coldsyncrc</computeroutput> in your home directory. The
<computeroutput>-f</computeroutput> flag overrides the default if
you need to use an alternative configuration file. In addition, some
of the parameters in the configuration file can be set or overridden
on the command line.
</para>
<para>
The following is an example of
a <computeroutput>.coldsyncrc</computeroutput> file:
</para>
<para>
<programlisting>
listen serial {
device: "/dev/palm";
protocol: default;
transient;
}
pda "My Palm" {
snum: "L0PK17C13832-M";
username: "Sean";
userid: 1234;
directory:
"/home/sean/m505";
default;
}
</programlisting>
</para>
<para>
This example tells coldsync to look for a serial port connection on
<computeroutput>/dev/palm</computeroutput>. The transient keyword
tells coldsync that the device may not exist until the user presses
the Hotsync button. The pda section tells coldsync the serial number
of the device, the username and id of the user and the directory
to which the device will be backed up.
</para>
<para>
The coldsync configuration file is well documented in the man page
(<computeroutput>man coldsync</computeroutput>), but it is worth
repeating some points:
</para>
<para>
<itemizedlist>
<listitem>
<para>
Do not use a userid of 0 in your PDA section. This can lead to a loss of data
if you need to perform a hard reset of your Palm.
</para>
</listitem>
<listitem>
<para>
If you have a Palm m505 with a USB cradle under Linux, you
should not use <computeroutput>listen usb</computeroutput>. Instead
use <computeroutput>listen serial</computeroutput> with
<computeroutput>protocol: simple;</computeroutput>
</para>
</listitem>
</itemizedlist>
</para>
</sect3>
<sect3> <title>The p5-Palm Perl modules</title>
<para>
P5-Palm is a set of Perl modules for communicating with a Palm device via
coldsync, and can be downloaded from the coldsync site. The purpose of the
p5-Palm modules is to simplify and speed up the creation of conduits.
</para>
<para>
You should install p5-Palm if you want to use any of the coldsync conduits.
You do not need p5-Palm if you will only be using coldsync for simple backups.
</para>
<para>
To install the modules:
</para>
<para>
<programlisting>
tar -zxvf p5-Palm-1.2.4.tar.gz
cd p5-Palm-1.2.4
perl Makefile.PL
make
make install
</programlisting>
</para>
</sect3>
<sect3><title>Coldsync conduits</title> <para>
A number
of conduits are available for coldsync. These conduits use
coldsync to synchronise other applications with your PDA. The
conduits generally require the p5-Palm Perl modules described
above.
</para>
<para>
The list of conduits is available at <ulink
url="http://www.ooblick.com/software/coldsync/conduits/">
http://www.ooblick.com/software/coldsync/conduits/</ulink>.
</para>
<para>
The conduits require an entry in your .coldsyncrc configuration file. To find
out what should be entered, run <computeroutput>/path/conduit -config
</computeroutput>, where <computeroutput>path</computeroutput> is the
location of the conduit.
</para>
</sect3>
</sect2>
</sect1>
<sect1 id="apps"><title>Desktop Applications.</title>
<para>
This section
describes applications which can synchronise their data with your PDA. The
applications generally use pilot-link to provide communication with the
PDA. Coldsync provides conduit capabilities to application that are not
specifically written with PDAs in mind.
</para>
<sect2 id="jpilot"><title>JPilot</title>
<para>
JPilot is a
Personal Information Manager (PIM) that provides a replacement
for the Palm Desktop software provided for Windows and the
Mac. JPilot provides desktop versions of the Palm address book,
todo list, calendar and memopad. JPilot can also be used to install
applications onto the PDA.
</para>
<para>
JPilot is available with
most Linux distributions. You can also download JPilot from <ulink
url="http://www.jpilot.org/">http://www.jpilot.org</ulink>. To use JPilot
you must have pilot-link installed. As JPilot is a gtk+ application,
you will also need gtk+.
</para>
</sect2>
<sect2 id="gnome-pilot"><title>Gnome-pilot</title>
<para>
Gnome-pilot
aims to provide PDA connectivity for the Gnome desktop. Gnome-pilot
provides conduits for the Gnome PIM applications, a control centre applet
for configuring the link, and a panel applet for dislaying the hotsync
status.
</para>
<para>
Gnome-pilot uses a daemon process to communicate
with the PDA via pilot-link. Client applications use the daemon, rather
than call pilot-link directly. The daemon must be running in order
to use the client applications such as the conduits.
</para>
<para>
Gnome-pilot should be available as part of Gnome. The home page for the
project is at <ulink url="http://www.gnome.org/projects/gnome-pilot/">
http://www.gnome.org/projects/gnome-pilot/</ulink>.
</para>
<para>
Gnome-pilot configuration is done through the Gnome control centre. If you
have gnome-pilot installed, you should have a "Pilot Link" section under the
peripherals section of the control centre.
</para>
<sect3 id="gnome-pilot-link"><title>The Pilot Link Applet</title>
<para>
The Gnome control panel Pilot Link applet allows you to configure your PDA for
use with Gnome. You must set up your PDA before you can use any of the Gnome
conduits.
</para>
<para>
The first step is to add a device. Start the Gnome control centre, and click on
"Pilot Link" in the left hand pane. The right hand pane should show the pilot
link applet.
</para>
<para>
<itemizedlist>
<listitem>
<para>
Click on the devices tab, then click "Add". You should see the "Device Settings"
dialog box.
</para>
</listitem>
<listitem>
<para>
The "Name" field can contain anything to help you identify the port that you
create.
</para>
</listitem>
<listitem>
<para>
The "Port" field should contain the port to which you attach your PDA. The port
should be the same as you use for pilot-link.
</para>
</listitem>
<listitem>
<para>
The speed and timeout values will depend on your device. Try the defaults, and
change them if you have problems synchronising.
</para>
</listitem>
<listitem>
<para>
The "Type" should be set to your device type.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Once you have configured the device, you can configure the actual PDA:
</para>
<para>
<itemizedlist>
<listitem>
<para>
Click on the "Pilots" tab, then click on "Add...". You should then see the
"Pilot Settings" dialog box.
</para>
</listitem>
<listitem>
<para>
If you already have a user
name set up on the PDA, click "Get from pilot" to download the username and ID.
Otherwise, click "Send to pilot" to set up your username on the PDA.
</para>
</listitem>
<listitem>
<para>
The "Pilot Attributes" allow you to name your PDA and set a local directory to
use for the conduits.
</para>
</listitem>
<listitem>
<para>
The "Sync action" determines what happens when you press the hotsync button on
your PDA. The default is "Use conduit settings". This allows you to customise
set different sync actions for each conduit.
</para>
</listitem>
</itemizedlist>
</para>
<para>
Once you have configured your PDA, you need to configure the conduits.
</para>
</sect3>
<sect3 id="gnome-pilot-conduits"><title>The Pilot Conduits Applet</title>
<para>
Start the Gnome control centre, then click on "Pilot Conduits" in the left hand
pane. If you have a PDA configured in the pilot link applet, you will see a
list of available conduits. If you have more than one PDA, you can use the
drop down list to select the one that you wish to configure.
</para>
<para>
Each available conduit starts out disabled. To enable a conduit, select it in
the list and click on "Enable". You will then be given a choice of methods for
synchronisation.
</para>
</sect3>
</sect2>
<sect2 id="evolution"><title>Evolution</title>
<para>
Evolution is a Microsoft Outlook clone for Gnome from Ximian. Evolution comes
with a conduit for gnome-pilot. The conduit can be configured through the
gnome-pilot conduits control centre applet described above.
</para>
<para>
<emphasis role="strong">Warning:</emphasis> Mandrake 8.1 comes with a beta
version of Evolution. This version seems
to have a bug whereby it does not correctly identify records when synching.
This can lead to records being duplicated on the PDA.
</para>
<para>
The latest version of Evolution can be downloaded from <ulink
url="http://www.ximian.com/">http://www.ximian.com</ulink>. Evolution is
designed mainly for use with Ximian Gnome, and installing it independently
involves resolving a number of dependencies.
</para>
</sect2>
<sect2 id="kpilot"> <title>KPilot</title>
<para>
KPilot is the KDE
equivalent of Gnome-pilot. KPilot provides basic PIM functionality,
as well as conduits to KDE applications such as KOrganizer.
</para>
<para>
As with gnome-pilot, kpilot uses a pilot-link
via a daemon process.
</para>
<para>
KPilot is available from <ulink
url="http://www.slac.com/pilone/kpilot_home/">
http://www.slac.com/pilone/kpilot_home</ulink>
</para>
<para>
TODO: Again, I don't really use KDE, but will give it
a spin.
</para>
</sect2>
<sect2 id="XNotesPlus"> <title>XNotesPlus</title>
<para>
<Literal remap="tt">XNotesPlus</Literal> provides a means to
post small notes on your X-Windows desktop. These notes can be shared
as memos with your PalmOS device.
</para>
<para>
In addition to the notes, XNotesPlus provides PIM features, and integrates
the notes feature with the todo list and addressbook. Note that XNotesPlus
does not perform a true synchronisation, but simply replaces changed
databases.
</para>
<para>
The XNotesPlus web
page at <ulink URL="http://www.graphics-muse.org/xnotes/xnotes.html"
>http://www.graphics-muse.org/xnotes/xnotes.html</ulink > contains full
installation and use instructions.
</para>
<para>
XNotes is shareware, and not freely distributable.
</para>
</sect2>
<sect2 id="wmsync"><title>WMSync</title>
<para>
If you use WindowMaker, this might be useful. From the website:
</para>
<para>
Wmsync is a WindowMaker dockapp that starts your favourite sync program
for your Palm(TM) PDA. It displays a small animation when syncing.
It is controlled by a small perl script via SIGUSR1 and SIGUSR2 so it
is highly customizable. That<61>s all.
</para>
<para>
Wmsync is available from <ulink URL="http://home.t-online.de/home/db7ne/wmsync.html">
http://home.t-online.de/home/db7ne/wmsync.html</ulink>
</para>
</sect2>
</sect1>
<sect1 id="othersoftware"><title>Other Software</title>
<sect2 id="pyrite"><title>The Pyrite Project</title>
<para>
Pyrite Publisher is a tool to convert documents to and from the Doc format used
by electronic books for the Palm PDA. Compressed zTXT files are also supported.
Pyrite Publisher is written in Python, with an optional module in C for enhanced
data compression performance.
</para>
<para>
The library used to communicate with the Palm is available separately, as
python-libpisock. The library is a python binding for the pilot-unix libpisock
library.
</para>
<para>
Pyrite is available from <ulink url="http://www.pyrite.org/">http://www.pyrite.org
</ulink>
</para>
</sect2>
<sect2 id="other-malsync"><title>MalSync</title>
<para>
Malsync is a command line tool for synchronising Palm PDAs with the AvantGo
server. AvantGo is a - well, you'll know what it is if you use it. Unfortunately
the website is a masterpiece of marketspeak.
</para>
<para>
Malsync is available from <ulink URL="http://www.tomw.org/malsync/">
http://www.tomw.org/malsync</ulink>
</para>
</sect2>
<sect2 id="other-palmpix"><title>PalmPix Decoder</title>
<para>
The PalmPix decoder extracts pictures from a PalmPix database. The PalmPix is a
digital camera attachment for Palm PDAs.
</para>
<para>
The PalmPix decoder is available from
<ulink URL="http://www.geocities.com/aa_soft/PalmPix.html">
http://www.geocities.com/aa_soft/PalmPix.html</ulink>
</para>
</sect2>
</sect1>
<APPENDIX id="appendix"><title>Appendix</title>
<sect1 id="resources"><title>Resources</title>
<para>
Information resources for Linux/Palm applications
</para>
<sect2 id="res-pilot-link"><title>Pilot-link</title>
<itemizedlist>
<listitem>
<para>
<emphasis role="strong">Website</emphasis> <ulink
url="http://www.pilot-link.org/">http://www.pilot-link.org</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">General mailing list</emphasis> <ulink
url="http://www.pilot-link.org/mailman/listinfo/pilot-link-general/">
http://www.pilot-link.org/mailman/listinfo/pilot-link-general/</ulink>
.General discussions about pilot-link, conduit ideas, wish list items and
anything else.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">General mailing list archive</emphasis> <ulink
url="http://www.pilot-link.org/pipermail/pilot-link-general/">
http://www.pilot-link.org/pipermail/pilot-link-general/</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Announcement mailing list</emphasis> <ulink
url="http://www.pilot-link.org/mailman/listinfo/pilot-link-announce/">
http://www.pilot-link.org/mailman/listinfo/pilot-link-announce/</ulink>
. Announcements for pilot-link releases, conduits, third-party tools and
applications.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Announcement mailing list archive</emphasis> <ulink
url="http://www.pilot-link.org/pipermail/pilot-link-announce/">
http://www.pilot-link.org/pipermail/pilot-link-announce/</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Development mailing list</emphasis> <ulink
url="http://www.pilot-link.org/mailman/listinfo/pilot-link-devel/">
http://www.pilot-link.org/mailman/listinfo/pilot-link-devel/</ulink>
. Development list for pilot-link code, releases, patches, conduits, bugs,
testing.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Development mailing list archive</emphasis> <ulink
url="http://www.pilot-link.org/pipermail/pilot-link-devel/">
http://www.pilot-link.org/pipermail/pilot-link-devel/</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">"Next Generation" pilot-unix mailing list
</emphasis> <ulink
url="http://www.pilot-link.org/mailman/listinfo/pilot-unix-ng/">
http://www.pilot-link.org/mailman/listinfo/pilot-unix-ng/</ulink>
. Development list for pilot-link code, releases, patches, conduits, bugs,
testing.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">"Next Generation" pilot-unix mailing list archive
</emphasis> <ulink
url="http://www.pilot-link.org/pipermail/pilot-unix-ng/">
http://www.pilot-link.org/pipermail/pilot-unix-ng/</ulink>
. Replaces the old pilot-unix list that is now offline.
</para>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="res-coldsync"><title>Coldsync</title>
<para>
<itemizedlist>
<listitem>
<para>
<emphasis role="strong">Website:</emphasis> <ulink
url="http://www.ooblick.com/software/coldsync/">
http://www.ooblick.com/software/coldsync</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Mailing list:</emphasis> send an email to <ulink
url="mailto:coldsync-hackers-request@lusars.net?body=subscribe">
coldsync-hackers-request@lusars.net</ulink>
with the word subscribe in the body.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Mailing list archive:</emphasis> <ulink
url="http://www.thedotin.net/maillists/coldsync-hackers/">
http://www.thedotin.net/maillists/coldsync-hackers</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="res-jpilot"><title>JPilot</title>
<para>
<itemizedlist>
<listitem> <para>
<emphasis role="strong">Website:</emphasis> <ulink
url="http://www.jpilot.org/">http://www.jpilot.org</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Mailing list: </emphasis>send an email to <ulink
url="mailto:listar@moongroup.com?subject=subscribe">listar@moongroup.com</ulink>
with the word subscribe in the subject.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Mailing list archive: </emphasis><ulink
url="http://www.moongroup.com/archives/jpilot/">
http://www.moongroup.com/archives/jpilot</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="res-gnome-pilot"><title>Gnome-pilot</title>
<para>
<itemizedlist>
<listitem>
<para>
<emphasis role="strong">Website: </emphasis><ulink
url="http://www.gnome.org/projects/gnome-pilot/">
http://www.gnome.org/projects/gnome-pilot</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Mailing list: </emphasis><ulink
url="http://mail.gnome.org/mailman/listinfo/gnome-pilot-list">http://mail.gnome.org/mailman/listinfo/gnome-pilot-list</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Mailing list archive: </emphasis><ulink
url="http://mail.gnome.org/archives/gnome-pilot-list/">http://mail.gnome.org/archives/gnome-pilot-list/</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="res-kpilot"><title>KPilot</title>
<para>
<itemizedlist>
<listitem>
<para>
<emphasis role="strong">Website: </emphasis><ulink
url="http://www.slac.com/pilone/kpilot_home/">
http://www.slac.com/pilone/kpilot_home</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Mailing list: </emphasis>
There is no specific KPilot list, but you can use
the kde-pim list. To subscribe, send an email to <ulink
url="mailto:kde-pim-request@kde.org">kde-pim-request@kde.org</ulink>
with subscribe followed by your email address in the subject.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Mailing list archive: </emphasis><ulink
url="http://lists.kde.org/?l=kde-pim&amp;r=1&amp;w=2">
http://lists.kde.org/?l=kde-pim&amp;r=1&amp;w=2</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="res-other"> <title>Other resources</title>
<para>
<itemizedlist>
<listitem>
<para>
<emphasis role="strong">XNotesPlus website:</emphasis>
<ulink url="http://www.graphics-muse.org/xnotes/xnotes.html">
http://www.graphics-muse.org/xnotes/xnotes.html
</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">WMSync website:</emphasis>
<ulink url="http://home.t-online.de/home/db7ne/wmsync.html">
http://home.t-online.de/home/db7ne/wmsync.html
</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">The Pyrite Project website:</emphasis>
<ulink url="http://www.pyrite.org/">
http://www.pyrite.org/
</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Malsync website:</emphasis>
<ulink url="http://www.tomw.org/malsync/">
http://www.tomw.org/malsync/
</ulink>
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">PalmPix decoder website:</emphasis>
<ulink url="http://www.geocities.com/aa_soft/PalmPix.html">
http://www.geocities.com/aa_soft/PalmPix.html
</ulink>
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<sect1 id="devices"><title>Devices that use the Palm OS</title>
<para>
This is an overview of the range of devices that work with the software
detailed in this HOWTO.
</para>
<sect2 id="devices-palm"><title>Palm</title>
<para>
<itemizedlist>
<listitem>
<para>
<emphasis role="strong">Pilot 1000, 5000, PalmPilot Personal, PalmPilot Pro.
</emphasis> The original Palm PDAs, no longer in production. These should
work over a serial port connection.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Palm IIIe, IIIx, IIIxe, IIIc.
</emphasis> The III series, again no longer in production. These should
work over a serial port connection. The first colour Palm, the IIIc, had an
optional USB connection, but the serial interface is required for Linux.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Palm V, Vx.
</emphasis> The V series, again no longer in production. These introduced the
IR interface, and it should be possible to synch them via an IR port on a
suitably equipped PC. They also work over the serial port connection.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Palm VII, VIIx.
</emphasis> The VII series, again no longer in production. These introduced the
built in wireless connection. They feature an optional USB connection, but the
serial interface is required for Linux.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Palm VII, VIIx.
</emphasis> The VII series, again no longer in production. These introduced the
built in wireless connection. They feature an optional USB connection, but the
serial interface is required for Linux.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Palm m100, m105.
</emphasis> The current entry level Palm PDAs. These should
work over a serial port connection.
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Palm m500, m505.
</emphasis> The latest version of the IR connection enabled Palm. They come with
USB cradles as standard, and should synch over USB. An optional serial cable is
available if USB synchronisation is not possible,
</para>
</listitem>
<listitem>
<para>
<emphasis role="strong">Palm i705.
</emphasis> The latest Palm with wireless network connection capability. It
synchronises via USB. No reports yet on whether it works with Linux over USB.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="devices-handspring"><title>Handspring</title>
<para>
<itemizedlist>
<listitem>
<para>
<emphasis role="strong">Visor.
</emphasis> The Handspring Visor series of PDAs come with USB cradles. Serial
cables are also available. USB is better supported under Linux for the Visor
than for Palm PDAs, so USB should work with few problems.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
<sect2 id="devices-sony"><title>Sony</title>
<para>
<itemizedlist>
<listitem>
<para>
<emphasis role="strong">Clie.
</emphasis> Sony's higher resolution version of the Palm PDA.
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<sect1 id="history"><title>A History of Palm OS devices.</title>
<para>
This section is included unchanged from the original document. It's
clearly out of date, and I'm not sure if it's worth keeping in. It's a
bit offtopic for a Linux howto, and the effort of keeping it current
seems a bit pointless. Instead I've added a section detailing devices
that use the Palm operating system, and which therefore should work with
the instructions in this HOWTO.
</para>
<para>
There are two versions of
the Pilot. They are the <emphasis remap="it">1000</emphasis> and the
<emphasis remap="it">5000</emphasis> and have 128k and 512k of RAM,
respectively. They come with Palm OS 1.0 in ROM.
</para>
<para>
Then came two devices with the name <emphasis
remap="it">PalmPilot</emphasis>. They are the <emphasis
remap="it">PalmPilot Personal</emphasis> and the <emphasis
remap="it">PalmPilot Professional</emphasis> and have 512k and 1 Meg
of RAM, respectively. They also have a backlighting feature for the
LCD panel and version 2.0 of the operating system. The <emphasis
remap="it">Professional</emphasis> also comes with a TCP/IP stack and
a few extra programs built-in.
</para>
<para>
IBM has released a rebadged version of the PalmPilot Professional,
which they call a <emphasis remap="it">WorkPad</emphasis>.
</para>
<para>
Now we have the Palm III, which has a redesigned case and an
infrared port, not to mention the 2 Meg of RAM and Palm OS 3.0.
</para>
<para>
There is an announced product from Qualcomm, called the
<emphasis remap="it">pdQ smartphone</emphasis>, which is a cell phone
that incorporates a Palm OS PDA. Don't get all excited about it yet,
it will not be released until sometime in 1999.
</para>
<para>
It is possible to upgrade any Pilot by swapping out the memory
card, which includes both RAM &amp; ROM. Of course, this doesn't get
you backlighting for the original Pilot series.
</para>
</sect1>
</Appendix>
</Article>