Palm Treo 650 and 680 Linux Connectivity

Last revised $Date: 2009/07/07 03:37:18 $ - $Revision: 1.31 $


This great Palm devices come with a pretty complete, mature and excellent soft ware package. Also remember the 312 MHz, 23 MB RAM and 2 GB SD-storage of your Treo 650 is what you had 12 years ago on a desktop PC. The big issue is the Linux connectivity which became worse an worse over the time as Linux distribution getting more and more complicated. As matter of fact I did not find one instruction in the Internet on how to connect it to Linux via a cradle. Here is How!

How to Connect Your Treo to Linux

Load Kernel Modules

I am using kernel version:
cat /proc/version 
Linux version ...

Visor and usbserial are responsible for the connection of the Treo and other Palm devices via the usb-serial interface:
modprobe usbserial
modprobe visor

Verify this with
lsmod | grep usbserial
usbserial              47592  1 visor
usbcore               127568  5 visor,usbserial,usbhid,ehci_hcd,uhci_hcd

  • Plug in the USB cable to the Palm device and the Linux box
  • Press the Hotsync button on the cradle

With dmesg you wll see the following messages
Mar  6 21:10:10 kalahari kernel: usb 4-1: new device strings: Mfr=1, Product=2, SerialNumber=5
Mar  6 21:10:10 kalahari kernel: usb 4-1: Product: Palm Handheld
Mar  6 21:10:10 kalahari kernel: usb 4-1: Manufacturer: PalmOne, Inc.
Mar  6 21:10:10 kalahari kernel: usb 4-1: SerialNumber: PalmSN12345678
Mar  6 21:10:10 kalahari kernel: usb 4-1: configuration #1 chosen from 1 choice
Mar  6 21:10:10 kalahari kernel: visor 4-1:1.0: Handspring Visor / Palm OS converter detected
Mar  6 21:10:10 kalahari kernel: usb 4-1: Handspring Visor / Palm OS converter now attached to ttyUSB0
Mar  6 21:10:10 kalahari kernel: usb 4-1: Handspring Visor / Palm OS converter now attached to ttyUSB1

The devices are not created this is just a dummy message.

Setup devices

Times when you created devices with mknod are long gone. Today we use udev file system to create devices for hotplugging on the fly.
The rules for creating devices are stored under /etc/udev/rules.d I uncomment ttyUSB rules in '''50-udev-default.rules''' and created '''42-treo-ahaack.rules'''
 KERNEL=="ttyUSB0", SUBSYSTEM=="tty", ATTR{dev}=="188:0", NAME="ttyUSB0"
 KERNEL=="ttyUSB1", SUBSYSTEM=="tty", ATTR{dev}=="188:1", NAME="ttyUSB1"

udevinfo -a -p /sys/class/tty/ttyUSB1
 looking at device '/devices/pci0000:00/0000:00:1d.3/usb5/5-1/5-1:1.0/ttyUSB1/ttyUSB1':

Connection to the Treo and Troubleshooting

Aways press teh hotsync button on your cradle FIRST before issuing a pilot link command. It will say "connected" on your host where you issued the pilot-link command and play a chime on the Palm device. Not pressing the hotsync botton FIRST the command will just stuck.
Now lets test connect to our Treo.
I'm user pilot kit version:
 pilot-xfer  --version
 pilot-link version 0.12.1

1) pilot-xfer -p usb: -l Unable to bind to port: /dev/ttyUSB0
In this case we have not set up devices properly, We need to fix the udev setup
2) pilot-xfer -p usb: -l Listening for incoming connection on /dev/ttyUSB1
Good - it accepts the port - but this still hangs. But this is still serial line and although speed setting do no matter on USB serial flow control does.
3) So I went to the Treo 650
This apparently worked out:
pilot-xfer -p usb: -l
Listening for incoming connection on /dev/ttyUSB1 

   Listening for incoming connection on /dev/ttyUSB1... connected!

   Reading list of databases in RAM...
   Blazer Bookmarks
   Unsaved Preferences
   Net Prefs
   System Ring Tones
   MIDI Ring Tones
   System MIDI Sounds
   Saved Preferences

   List complete. 90 files found.

   Thank you for using pilot-link.

Accessing the Treo As Regular User

 KERNEL=="ttyUSB1", SUBSYSTEM=="tty", ATTR{dev}=="188:1", MODE="660", GROUP="uucp", NAME="ttyUSB1"

MODE sets the permissions and GROUP the group so a regular user can access the device if added to the group.

#usermod -G uucp mruser

#grep uucp /etc/group
Yes we are there!

Palm Linux Conectivity

J-Pilot a Counterpart to your PalmPilot

J-Pilot is you counterpart to the Palm device and can sync nicely

J-Pilot 0.99.9

Is the counterpart to your PalmPilot and since it implements all the standard organizer function as well as full synchronization of these four databases. You therefore need to set the hotsync name and id as well. After some serious build trouble it is working.
Version: 0.99.9
Licence: GNU
Rating: (5)

J-Pilot can:
Location of databases:
To synchronize J-Pilot with your Palm device do:

List Files On the Palm

pilot-xfer -p usb: -l
Listening for incoming connection on /dev/ttyUSB1 

   Listening for incoming connection on /dev/ttyUSB1... connected!

   Reading list of databases in RAM...
List done.

Backup and Restore

Backup is performed by plainly copying of all files in a PalmPilot to a directory
pilot-xfer -p usb: -b xxx

   Listening for incoming connection on /dev/ttyUSB1... connected!

   Creating directory 'xxx'...
   [+][1   ][BLZ5] Backing up 'Blazer Bookmarks', 514 bytes, 0 KiB... 
   [+][2   ][GSM!] Backing up 'CurrentCarrier', 164 bytes, 0 KiB... 
   [+][3   ][CCLb] Backing up 'CarrierProfiles2', 35347 bytes, 35 KiB... 
   [+][4   ][HsDH] Backing up 'DefaultHelperDB', 144 bytes, 35 KiB... 
   [+][5   ][PAdd] Backing up 'ContactsDB-PAdd', 25007 bytes, 59 KiB...
   [+][77  ][addr] Backing up 'AddressTitlesDB', 80 bytes, 568 KiB... 

   RAM backup complete. 77 files backed up, 0 skipped, 0 files failed.

   Thank you for using pilot-link.

To restore
pilot-xfer -p usb: -r xxxx

Install Files and Programs

Install any file or program on the PalmPilot is easy and simple - you just copy files thats it!
   pilot-xfer -p /dev/ttyUSB1 -i bigclock.prc 
   Listening for incoming connection on /dev/ttyUSB1... connected!
   Installing 'bigclock.prc' ... (64330 bytes)   63 KiB total.
   Thank you for using pilot-link.

Everything on a Palm Treo is stored on these files. Even all telephone releated data like call-lists, SMS ...
Therefore you can move all you data to a new Palm Treo device by backup and restore, including call lists.

Retrieving Files

Retrieving File from the Palm.
        pilot-xfer -f 'JollyRogerDB'
        Waiting for connection on /dev/pilot (press the HotSync button now)...
        Fetching 'JollyRogerDB.pdb'... OK
        Fetch done.

Check Or Set Users Hotsync Id

The hotsync id is often used for registration key by applications.
To check it do
   pilot-install-user -p /dev/ttyUSB1 
   Listening for incoming connection on /dev/ttyUSB1... connected!
   Palm user: 
   UserID:    0

This is a virgin treo with no hot sync id set.

To set it do:
pilot-install-user -p /dev/ttyUSB1 -u tux -i 4711

   Listening for incoming connection on /dev/ttyUSB1... connected!

   Installed User Name: tux
   Installed User ID: 4711

Inspecting Database Files

   pilot-xfer -p usb:  --delete  bigclock.prc 

   Listening for incoming connection on /dev/ttyUSB1... connected!

   Deleting 'bigclock.prc'... Failed, unable to delete database
   Delete complete.

   Thank you for using pilot-link.

Apparently the this does not work well!!!

Palm Treo 650 Tasks

How To Perform A Soft Reset On Your Palm Treo 650

A soft reset restarts your Treo 650. No data suppose to be lost with from executing a soft reset. A soft reset can be performed by simply removing the back cover and letting the battery lose contact for a moment. If this fails to reset your Treo 650, you can poke a paper clip into the reset hole found under the battery.

How To Backup Your SMS

The SMS are stored on your Palm Treo in the "Messages Database.pdb"
you can get it by making a full backup of copiing the file:
pilot-xfer -p usb:  -f "Messages Database"

ls -l  Messages\ Database.pdb 
-rw-r--r-- 1 ahaack users 69K May 29 20:47 Messages Database.pdb

Currenly I have no way of viewing it on Linux

Disk structure on the SD-Memory

img/dir.png The camera and the build in media image viewer well use the standard dcim image directory for storing and viewing. You can create directories beneath dcim and put photos in there. These are scanned and can be selected from the menu as albums. Your favorite mp3 go under rn_audio. This is a flat directory.

Palm Treo 650 Applications

Now a days Palm devices come with a pretty complete and excellent soft ware package. So there is little need to add new. Some of the old and free applications are still very useful. However most have not been updated the last decade ;-). Remember the 312 MHz, 23 MB RAM and 2 GB SD-storage of your Treo 650 is what you had 12 years ago on a desktop PC.


Document viewing with build in Blazer Web Browser

I is not any more acceptable that one has to convert documents to an proprietary format in order to carry them around. Just copy you Web documents tree on the SD-card and use Blazer to view them. You use the standard file url file://tux/doc.hmtl to browse it were tux is a directory at the root of the card.
Version: 0.9
Licence: Build In
Rating: (5)
Requires: n/a


Documents To Go

YOu can write reports and Spread sheets on your palm and store it on the SD-card in Interanl Document to Go Format (fast) or MS-Foramt (Compatible). You also can read PDF-foramted documents.
Version: 8.002
Licence: Build In
Rating: (5)
Requires: n/a

The challange is the installation:

Swiss Train Schedule Palm Application

HAFAS Palm software lets you consult train schedules directly on your Palm PDA.
Version: HAFAS Palm 3.1.4
Licence: Build In
Rating: (5)
Requires: n/a
Install: You can create a personal timetable by :

Datebook 6

Adding a cool weekly and biweekly view, a powerful list and day view which combines calendar and Todo items and finally the year and month view. Has floating and 'done' events, user icons and handles timezones.
Version: 6.0a
Licence: Shareware, 24.95 USD (45 days trail)
Rating: (5)
Requires: n/a

Installing Timezones and Icons
To install timezones and and icons unpack the archive and do the following for each of the files timezone.txt and Bitmapsd.txt:
alternative installation:


Abacus Spreadsheet

A almost full featured spreadsheet application including functions, which is handy to use. Past and copy not implemented.
Version: 0.9
License: Public Domain ?
Rating: (4)
Requires: Mathlib



Your top-secret passwords and keys you always better keep exclusively in your head. But for the rest of your ever increasing number of passwords, pins, serial numbers you can use this utility. You always have to clear your password manually, even when switch off or leave the application. Otherwise everybody has access to it. It used the Tiny Encryption Algorithm using a 128 bit key. Later version then 1.1 of the top secret fix this and other things but are shareware.
Version: 2.0.6
License: 1.1 is Freeware later version are shareware
Rating: (4)
Requires: PalmOs 2.0 or later


Pssh and TuSSH

Ever logged onto a Unix host from you telephone to do some emergency work. Its really possible with one of these shells. Both are working ssh 2 clients. While TuSSH has public key authentication it is rather unstable and causes crashes. Pssh has more eye candy like a mini keyborad with all the Unix special characters one need to work with. It has the more readable font too.
Version: Pssh 2005-06-23
License: Freeware
Rating: (4)
Requires: n/a


CityZen Digital Map

It is still great application. However this has never been updated, so is still monochrome. An things like panning do not work with the touch screen. You have to set up keys for that. The 300 MHz processor of the Treo 650 really makes a difference compared to the 20 MHz of the Palm V. It draws a map with the outline of borders and land, labels the 194 countries, 2861 cities, 62 lakes and oceans, 229 islands and draws a topographical grid. It can graphically zoom, pan, measure and label cities. You can find countries, cities, by name. It also is a great pastime to use the quiz mode witch allows you to configure to guess countries, cities, lakes, oceans, capitals, islands and also limit you game to a certain continent.
Version: 1.1 beta
License: Freeware
Rating: (3)
Requires: n/a

Treo 650 Specification and Gadgets


Network GSM 850 / GSM 900 / GSM 1800 / GSM 1900
Ringtones Polyphonic, MP3
Dimensions 113 x 59 x 23 mm
Weight 178 g
Display TFT touchscreen, 65K colors, 320 x 320 pixels
Keyboard Backlit QWERTY thumb keyboard, Five-way navigation rocker pad
Vibration Yes
Card slot SD/SDIO/MMC
Internal Memory 23 MB built-in user available memory
Processor Intel PXA270 312 MHz
GPRS Class 10 (4+1/3+2 slots), 32 - 48 kbps
3G No
Bluetooth Yes
Infrared port Yes
USB Yes, USB HotSynch (cable included)
OS Palm OS v5.4
Messaging SMS, MMS, Email
Camera VGA, 640x480 pixels, video excelent a
Battery Removable, incredible 1800 mAh rechargeable Li-Ion battery
Stand-by Up to 300 h
Talk time Up to 6 h
Audio jack 2.5 mm headset jack supports stereo audio

Stereo Adapter

Palm Treo 650 Stereo Headphone Adapter
- Enjoy your favorite music in full stereo sound with this adapter and your own stereo headphones.
- Works with standard 3.5mm headphones
- Perfect for listening to your favorite MP3s
I use SportaPro from Koss the most amazing delivers high quality sound I ever heard
on a mobile head phone. Dynamic elements deliver deep bass and a wide frequency response from 15-25,000 Hz.
Rating: (5)
Requires: n/a

Short Battery Life Of Your Palm Treo 680

Palm has identified that the Treo 680 device can experience reduced battery life when the camera is used. The camera may continue to draw power from the battery when the device is in standby mode. A Treo 680 Camera Update is now available to address this.
-- Check if your Treo is affected -- Download and install the Fix

The page is provided 'as is' , without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fit- ness for a particular purpose and non-infringement. In no event shall Andreas Haack be liable for any claim, damages or other liability. Any links on this page are not under my control and I take no responsebility for the contents of these pages This page is copyrighted property of Andreas Haack. Copyright by Andreas Haack (c) 1999-2007. No part of this page may be published without written permission for Andreas Haack. A hyper-link may created to this page but NOT to the embedded elements of this page. No part of this page may be published without permission written on paper and signed iby Andreas Haack.