The computer to which I had been synchronizing my Palm Tungsten E died a while ago. I explored the two options for connecting to my Ubuntu system using a USB cable. The fastest is to use a direct USB connection. However, I wanted to ensure I could synchronize over a network connection. I also configured and tested setting up a PPP connection over USB. The configurations were tested with both JPilot
and Gnome-Pilot
. These have different capabilities and use different tools to access the data. The installations were done on Ubuntu Lucid.
Direct USB Connection
The default installation includes the required libusb package. Access to the ttyUSB1
device requires that the user be added to the dialout
group. This can be done with the useradd command. sudo useradd user dialout
. Configure your chosen tool to use the usb:
device. For JPilot, this is done from the preferences menu (crtl-s) . For Gnome-Pilot, this is done in the PalmOS Devices item in the System Preferences menu. Setup your preferences and prepare to synchronize your palm. Synchronize your Palm as you would for the Windows Desktop software:
- Select
HotSync
; - Select
Local
; - Select
Cradle/Cable
; and - Select the
HotSync
icon.
Network Connection over PPP
Using a network connection over PPP enables you to also use various tools which connect using the TCP/IP stack without a conduit. IT should also allow you to synchronize with a remote desktop. This configuration allows any user to run the server software. Configure a udev
rules file. I created /etc/udev/rules.d/82-palm.rules
. The first rule ensures that the visor
driver is installed, as it is blacklisted. You can omit this rule if you ensure that the visor
driver is always loaded, or is not blacklisted. The idVendor
value may be different for your device. If you connect a variety of devices from the same vendor add an additional attribute. The second rule runs pppd
whenever the link comes up.
# If no driver has claimed the interface yet, load visor ignoring blacklist ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", \ ATTRS{idVendor}=="0830", DRIVER=="", \ RUN+="/sbin/modprobe visor" # Startup PPP on connection; allow for multiple ttyUSB devices KERNEL=="ttyUSB[13579]"\ ATTRS{product}=="Palm Handheld*|Handspring *|palmOne Handheld", \ RUN+="/usr/sbin/pppd /dev/%k call palm"
Create /etc/ppp/peers/palm
with the following contents. This file contains the pppd
options to connect properly to the palm. Provide your DNS servers in place of the ones I have used for the ms-dns
parameters. The configuration I am using provides no authorization.
115200 # IP for Palm (Works around byte reversal on some devices) :192.168.168.192 ms-dns 192.0.2.2 ms-dns 192.0.2.3 silent persist local noauth noccp
Setup your Palm Pilot for PPP.
Setting your Palm up for PPP is relatively simple but involves a number of screens. Alternatives and options are in italics. Define the PPP connection. This can be used by multiple applications. From the Preferences application select Network.
- Preferences Network (Screen 1) defines the connection
- Service:
Unix
- User Name: Your id
- Password: For User Name, optional
- Connection:
Cradle/Cable
- Service:
- Detail (Screen 2)
- Connection Type:
PPP
- Idle timeout:
Never
- Query DNS: Checked or enter your DNS data
- Ip Address: Checked (Automatic)
- Connection Type:
- Script (Screen 3) is a minimal script
End:
Setup HotSync to use the network connection. From the HotSync Application select the Primary Pc Setup menu. Enter the name and address of the PC you will be synchronizing to.
Synchronizing over PPP
Setup your desktop application to use the network. For JPilot, set the Serial Port to other, and enter net:
in the address field. For Gnome-Pilot, set the Device Type to Network. Prepare to synchronize. On the Palm, perform the HotSync as follows:
- Select
HotSync
; - Select
Modem
; - Ensure the Service is
Unix
; and - Select the
HotSync
icon.
Enabling Network access with Shorewall
I use Shorewall to configure my firewall. It is configured with a number of easy to understand configuration files. The following steps will provide access to the Internet using NAT (Network Address Translation) on the Linux server. The configuration files are all in /etc/shorewall. If you are setting up Shorewall, get Shorewall working for the server first. The one-interface example is a nice starting point. These additions allow the palm to access the Internet.
- Edit shorewall.conf and ensure that
IP_FORWARDING = YES
. - Edit zones to add a zone reading
palm ipv4
. - If you are not already using PPP interfaces edit interfaces to add a line reading
- ppp+
. - Edit hosts to add a line reading
palm ppp+:192.168.168.192
- Edit masq to ad a line reading eth0 192.168.168.192. (Substitute your network interface for eth0 if necessary.
- Edit rules, and add rules to allow the palm to access the desired services and/or
- Edit policy to allow the palm to access the desired networks.
Check your Shorewall configuration (shorewall check
), and reload your Shorewall configuration (shorewall restart
)