- Neon's Glow – The Blog of John DeArmond - https://www.johndearmond.com -

The Linux Chronicles – Day 3b – the Palm Saga

I rely heavily on my Handspring Visor because my memory is about as good as Bill Clinton’s morals – nonexistent.  Therefore getting my Palm desktop back up and running was a major priority.  As with the rest of the system, I give priority to native Linux applications before I start looking at WINEing winders apps.  That philosophy cost me about 8 hours.

Though it is apparently quite popular, I have never used Outlook, being quite happy with the stock Palm PIM desktop that came with my Visor and Palm devices.  Not knowing that Evolution is an Outlook clone, not realizing what Outlook did and really crappy documentation conspired to waste a work day.

First let’s look at how the Palm system works.  In windoze you don’t have to know this because the installer sets everything up nicely and you never worry about it – until it breaks.  Then, because you were unfamiliar with how it works, it is very difficult to repair a Palm installation.  Most folks just re-install from scratch from the distribution disc.

In Ubuntu, you DO have to know a little about how the system works.  In return, you have that knowledge that comes in handy when you have to fix something or change how things work.

The essence of the palm system is the HotSync, implemented in the HotSync Manager.  This is a daemon (a daemon is a program not attached to a screen) that sits there waiting on a HotSync command from the Palm.  When that happens, the Manager looks at Palm DataBase files (.pdb) for each application (calendar, phone book, etc) and determines the differences.  It synchronizes the two databases to be alike by moving new information in whichever direction it needs to go and deleting information that has been deleted on one end or the other.  When changes conflict – say, you update a phone record on your palm while your secretary is deleting that same record, the HotSync Manager asks what to do.

Physically, the .pdb files sit in special places on both the handheld and the computer.  When you make a change in the desktop or in Outlook, it simply changes the appropriate .pdb file.  That’s all.  Same thing happens on the handheld.  The HotSync Manager takes care of moving the data back and forth.

Within the manager are virtual connections called “conduits”.  There is a conduit for the phone book and another for the calendar and another for the memo pad.  In fact, every application that runs on the handheld and needs to move data back and forth between a PC application has to install a conduit within the HotSync Manager.  Think of a conduit as a pipe that lets data flow back and forth.  A very smart pipe.

There are actually three programs on the PC.  The user interface (Palm desktop or Outlook, etc), the HotSync Manager (HSM) and the Alarm manager.  The Alarm Manager (AM)does what it says, watches the calendar and generates those little windows that alert you to an appointment.

You don’t normally see the HSM or the AM because they get installed as part of the Palm Desktop installation and because they run in the background.  Since they came from one company, they’re tightly integrated.  It doesn’t necessarily have to be that way and in Ubuntu it isn’t.

Ubuntu comes with a HotSync Manager called GNOME-palm (badly misnamed).  It plops files from the handheld in a special place, keeps the files in sync with the handheld and that’s all.  It is up to the users to supply the User Interface/PIM application.

The above paragraph, had it been stated somewhere that I could have read, would have saved hours and hours of work.  Under system->Preferences on the desktop I see an entry named PalmOS devices.  I kept looking under that tab for the familiar Palm Desktop to no avail.  All I found was a setup screen for a HSM, though it isn’t called that and for awhile I didn’t realize that it WAS an HSM.  So I went out on the web.  I found this [1] which is the HSM, though it hadn’t dawned on me yet.  Remember windows-think: Applications are integrated and from one publisher.

i searched some more and found JPilot [2].  It is available using the Synaptic Package Manager (system->administration->synaptics package manager) so I downloaded and installed it.  It looks a lot like the winders Palm desktop, though the graphics are crude.  It fired off a hotsync (after much work, discussed later) but no data appeared.  The problem turned out to be that it is designed to work with a different hotsync manager than gnome-pilot.  Arggghhhhh.

Here’s an important concept.  Gnome desktop runs on top of X which runs on top of Linux.  programs that have a GUI don’t necessarily have to use Gnome.  They can use an alternative desktop or they can be native X applications.  Jpilot is a native X application and knew nothing of Gnome Desktop or its facilities.

Now I could have hacked the config file for this app and made it work but remember, I’m doing this upgrade to Linux as a user and not a guru.  So I de-installed Jpilot.

I took a break to check email in Evolution and noticed the “Contacts” button again.  “Hmmm” I says.  I clicked it, expecting to see my nicely imported Agent email address list and….

An utter mess.  All the phone book info from my palm was there munged in with my email addresses.  When the names were the same, apparently Gnome-Palm (or Evolution, who knows) thought that it would be cute to throw away the pre-existing data.  Arrrrrrghhhh.

But the light went on.  Evolution is the PIM for Gnome.  Damn.  OK, delete that mess and start over.  I created two contact databases in Evolution, one named “Palm” and the other named “Email”.  Maybe one day I’ll merge then but not now.  Besides, I like to keep my real world and my net life separate.

OK, import agent.csv into the “Email” box and then go look at the Gnome-Palm HSM to see how to sync with the Palm database.  Found it.  Set the HSM to do an initial action of “copy data from Palm”, ran the hotsync and things were as I wanted them – emails in the “Email” contact list database and Palm stuff in the “Palm” one.  Only 8 hours after I started.

The Gnome-Palm HSM

This crufty little fellow deserves a whole post but I’m going to include him here.  I’m getting tired :-(

You access it via System->Preferences->PalmOS Devices.  Click on that and a little screen like this pops up

Except that the entry for MyPDA won’t be there. Do NOT click “ADD” (the logical thing to do) unless you want to be highly confused.  Click the “DEVICES” tab and see this

Except that again you won’t see a Cradle USB entry.  That’s what you want, however, so now click “ADD” and see this

Here we have a true Guru moment.  If you’re like 99% of the Palm  users, you use a USB interface to your computer so click the USB box.  The timeout defaults to 2 seconds.  Set that up a bit to 15 seconds.  The “Device” is the tricky one.  If you click on the drop down tab you’ll see something like this:

WTF?, right? Well, after hours of experimenting, googling the web, getting conflicting advice and finally tracing part of my problem to trying to connect via a hub (didn’t work), I found that “usb:” is the correct device.  It is a virtuilized version of the next two, depending on where the USB cable is plugged. If you’re using a serial cradle or cable then /dev/pilot is the correct option.

Leave the “Speed” alone.  Click OK and you’re done there.

NOW you can click the PDA tab and “ADD”.  You’ll see this:

“Owner” will be whatever name you entered when you installed Ubuntu.  Later the name you use on your PDA will show up here.  Before doing anything else, connect your cradle to a USB port (no hub!) and put the PDA in it.  Go to the HotSync screen, select “usb/serial” for the interface and hit the HotSync button.  THEN click on the “Get from PDA” button.

If everything goes well, the stars are properly aligned and you hold your mouth just right, your PDA and computer will chat and your PDA’s name and a unique “PDA_ID” will show up.  If things don’t go well, check your connection and make sure you’re not plugged into a hub.

Down under “PDA Attributes, you can change the name if you like but leave the “local folder” alone.  Click OK and you’re mostly there.  Now we have to set up the Conduits.

Click the “Conduits” tab and see something like this:

Except that everything will be disabled.  Select, say, Eaddress and click Enable.  You’ll see this screen

This screen shows the selections that you’ll want to make.  Select synchronize and because you’ve never synced with this machine before, choose the “one time action” of  “Copy from PDA”.  This is vitally important.  If you don’t select a one-time option or select wrong, all the data on your PDA will probably be wiped out.

Under “Conduit Settings”, is a very important selection.  The “Sync With” selection chooses which contacts database the data is synced with in Evolution!” Remember up above when I created a “Palm” database in Evolution?  Here’s where it gets selected for filling.  Make sure you have the data aimed where you want it to go.  If most of your contacts are business, then change the address to “Business”.  Be sure and check the Sync Private Records (assuming you want that) because the box is un-checked by default  Click OK.  Repeat this for every conduit that you want to synchronize with Evolution.  Click Close.

I strongly recommend selecting the “Backup” option too.  When that is selected, every file on the Palm that has the “backup” attribute set will be copied over to your PC as a backup.  Years ago I went through my Palm and set the “Backup” attribute on every important file.  that has saved my cookies many times.

If everything runs like it should (mine didn’t), you should see a little HSM globe in your launcher panel

If you DO see that little icon then try a hotsync.  It should fire right off.  If you do NOT see the globe, put your cursor on the panel, right click and choose “add to panel”.  When the screen appears, type “Palm” in the search window”.  You’ll see the “Palm Applet”.  Click on it once to highlight, then click “ADD” and you should see it appear.  I recommend hovering over the globe, right clicking and choosing “Lock to Panel”.

Well, there you have it, what took me about 8 hours to figure out.  Hopefully you won’t have all the problems I had because of this post.  Meanwhile I’m going to try Evolution for awhile.  I don’t much like it now but maybe it will grow on me.  If not then I can probably get the Palm Desktop and HSM to run under WINE.

John