dancing penguin

home page logo

[Home] [Chess] [Gallery] [Links] [Linux] [GPG Key] [eBooks]

Palm-Pilot Vx

  • SpaceX Launches First Satellites For New US Spy Constellation
  • Germany Has Too Many Solar Panels, and It's Pushed Energy Prices Negative
  • Euclid Telescope Spies Rogue Planets Floating Free In Milky Way
  • Political Consultant Behind Fake Biden Robocalls Faces $6 Million Fine, Criminal Charges
  • IRS Extends Free File Tax Program Through 2029
  • Exploring Linux Network Protocols for Better Packet Processing
  • Embracing the Future: The Transition from SysVinit to Systemd in Linux
  • Managing User Storage Limits With Linux Disk Quotas
  • Understanding the Basics of SELinux Policy Management on CentOS
  • Understanding Ownership and Access Control for Enhanced Security

Version: 0.98 - June 21, 2003

This document is Copyright © 2000-2003 Bruno Raoult.

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. A copy of the license is included here.


I will not accept any responsibility for anything happening to you, your cat, your computer, your house, your wife, your neighbours, anybody/anything else, before/while/after reading this document or any other page written by me or anybody else.

You have been warned.


0.98: Jun 21, 2003: Added translations section.
0.97: May 28, 2003: Added kernel 2.4 CONFIG_IP_NF_TARGET_MASQUERADE (Oops!).
0.96: May 5, 2003: Added noauth in pppd options (thanks to Stephan for pointing this).
0.95: Apr 8, 2003: Added hotplug script for Sony Clié.
0.91: Feb 23, 2003: Added kernel 2.4 iptables (untested).
0.9: Feb 23, 2003: Updated pilot-lint syntax for network synchronization. (-p net: instead of -p .)
0.8: Jan 13, 2003: Added Sony Clié support.
0.7: Jan 6, 2003: Switched from HTML 4.01 to XHTML 1.0 (near 200 errors to correct!).
0.6: Dec 15, 2002: Changed OS versions in text.
0.5: Updated pilot-link & j-pilot links.
0.4: Corrected pilot-xfer syntax in restore section.
0.3: Added backup and restore sections.
0.2: The first useable doc.
0.1: Initial version, only title and footer!!

Introduction - configuration & target

This page is intended to help people connecting their Palm Pilot to their Linux box. I explain here the different steps of the setup for my own configuration.
My home network is composed of some Linux boxes, running Suse (versions from 7.1 to 8.1). My Palm is a Vx, with PalmOS 3.5. I also have (new!) a Sony Clié NR70V/E, with PalmOS 4.1. This is a nice toy, and everything written here works fine for it. You simply need a recent kernel (2.4.18 and following work for sure, I don't know for the previous ones).
The target is to connect the Palm to one of my Linux Boxes, using PPP only; this seems better than direct serial link, to open the palm to the world (internet, etc...).

Everything should work with this connection: Sync, applications installation, web browsing, etc...

This document is in beta stage. All this information could not be accurate, and could break you Palm, or your Linux box. Follow the next steps only if you feel comfortable in getting back by yourself in a correct state. If you are crazy enough, and try the following installation, please send me your comments, to improve and correct this page. As I wrote this after making it, I probably forgot some important step that you will notice.
Any help to correct my poor english is also welcome ;-)


This document is available in the following languages:


The craddle should be connected to one of the PC serial or USB ports (ttyS0 and ttyUSB0 for me). To simplify all scripts, it is better to make a symlink in /dev, to give a special device to the Palm. This can be done with:

	% ln -s /dev/ttyS0 /dev/pilot
or, for my Sony Clié:
	% ln -s /dev/ttyUSB0 /dev/pilot

The following packages should be installed prior to next steps:

The kernel should be configured to support:

And for USB users (for instance Clié):

Also, your kernel should support IP firewall chains. Have a look on this documentation, and configure your kernel. This is mandatory if you want your Palm to be able to connect to the "outside" (but if you only plan to access your PC, you do not need to install this kind of kernel). On Suse systems (at least after version 6.2), IPCHAINS are installed by default.

For 2.4 kernel, instead of IP chains, you should enable (WARNING: untested) Network Packet filtering, and, in IP: Netfilter Configuration, you should also enable (I do it as modules):

Linux PPP setup

In my configuration, I create a network for the PPP connection. My PC address will be, and the Palm's will be Simply run (as root) the following command:

	# /usr/sbin/pppd /dev/pilot 115200 noauth silent local persist -detach

Note: On USB link, this command must be ran after you start the sync process on the PDA. As it is not very convenient, see the hotplug section below.

To make it possible for the Palm to see the outside, you will also have to enable the IP masquerading, if your kernel can support it. Just type the following commands:

	# echo 1 > /proc/sys/net/ipv4/ip_forward
	# /sbin/ipchains -A forward -j MASQ -s -d
For 2.4 kernels, run instead (WARNING: untested):
	# echo 1 > /proc/sys/net/ipv4/ip_forward
	# iptables -A POSTROUTING -t nat -j MASQUERADE -o eth0

The IP address is of course the address of your Palm. If you want to synchronize your Palm data, you will also have to run this small daemon:


For Palm/serial, if your kernel is correctly configured, you could add this small script to your /etc/rc.d directory, and make the correct links in /etc/rc.d/rc3.d.

For the USB Sony Clié, I prefer to use the hotplug facility. I simply created this script as /etc/hotplug/usb/visor. You will need to change host name and IP address on the pi-csd line. (Note: You need to enable CONFIG_HOTPLUG in your kernel).
It takes care of pi-csd and pppd daemons (it starts/stops them on demand). Make this script executable, then just start the sync process on both jpilot and your Clié. That's it!!

Palm PPP setup

In preferences/Connection, create a new connection, with the following information:

For Sony Clié, the setup is rather:

In preferences/Network, select the Unix Service, then edit the information as following:

In HotSync menu, edit the following informations (in the Options menu:

Then, on top of the Sync button select Modem, and select Unix as the service to use.

First test

When PPP setup is done on both Linux & Palm, you can try a PPP connection. On the Palm, go to Preferences/Network, and tap the Connect button.

If something goes wrong, it probably means that something is wrong in this document, so please let me know what is missing!!


If the previous step was successful, you can go further, and try to sync your Palm. If you already used your Palm with a Windoze or MacOS box, you should skip next paragraphs, as the userID of your palm should already be set.

To know if the userID is set, run the command:

	install-user -p net:

in an xterm window, and try to sync your Palm. You should see some output ,with at least two lines like:

	Pilot user br
	UserID 1

If the lines are exactly these ones:

	Pilot user 
	UserID 0 

it means that your userID and user userName are not set. If lines contain any information after Pilot user, or an userID different of zero, DO NOT do the following: You will have big trouble with all your licensed software!! If they are exactly like the previous ones, you can set the Palm information this way:

	% install-user -p net: username userID

For instance, I use my linux login as user name, and my linux uid as userID. The command I use is:

	% install-user -p net: `id -u -n` `id -u`

Please sync your Palm after that, to update it. You may check again (with install-user -p net: command) that the userName & userID are correctly set.


Nothing is simpler. Just run jpilot, then click on backup, and sync your Palm.

This will create a ${HOME}/.jpilot/backupMMDDhhmm directory, where the backup will be performed (a ${HOME}/.jpilot/backup symlink just points to the latest backup directory).


Hard reset. This happens sometimes. Here is a description of what to do in that case, assuming you already backuped your palm using jpilot.

First, you will need to setup your palm.

Then, just type the following command (do not use jpilot!):

	% cd ${HOME}/.jpilot/backup
	% pilot-xfer -p net: -r .

Then hotsync your Palm.