Palm

From ArchWiki

This guide is to help Arch users with Palm OS devices. While installation in Arch is easy, it can be confusing for those who are new.

Installing packages

You will need to install one of the various Personal Information Management (PIM) software packages:

  • jpilotAUR – a desktop organizer software for the Palm Pilot
  • kde-pim – a group of several KDE packages

Finding your device

You can sync in two ways, either by using libusb (preferred) or by using ttyUSB*/ttyS*

Checking the Hardware

If you have a USB connection you can test it with:

$ lsusb

Which lists all the devices connected to the ports. If your device is missing it may be one of those Palm Pilots (like the Zire 71) that only 'appears' on the system when it is actually transferring. In this case, press the transfer button on the cradle or "Hotsync" from the Palm Menus, type lsusb again, and you should get a display which resembles this.

$ lsusb
Bus 002 Device 001: ID 0000:0000  
Bus 005 Device 001: ID 0000:0000  
Bus 003 Device 003: ID 055f:0006 Mustek Systems, Inc. ScanExpress 1200 UB
Bus 003 Device 002: ID 04e8:3242 Samsung Electronics Co., Ltd 
Bus 003 Device 001: ID 0000:0000  
Bus 004 Device 001: ID 0000:0000  
Bus 001 Device 005: ID 0830:0060 Palm, Inc. Palm Tungsten T / Zire 71
Bus 001 Device 004: ID 06d6:0025 Aashima Technology B.V. 
Bus 001 Device 001: ID 0000:0000  

Then cancel the Hotsync on the Palm.

If you have a Serial Zire, it should be possible to test it by putting the Palm into hotsync and typing

cat </dev/ttyS0

which should display reams of gobbledegook.

To test the network link is difficult ; the simplest way is to see if your Palm is talking to the same Wifi system as your computer.

tty* based sync

Note: Do not have jpilot or other client open at this stage. Now, plug your device into the cradle, then into your computer (i.e. Palm T3), or straight USB cable (i.e. Tungsten E, TX) and attempt to hotsync.

Run dmesg, the last few lines will refer to your palm. For those who are familiar with Arch, you know what to look for. Others, look for any text followed by numbers, such as sr0, sg0. Just take a note of this, you may or may not need it. Mine lists as:

usb 3-2: Handspring Visor / Palm OS converter now attached to ttyUSB0
usb 3-2: Handspring Visor / Palm OS converter now attached to ttyUSB1

/dev/ should contain an item there called 'palm', or 'pilot'. Again, take note of which is listed. Mine is 'pilot'. Note: This will only show up when hotsyncing. If it times out, retry.

libusb based sync

By default J-Pilot uses the usb: pseudo device, do not change it.

This setting makes use of the /dev/bus/usb/ file system. If your user is in the group owning files in this file system that's the only configuration you will need. (In mine is vboxusers but it's very unlikely it's the default...)

Just press Sync button in J-Pilot and then hotsync in your Palm.

Works every time with the most troublesome Palm: T|X.

Setting up the software

Open up JPilot (or other software), either from the 'Office' menu (for Gnome) or by typing:

jpilot
kpilot

in the terminal.

Open the settings menu. On JPilot, this is File > Preferences > Settings. On KPilot or Kontact it is Settings > Configure KPilot > Device.

The Device setting should be /dev/palm or /dev/pilot, as noted above.

Next, on JPilot go to File > Install User and type the username on your palm. In KPilot simply set the Pilot User setting in the Device area.

Now, first start a hotsync on your palm, then click the hotsync button in JPilot or KPilot. If all goes well, it will connect and start synchronizing. This will be quick, as it just does contacts, addresses, etc. The standards. There are no special conduits in the standard Jpilot, such as Documents-To-Go, so either find those on the Internet (if they exist) or make them yourself.

Next, do the same thing, but click the button below, for backup. On first run, this will take a long time, but well worth while.

That's it! You have successfully setup your palm device on Arch Linux.

Hotsync over Bluetooth

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: dund is no longer available[1] (Discuss in Talk:Palm)

Palm devices come with built-in networking capabilities, as well as Bluetooth. If you also own a laptop, or have a USB Bluetooth adaptor, syncing over bluetooth, while being noticeably slower, is probably more convenient than keeping your sync cable handy.

First, of course, you have to have bluetooth set up. Bluetooth provides the arch-specific guide to that, its currently quite short, but I had no problems following it. Of course, there is also the forums to ask for help.

Next, there is the actual setup for syncing. Basically, this involves setting up a small LAN over Bluetooth connection. I did this following the guide in [2], the author of which followed the guide in [3]. Anyway, on to the real information.

First we would need to pair the Palm and your PC. If you are using Bluez, then use blueman-manager to search for your Palm (make sure bluetooth is turned on and not hidden), then pair them (the button is labeled 'bond', for some reason or other). You would need to type in a verification pass-key. Alternatively, from the palm, search for your PC's bluetooth and set it as a trusted device.

Next, on your Palm, go to Preferences->Connection and create a new connection, name it "Laptop Bluetooth" or whatever you like, set it to connect to a PC via Bluetooth, and select your PC from the list below. Next, you have to actually setup the network, going through Prefences->Network, create a new network, naming it again anything you want (I use "Linux"), select the connection you just created, and leave the user name and password blank (you could put something here, you would need to change the following steps accordingly though).

To set up your PC, first create the file /etc/ppp/peers/dun, with these contents:-

115200
10.0.1.8:10.0.1.40
local
ms-dns <enter your dns server address here>
noauth
debug

As root, edit the file /etc/ppp/pap-secrets, adding this line:-

mylogin * mypassword *

In a terminal, run dund as root (prefix with sudo if you are not logged in as root). You would need to make sure the bluetooth daemon is already started at this point.

dund --nodetach --listen --persist --msdun call dun

Click the 'Connect' button under Preferences->Networking for your Palm. In the terminal, some text should start scrolling, indicating a new connection, channels being used, and the sending and receiving of various packets. At this point, your connectivity is working fine.

For the Hotsync specific setup, navigate to 'Hotsync' on your palm, select 'Modem' instead of local. Go to the menu, and change the following preferences:-

Modem Sync Preferences -> set Network instead of Direct to modem
LANSync Preferences -> set LANSync instead of Local HotSync
Primary PC Setup -> Set the Primary PC Name and Address to 10.0.1.8, according to the settings previously in /etc/ppp/peers/dun
Connection Setup -> select the connection you previously created (Laptop Bluetooth, for example)

Under the Hotsync button, if the name you previously assigned to your network does not show ("Linux" in this example), select that area and it should automatically show "Linux". You are now ready to HotSync. Make sure dund is running, run your preferred sync-ing program using the interface net:any (I use JPilot, under File->Preferences->Settings->Serial Port I select 'other' and specify 'net:any'), and then click on the HotSync icon on your Palm. Enjoy wireless sync-ing.

Palm T|X

In addition to usb and bluetooth, the Palm T|X model includes ethernet connectivity. To sync the device using a direct ethernet connection using jpilot simply set the serial device to net:any in the Preferences dialog and then hotsync. On the Palm, you will need to select the name/ip address of the machine where jpilot is running and then start the hotsync. Enjoy high speed wireless hotsynching.

Palm Centro

The visor module does not currently work with the Palm Centro. It is not needed, as newer software accesses the Centro through libusb. To make the Palm work under Arch, blacklist the visor module. You may have to reboot for this change to take effect.

When udev creates a device node for the Centro, it by default assigns it owner and group to root. You need to create a non-root group for udev to use for this device and make sure you are a member:

groupadd palm
usermod -a -G palm <your_username>

You will need to logout and re-login for the new group assignment to take effect. After you do, you should see palm in the list of groups when you run the groups command.

You now need to tell udev how to assign the Centro to the group palm when it is attached. Create a file called /etc/udev/rules.d/55-palm-centro.rules

ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", \
ATTR{idVendor}=="0830", ATTR{idProduct}=="0061", \
NAME="bus/usb/$env{BUSNUM}/$env{DEVNUM}", MODE="0664", GROUP="palm"

Now plug in the device. Verify that a device has been added which has group palm:

find /dev -group palm

The device name does not really matter, as libusb will find it when needed.

To sync the device, if using jpilot, simply specify usb: as the serial port in preferences.

Troubleshooting

If you get a message such as stating that you do not have proper permissions, you probably need to add your user to a group with the proper permissions. This may be 'usb' or 'uucp'.

gpasswd -a username usb

or

gpasswd -a username uucp

Also, your software may have difficulty finding the device.

ls -l /dev/pilot

or

ls -l /dev/palm

may help you to discover a different name for the device. Output may look like this:

lrwxrwxrwx 1 root root 8 2002-01-03 16:13 /dev/pilot -> tts/USB1

Now change the Device setting (as above) to /dev/tts/USB1 or /dev/tts/USB0.