The Tungsten E and Linux

There are a few things you have to remember when trying to keep your pilot synchronised with your Linux workstation. Most of these caveats are due to general Gnome 2.2 shittiness. My opinion that many open source programmers should rather go back to school has just been enforced by this opinion. :)

Testing kernel setup with pilot-xfer

Make sure your kernel has full support for usb and that you’ve built usbserial and visor modules as well. Make sure the visor module is installed. Connect your visor with the supplied mini-usb cable, switch it on and tap the sync thingy (that little star in the corner). Now type the following:

pilot-xfer -p usb:/dev/ttyUSB1 --list

You should see a list of all the databases on your palm. If you’ve gotten this far, you’ve done well! Make sure you have the latest pilot-link package.

Backing up with pilot-xfer
If you now try a backup with:

pilot-xfer -p usb:/dev/ttyUSB1 -s /home/yourname/your/backupdir/

You’ll see your USB stack crash reproducibly when synching ImgFile-Foto or Jpeg-Foto. It will do this with uhci and usb-uhci. This is frustrating.

To get around this, create a file called something like “excludeList” and add the following lines:

ImgFile-Foto
Jpeg-Foto

Now try your backup with:

pilot-xfer -p usb:/dev/ttyUSB1 -e /path/to/excludeList -s /home/yourname/your/backupdir/

Evolution and gnome-pilot
Now that we have a backup going, step 2 is synching with evolution via gnome-pilot. What a stinking piece of software. Note that, if you don’t have /proc/bus/usb mounted, gpilotd will crash inexplicably (and without any kind of meanigful hint as to why) every time you try to configure it to use /dev/ttyUSB1 as a usb port. Go GNOME! Idiots. Moral of the story: make sure your /proc/bus/usb/ is mounted.

Configure your gpilotd (via the capplet) to use /dev/ttyUSB1 (or whatever the devfs equivalent is) and make sure that the type is set to “USB”. Synching should now work in evolution, unless you’ve been so stupid as to expect the backup conduit to work! Those databases that we’ve excluded above are screwing us over again…

Now it seems that gpilotd can be configured to exclude certain databases as well, but this option is nowhere to be found in the GUI. Probably part of Gnome’s policy of making the best GUI for stupid idiots, i.e. so simple as to be useless. If you go scratching in $HOME/.gnome2/gnome-pilot.d/backup-conduit, you’ll notice an “exclude_files” option. Mostly due to the glaring lack of documentation, I was unable to modify this option and get gpilotd to heed my changes. “ImgFile-Foto,Jpeg-Foto” for instance does not work.

So, bye-bye backup conduit. I never liked you anyway.

The End
Currently I sync my Calendar, Tasks and Contacts with evolution. For backups, I use my own leet Palm rotating backup Python script. Feel free to abuse it!

10 thoughts on “The Tungsten E and Linux”

  1. This post came in incredibly handy for me. I was getting ready to blame my USB chipset!

    By the way, if you feel like using the backup conduit, I went digging through the source code and figured out how to write a proper exclude_file line.

    the exclude_file directive is read by a call to the libgnome function gnome_config_get_vector(), which calls gnome_config_make_vector() to actually parse the directive. The comments for that function say:
    /**
    * gnome_config_make_vector:
    * @string: The stringified vector to decode into ‘argcp’ and ‘argvp’
    * @argcp: Returns the number of elements in @string.
    * @argvp: Returns the array of strings found in @string.
    *
    * Creates a new vector from a string as it stored in the config file,
    * breaks the string on spaces except if the space is escaped with a
    * backslash.
    *
    */

    So a proper exclude_file line is:
    exclude_file=ImgFile-Foto Jpeg-Foto

    Who says there’s no documentation? ;-)

    –D

  2. Thank you very much!

    Just as I was about to give up and just get rid of th Palm Photo App off my Tungsten E, I remembered reading something about this and Googled for it.

    Imagine my pleasure at the serendipitous discovery that the conundrum had beeen answered…

    Thanks to Dennis and Charl both…

  3. It’s detailed in the main posting, Marco. There’s a configuration file “$HOME/.gnome2/gnome-pilot.d/backup-conduit”

    In this file, there’s an “exclude_file” setting. This should be: “exclude_file=ImgFile-Foto Jpeg-Foto”

  4. Thanks SO MUCH for this info, you saved me a lot of hair pulling. Once I got pilot-xfer working correctly I couldn’t get jpilot working untill I noticed that the configure script wasn’t seeing the new libraries and had to point it in the right direction. My only problem now is that I can’t find any documentation on an exclude list for jpilot. I don’t know if any of you have used it before but any help would be good help.

    Thanks, Tim

  5. One note, if you have any records with spaces in them, you will need to escape them with double backslashes like this:

    exclude_files=ImgFile-Foto Jpeg-Foto J9\\ Java\\ VM J9\\ MIDP\\ Bundle

    I had installed the Java MIDP from PalmOne and needed the above exclude list.

  6. After weeks of fears that I would some day have to reset my Tungsten E without any available backup of my data, I land upon this piece of info. This post has been really helpful and I can now once again start using my palm without worry.

  7. Thanks! I was going nuts trying to get it to exclude the Java files with embedded spaces! Geez, what a stupid convention — other gnome configs seem to use “;” to separate items, so it or “,” would have been natural choices. I had tried single “\” but that didn’t work. .

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.